전통적 개발 방식은
- 초기 요구 분석과 설계가 과도하게 크고
- 개발 도중 변경이 생기면 비용이 커지고
- 완성된 뒤에야 제품을 볼 수 있다는 문제점이 있었다.
애자일은 이 문제들을 해결하기 위해
2001년 애자일 선언문을 바탕으로 만들어진 방법론이다.
핵심은 빠르게 만들고,
빠르게 피드백을 받고,
빠르게 방향을 조정하는 것이다.
짧은 주기(2~6주)의 반복 개발로
빠르게 실행 가능한 소프트웨어를 만든 뒤,
매 반복마다 피드백을 받고 개선해나가는 방식이다.
[ 애자일 모델의 핵심 가치 ]
애자일 선언문에서 강조한 네 가지 가치이다.
- 문서보다 커뮤니케이션을 우선한다.
- 문서가 아닌 실행되는 소프트웨어로 요구를 확인한다.
- 요구사항은 언제든 변할 수 있다고 가정한다.
- 짧은 반복 주기마다 반성하고 다음 계획에 반영한다.
[ 애자일 모델의 주요 특징 ]
1) 짧은 개발 주기 반복
한 번에 거대한 시스템을 만드는 것이 아니라
2~6주의 스프린트로 나눠 점진적으로 완성한다.
2) 우선순위 기반 개발
모든 기능을 한 번에 만드는 것이 아니라
가장 중요한 기능부터 만든다.
3) 유연한 범위 변경
전통 방식처럼 “기능 범위 고정”이 아니라
범위는 계속 바뀌어도 된다.
대신 품질·비용·일정은 최대한 맞춘다.
4) 협업 중심의 팀 구성
개발 / 기획 / QA 로 쪼개 분업화하는 구조가 아니라
한 팀으로 움직이며 함께 제안하고 함께 수행한다.
장점
- 소프트웨어를 빠르게 배포할 수 있어 즉각적인 고객 피드백을 얻을 수 있다.
- 낭비 요소가 적고 항상 가장 필요한 것부터 작업한다.
- 문제와 결함을 빨리 발견한다.
- 문서 과정을 줄여 개발 속도와 유연성이 매우 높다.
단점
- 문서화가 부족해 새로운 인원이 적응하기 어렵다.
- 개발자·고객 모두 지속적인 참여와 소통이 필요하다.
- 요구가 계속 바뀌면 프로젝트가 끝없이 늘어질 위험이 있다.
- 전체 구조(아키텍처·UX)가 약해져 장기적 일관성이 떨어질 수 있다.
[ 대표적인 애자일 방법론 ]
1) 익스트림 프로그래밍 (XP)
소규모 팀에 적합한 민첩한 방법론이다.
대표 특징은 다음과 같다.
- 사용자 스토리로 기능 정의
- 매일 빌드 & 통합
- 테스트 주도 개발(TDD)
- 페어 프로그래밍
2) 크리스탈 (Crystal)
프로세스보다 사람·커뮤니케이션을
더 중요하게 보는 방법론이다.
- 문서보다 대화 중심
- 프로젝트 크기에 따라
Clear → Orange → Red 등으로 구분 - 팀의 재량과 상호신뢰가 기반
3) 스크럼 (Scrum)
현재 가장 널리 쓰이는 애자일 방법론으로
스프린트 짧은 단위 반복 개발이 핵심이다.
스크럼 팀 역할
- 프로덕트 오너 : 요구 정의 & 우선순위 관리
- 스크럼 마스터 : 팀 조율 및 스크럼 가이드
- 개발팀 : 3~10명 정도의 실제 개발 담당
주요 이벤트
- 스프린트 계획 회의
- 일일 스크럼(15분 데일리 미팅)
- 스프린트 리뷰
- 스프린트 회고
스프린트 산출물
- 프로덕트 백로그
- 스프린트 백로그
- 동작하는 소프트웨어
- 번다운 차트
'개주 훈련일지 > 📚 코살대 교본 학습' 카테고리의 다른 글
| 소프트웨어 개발 방법론 (0) | 2025.12.01 |
|---|---|
| 추상 클래스와 추상 메서드 / 인터페이스 (0) | 2025.11.30 |
| 소프트웨어 개발 프로세스의 전통적인 모델 (0) | 2025.11.15 |
| 소프트웨어 개발 프로세스 (1) | 2025.11.11 |
| 다형성 / instanceof / 오버로딩과 오버라이딩 (0) | 2025.11.10 |