성공적인 소프트웨어 신상품 개발가이드
폭포수 모델과 애자일 모델을 구분하는 대표적인 요인은 불확실성을 관리하는 방법이다. 상품개발의 불확실성은 상품요구사항의 불확실성(what)과 엔지니어링 기술의 불확실성(how)으로 구분된다. 신기술이나 새로운 방법론을 적용하지 않으면 기술 불확실성은 낮고 상품 요구사항 불확실성만 남는다.폭포수 모델은 프로젝트 착수 초기에 모든 상품요구사항을 상세하게 정의하고 프로젝트를 진행하면서 기술적 불확실성을 낮추는 반면, 애자일 모델은 착수 초기에 요구사항의 불확실성과 기술의 불확실성이 높음을 인정하고 프로젝트를 진행하면서 둘 다 조금씩 낮춘다.
폭포수 모델에서는 프로젝트 착수시점에서 전체 상품요구사항을 상세하게 정의 한 뒤 전체 상품 요구사항에 대한 분석, 설계, 개발, 통합테스트를 순차적으로 수행한다.
애자일 모델에서는 착수시 모든 상품요구사항을 상세하게 정의하지 않고, 일부 요구사항을 정의하고 해당 요구사항 구현을 위한 분석/설계/개발/테스트를 수행한다.
[폭포수 상품개발 계획]
상품개발 계획의 핵심은 구현할 상품 요구사항, 개발일정, 투입공수를 결정하는 것이다. 이하에서는 상품 요구사항, 개발일정, 투입공수 결정을 중심으로 폭포수 상품개발 계획수립과 애자일 상품개발 계획을 비교한다.폭포수 상품개발 계획수립은 전체 개발계획을 상향식으로 확정한다. 이 방식에서는 착수 시점에서 모든 요구사항을 상세하게 정의하고, 상세한 개발계획을 수립하여 계획기반의 관리를 하고자 한다.
폭포수 상품개발 계획수립의 순서는 다음과 같다.
① 도출된 상품 요구사항 개발을 위한 상세 작업(WBS)을 정의한다.
② 인력운영 계획을 참조하여 각 작업 수행을 위한 공수와 기간을 추정한다.
③ 작업기간, 작업수행 순서, 마일스톤을 고려하여 프로젝트 일정을 결정한다.
PMBOK에서 제시하는 프로젝트 계획수립의 순서는 아래 그림과 같다.
애자일 상품개발 계획수립은 릴리즈 계획을 하향식으로 정의한 뒤, 스프린트 계획을 상향식으로 확정하는 점진적 상세화 계획수립 방법이다. 애자일 상품개발 계획에서는 아래 그림과 같이 점진적으로 상세화 하기에 요구사항 변경에 유연하게 대응할 수 있다.
애자일 상품개발 계획수립의 순서는 다음과 같다.
- 릴리즈 계획수립
① 도출된 상품 요구사항의 규모를 파악하기 위해 스토리 점수를 추정한다.
② 개발팀에서 적용할 스프린트 주기(길이)를 결정한다.
③ 개발팀의 평균 개발속도를 결정한다. (각 스프린트에서 개발할 평균 스토리 점수)
속도를 추정하는 방법은 과거 실적데이터를 활용하는 방식과 직접 스프린트를 해보고 계산하는 방식이 있다.
④ 상품 요구사항의 우선순위와 속도를 고려하여 각 스프린트 별로 구현할 상품 요구사항을 확정한다. 스프린트에 할당하지 못하는 상품 요구사항은 상품 백로그(요구사항 관리대장)에서 관리하다 프로젝트를 진행하면서 개발할 스프린트를 결정한다.
⑤ 전체 프로젝트 일정계획을 확정한다.
- 스프린트 계획수립
① 스프린트 착수 전 스프린트의 개발목표를 정의한다.
② 해당 스프린트에서 개발할 요구사항과 요구사항 구현을 위해 필요한 작업(화면 설계, 테스트 등)을 구체화 한다.③ 각 작업의 일정과 담당자를 결정한다.
https://brunch.co.kr/@kbhpmp/160