2017년 2월 21일 화요일

프로그램(Program) 단위 개발과 점진(Increment) 단위 개발

SI는 개발을 프로그램 단위로 한다. 프로그램 ID를 순서대로 개발하고 시스템을 완성해 나가는 방식이다. 물론 필요에 따라 프로그램 ID 순서와 관계없이 개발하는 경우도 있지만 중요한 방향성은 단위 프로그램을 개발하고 완료된 프로그램들을 모아서 시스템으로 구성하는 것이다.
애자일은 점진 단위로 개발한다. 하나의 스토리를 먼저 구성해 놓고 스토리를 점진적으로 완성해 나가는 방식이다(그림4). 하나의 스토리를 완성하게 되면 고객의 확인을 받아 최종 개발 완료(Done)된 건으로 분류하여 관리하게 된다.

<그림4> 애자일의 점진적 개발
출처: Agile methods for better and faster UX solutions

점진 단위 개발의 장점은 점진적 개발이 완료되면 개발자나 고객이 이해하기 좋은 스토리 단위로 완성이 된다는 점이다. 프로그램 단위 개발은 프로그램 하나가 개발이 되어도 개발자 말고는 이해하기 어렵기 때문에 시스템이 완료되어 통합테스트가 끝나기 전까지 개발자나 고객이 제대로 개발되었는지 확인하기 어렵다.
실제 애자일을 적용한 경우에도 스토리 별 점진적 개발이 이루어지지 않으면 프로젝트 내에서 리뷰와 피드백 활동이 어렵게 된다. 사용자 스토리 워크샵이나 프로젝트 초기에 스토리 정의가 매우 중요하다.


더보기