전공공부/소프트웨어 설계 (Software Design)

[소프트웨어 설계] XP 기법

jooona 2021. 2. 15. 19:54
반응형

스크럼 기법과 더불어 애자일 모형의 대표적인 개발 기법인 XP(eXtreme Programming) 기법은 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상하는 방법입니다.

 

1. XP 기법이란?

XP 기법은 짧고 반복적인 개발 주기, 단순한 설계, 그리고 고객의 적극적인 참여를 통해 소프트웨어를 빠르게 개발하는 것을 목적으로 합니다. XP의 5가지 핵심 가치로는 의사소통(Communication), 단순성(Simplicity), 용기(Courage), 존중(Respect), 피드백(Feedback)이 있습니다.

 

XP 기법에서 몇 개의 요구사항이 적용되어 부분적으로 기능이 완료된 제품을 제공하는 것을 릴리즈(Release)라고 합니다. XP 기법에서는 이 릴리즈를 최대한 많이 반복하여, 고객이 제시한 요구사항이 잘 반영되고 있다는 것을 더 명확히 확인시켜줍니다. 이때 요구 사항의 신뢰성을 높이고 기술 문제에 대한 위험성을 감소시키기 위해 별도로 만드는 간단한 프로그램을 스파이크(Spike)라고 합니다.

 

2. XP 개발 프로세스

우선 사용자의 요구사항인 스토리를 가지고 릴리즈의 계획을 수립합니다. 이 하나의 릴리즈를 더 세분화한 단위를 이터레이션(Iteration)이라고 하며, 릴리즈 계획을 활용해 이터레이션을 진행합니다. 

 

한 이터레이션이 끝나면 승인 검사를 진행합니다. 스토리 작성 시 함께 작성한 테스트 사항을 가지고 고객이 직접 수행하며, 이 과정에서 발생하는 오류 사항 또는 새로운 요구 사항들은 다음 이터레이션에 반영됩니다. 테스트가 완료되면, 다음 이터레이션을 진행합니다.

 

위에서도 잠깐 언급했듯이, 릴리즈를 최대한 작게 만들고 많이 반복하면, 고객의 반응을 더 확실하게 확인할 수 있고, 새로운 요구사항들에 더 유연하게 대처가 가능합니다. 하나의 릴리즈가 끝나면, 또 고객에게 테스트를 맡기고, 테스트가 종료되면 다음 릴리즈를 시작합니다.

반응형