2017년 2월 20일 월요일

한번에 개발과 반복(Iteration)을 통한 개발(Sprint)

SI는 프로세스 상 분석, 설계, 개발을 한번에 진행하는 폭포수(Water-fall) 방식을 취한다. 한번에 분석하고 한번에 설계하고 한번에 개발하기 때문에 계획한대로 끝난다면 한번의 프로세스로 마칠 수 있어 시간이 매우 절약될 수 있지만 개발되는 중간이나 이후에도 고객과 의견이 맞지 않아 마찰이 빈번하게 발생한다.
애자일은 3차례 정도 반복해서 개발하는 방식을 취한다. 한번 개발이 끝나는 것을 이터레이션이라고 하고 한번의 스프린트가 완료되었다고 말한다. 스프린트의 단위는 계획(또는 커뮤니케이션), 디자인, 빌드(개발), 테스트, 리뷰로 이루어진다(그림3). SI와 같이 요구사항 분석, 분석, 설계, 개발, 테스트로 구성되어도 무방하다.

<그림3> 애자일 스프린트의 예
출처: 노나카 이쿠지로 - 애자일 개발과 스크럼

스프린트 모델의 장점은 개발 결과물에 대한 고객의 피드백을 받아 반영할 시간이 보장되어 있다는 것이다. 폭포수 모델의 경우 한번 개발이 완료되면 잘 못 개발되었다고 하더라도 수정하기가 매우 어렵다. 반면에 스프린트 모델은 하나의 스프린트가 끝날 때마다 고객에게 제대로 개발되었는지 확인하고 보완사항을 반영하여 다음 스프린트를 수행하게 된다. 일반적으로 3회 정도의 스프린트라면 고객이 만족할만한 개발이 된다고 알려져 있다.
SI에서도 CBD(Component Based Development) 모델이나 애자일 초기 시점에 이터레이션을 활용한 적이 있었지만 크게 성공하지는 못했다. 한번의 이터레이션이 종료될 때 개발의 주체에 고객이 없어 고객의 피드백을 받지 못했기 때문에 이터레이션의 효과를 보지 못했다. 하이브리드 형 애자일도 성공하지 못한 것도 비슷한 이유 때문이었다. 애자일의 기본 방향성은 고객의 참여이기 때문이다.

더보기