폭포수(WATERFALL)방법론은 그림에서 알 수 있듯이 소프트웨어 개발 단계가 위에서 부터 아래로 폭포에서 물이 떨어지듯이 순차적으로 진행됩니다.
폭포수 방법론은 한단계씩 진행함에 따라 다시 이전 단계로 가지 않고 계속 진행하기에 다음 단계로 가기전에 완벽하게 요구사항을 반영하여 개발했다는 것을 전제로 합니다.
요구사항 분석 → 설계 → 구현 → 검증(테스트) → 유지보수
애자일(AGILE)방법론은 폭포수(WATERFALL)방법론과 다르게 소프트웨어 개발 단계를 명확하게 구분하지 않고 각 단계를 반복적으로 수행하면서 진행합니다. 이때 요구사항을 추가하거나 제외하면서 소프트웨어를 개발하게 됩니다.
잦은 요구사항의 변경이나 큰 프로젝트를 맡게 되어 요구사항 분석 및 설계를 완벽하게 하기 어려운 경우, 애자일(AGILE)방법론은 폭포수(WATERFALL)방법론보다 적합한 개발 방법론이 될 수 있습니다.
스크럼(Scrum)은 프로젝트 관리를 위한 상호,점진적 개발방법론이며, 애자일 소프트웨어 개발 중의 하나입니다.
제품 백로그(Product Backlog)
개발할 제품에 대한 요구 사항 목록
스프린트 백로그(Sprint Backlog)
각각의 스프린트 목표에 도달하기 위해 필요한 작업 목록
스프린트(Sprint)
반복적인 개발 주기 (회사에서 정하는 이터레이션이 개발 주기가 된다. 계획 회의 부터 제품 리뷰가 진행 되는 날짜 까지의 기간이 1스프린트입니다.)
일일 스크럼 회의(Daily Scrum Meeting)
날마다 진행되는 미팅 (어제 한일, 오늘 할일, 오류 등을 공유)
- 제품에서 요구하는 기능과 우선순위를 제품 백로그로 정한다.
- 제품 책임자가 정한 제품의 우선순위에서 어디까지 작업을 할지 팀과 조율 한다.
조율하여 선정된 제품 백로그가 이번 스프린트의 목표가 된다.- 스프린트 목표를 구현 가능 하도록 팀에서 스프린트 백로그를 작성한 뒤 작업을 할당한다.
- 스프린트를 진행하는 동안, 매일 정해진 장소와 시간에 모든 개발 팀원이 참여하는 일일 스크럼 회의를 가진다.
- 매회의 스프린트가 종료할 때마다, 스프린트 리뷰 미팅을 통해 만들어진 제품을 학습하고 이해 한다.
- 제품의 학습과 이해가 끝나면, 스프린트 회고를 통해 팀의 개발 프로세스에 대한 개선의 시간을 갖는다.
- 스프린트 기간 중 다음 스프린트를 준비 하기 위해 제품 책임자와 필요 인원이 모여 백로그를 준비하는 시간을 갖는다.
( 제품 책임자(Product Owner): 제품 백 로그를 정의하여 우선순위를 정해 준다. )