기타

애자일과 워터폴 개발 프로세스

woo0doo 2023. 8. 13. 15:54

애자일(Agile) 방법론은 오늘날 많은 기업에서 사용하고 있는 방법론이다. 현재 대부분의 IT 조직 개발 환경은 애자일 방법론의 영향을 받았고, 실천하고 있다고해도 과언이 아니다. 애자일 방법론의 출발은 소프트웨어 개발 형식이었지만 이제는 제품 개발을 넘어 하나의 일하는 방식, 워크플로우로 자리 잡았다.


전통적인 워터폴 방법론

워터폴 방법론은 폭포수 방법론이라고도 불리며 이름에서도 알 수 있듯이 각 작업이 폭포처럼 위에서 아래로 떨어지는 단계별 개발 방법론이다.

그 단계는 다음과 같다.

  • 요구사항 정의(설계) → 디자인 → 개발 → 테스트 → 배포

위의 과정이 순차적으로 진행되며 이전 단계가 그다음 단계로 떨어지게 된다. 애자일 방법론이 등장하기 전까지는 소프트웨어 개발 뿐 아니라 자동차, 선박 등 산업 현장에서 보편적으로 사용되던 프레임워크이다.

워터폴 방법론 장단점

워터폴 방법론은 단계별로 업무를 분담하기 때문에 맡은 바가 명확하다는 장점이 있다. 계획 단계의 문서화로 단계마다 소요되는 시간이나 현재 상황을 추적하고 병목을 파악하기도 쉽다.

 

하지만 속도가 느리고 유연하지 못하다는 단점이 있다. 아래에선 위에서 물이 떨어질 때까지 마냥 기다리고 있어야 한다던가, 떨어진 요구사항대로 기능을 만들었으나 수 개월이 지난 시점에서는 시장 상황이 변해 더 이상 고객이 그 기능을 필요로 하지 않는 경우도 발생할 수 있다.


워터폴의 한계로 등장한 애자일 방법론

애자일 방법론이란?

애자일(Agile)은 ‘기민한, 민첩한’이라는 뜻으로 일정한 주기를 가지고 빠르게 제품을 출시하여 고객의 요구사항, 변화된 환경에 맞게 요구를 더하고 수정해나가는 탄력적인 방법론을 말한다.

애자일 소프트웨어 개발 선언

  • 공정과 도구보다 개인과 상호작용을
  • 포괄적인 문서보다 작동하는 소프트웨어를
  • 계약 협상보다 고객과의 협력을
  • 계획을 따르기보다 변화에 대응하기를

~ 가치있게 여긴다.

이 말은, 왼쪽에 있는 것들도 가치가 있지만, 우리는 오른쪽에 있는 것들에 더 높은 가치를 둔다는 것이다.

애자일 방법론 프로세스

일반적으로는 오늘날 많은 기업에서는 스크럼(Scrum)과 같은 애자일 프로세스를 주로 활용한다. 짧은 사이클로 제품을 개발하고 테스트하고 피드백을 받아 보완하는 방식인데, 변화에 수동적으로 대처하기보다 변화를 하나의 고정값으로 전제하여 1~4주 작은 스프린트 단위로 디자인 → 개발 → 테스트를 진행한다.

  • 스크럼
  • 스크럼은 팀이 자체적으로 조직하고 일반적인 목표를 달성하도록 협업하기 위한 관리 프레임워크이다. 이를 통해 효율적인 프로젝트 전달을 위한 일련의 회의, 도구, 역할이 설명된다. 대형 시합을 위해 준비하는 스포츠 팀처럼 스크럼 연습을 통해 팀은 스스로 관리하고, 경험으로부터 배우며, 변화에 맞게 조정하게 된다. 소프트웨어 팀은 스크럼을 사용해 복잡한 문제를 비용 효율적이며 지속적으로 해결할 수 있다.

애자일 방법론 장단점

애자일 방법론의 가장 큰 장점은 빠른 속도와 유연함이다.

고전적인 폭포수 방법론과 다르게 첫 단계에서 모든 요구사항을 계획하고 분석하지 않기 때문에 디자인, 개발, 배포까지 신속하게 완수할 수 있다. 계획에 의존하지 않고 일정한 주기마다 그때그때 요구사항을 반영하고 수정하여 시장과 고객의 변화에 대응하기 쉽다.

이는 제품을 배포하고 고객의 피드백에 따라 빠르게 보완해 나가는 것이 필요한 스타트업에 적합한 방법론이다.


워터폴 VS 애자일