2017년 2월 24일 금요일

애자일에서의 개발 문화와 재사용 연결

애자일 기반으로 개발을 할 때는 사용자 스토리(Story)를 정의하고 개발 단위인 일(Task)을 만든 후 개발(In Process)을 한다. 개발이 완료되면 테스트(Testing)을 거쳐 사용자와 개발자가 완료가 되었다고 인정하면 완료(Done)을 하게 된다(그림3).

<그림3> 애자일 기반의 개발 프로세스
출처: Technology Unplugged

재사용 관점에서 주목해야 할 부분이 바로 완료(Done)이다. 완료는 단순히 개발을 완료했다는 의미가 아니라 하나의 사용자 스토리나 태스크가 완료되어 더 이상 작업할 필요가 없다는 것을 의미한다. 다시 말해 프로젝트가 종료할 때까지 수정하거나 건드리면 안되는 것을 나타낸다.
이전의 SI(System Integration)에서는 개발이 완료되어도 통합 테스트나 프로덕트 테스트 이후에 수정하는 경우가 많았다. 다시 말해 ‘완료(Done)’이 아니라 ‘거의 완료(Almost Done)’로 봐야한다.
재사용을 위해서라면 객체화, 모듈화, 컴포넌트화가 되어야 하는데 단 한번이라도 수정할 여지가 있다면 재사용 객체라고 할 수 없다. 애자일에서 개발이 완료된 이상적인 태스크는 더 이상 수정이 필요 없고 언제 어디서든 재사용할 수 있어야 한다. 그림4와 같이 애자일 기반으로 스크럼이 수행되면서 좌측 상단에 ‘Done’이 계속 쌓이게 되고 최종 목표로 하는 소프트웨어가 모두 완성이 된다.

더보기