Agile Software Development 방법론

전통적인 개발 방식인 계획, 분석, 설계, 구현등의 각 단계가 확실히 끝날 때까지 매듭 짓고 넘어가는 폭포수 모델과 달리 필수적인 기능을 먼저 구현하고 고객의 요구에 따라 그때그때 주어진 문제에 민첩하게 대응하는 애자일 모델에 대해 포스팅했다.

1. 폭포수 모델과 애자일 모델


agile1

폭포수 모델은 요구사항 -> 디자인 -> 개발 -> 테스트 -> 배포의 순으로 하향식으로 진행되며 하나의 큰 결과물을 만들어 내는 전통적인 개발 방식이고 애자일 모델은 요구사항이 계속해서 추가될 수 있고 그에 따라 진행 과정이 유동적으로 바뀌며 여러개의 작은 목표들을 누적해서 결과물을 만들어 내는 개발 방식이다.

2. 애자일 모델의 원칙


애자일 모델에는 여러가지 원칙이 있다. 하나씩 살펴보면

요약하자면 애자일 모델은 사용자로부터의 요구사항에 적극적으로 대응하고 그 요구사항을 반영한 소프트웨어를 정기적으로 배포하여 사용자의 피드백을 받아 개선시키고 소프트웨어의 질을 향상시킨다.

3. 애자일 방식의 비전과 느낀점


agile2 애자일 방식은 다른 개발 방법론에 비해 단순하고 실천 지향적이며 신속한 협조와 조율이 가능하다. 소프트웨어 개발에서 더 많은 유저의 요구사항과 피드백에 민첩하게 대응하고 주기적으로 유저에게 확인시켜 줄 수 있는 소프트웨어를 배포하기 위해서 애자일 방식은 큰 장점일 것이다. 하지만 작업의 효율성과 높은 품질에 대해서는 보장하지 못할 수 있는 만큼 개발팀은 작업간의 우선순위에 항상 신경쓰고 유저들은 양질의 피드백을 잘 전달하여 서로 상호작용 하는 것이 가장 중요한 것 같다는 생각을 했다.