Agile 방법론

Waterfall 워터폴

post_thumbnail

  • 요구분석 → 설계 → 디자인 → 코딩 → 개발 순으로 순차적으로 이어지는 흐름
장점 단점
* 오랜 기간 사용되어 적용 사례 많음
* 단계별로 정형화된 접근방식을 사용하기 때문에 기술적인 위험 요소가 적음
* 정해진 순서대로 각 파트의 업무가 분장되고 관리되기 때문에 프로세스 상의 마일스톤을 정하는 것이 비교적 쉬운 편
* 실제로 각 단의 경계를 명확히 구분하고, 앞선 파트의 업무가 완전히 끝난 후 다음 단계를 시작하는 것이 거의 불가능
* 거의 완성 단계에 있을 때에서야 고객이 피드백을 주기 시작하고, 이미 지나온 단계에 수정이 필요한 상황 발생

Agile (= 기민한, 날렵한)

post_thumbnail

  • 전체적인 플랜을 짜고 문서를 통해 주도해 나가던 과거의 워터폴 방법의 한계를 해결하기 위해 고안
  • 일정한 주기를 가지고 끊임없이 프로토 타입을 만들어 내며 필요할 때마다 요구사항을 더하고 수정하여 커다란 소프트웨어를 개발해 나가는 방식
  • 프로토 타입이 계속해서 생산됨으로 고객이 개발과정에 참여할 수 있는 여지가 커짐
    • 고객이 기능이 실제로 구동되는 모습을 확인하고, 수정요청을 하거나 다음 단계로 넘어가는 긴밀한 관계 형성
  • Less Document-Oriented - 문서를 통한 개발 비지향
  • Code-Oriented - 실질적인 코딩을 통한 방법론
애자일 4가지 특성
개인과 개인 간의 상호작용이 프로세스 및 툴보다 우선
작동하는 소프트웨어가 포괄적인 문서보다 우선
고객과의 협업이 계약 협상보다 우선
변화에 대응하는 것이 계획을 따르는 것보다 우선

애자일 vs. 워터폴

워터폴 모델 (Waterfall Model) 애자일 모델 (Agile Model)
초기에 미리 정의된 요구사항
미리 요구사항을 파악하고 프로젝트 전체에 대한 분석이 가능
프로젝트 과정에 걸쳐 생기는 요구사항
미리 모든 요구사항을 알 수 없다는 가정하에 시간적 변화를 인지하고 지속적으로 요구사항을 수렴
큰 릴리즈
정형화된 프로세스에 따라 주기 별 릴리스, 업데이트가 비교적 느림
작고 빠른 릴리즈
고객이 원하는 것을 파악하여 가능한 빨리 니즈를 충족 시키는 것을 중요시
계획중심
프로젝트에 대하여 완벽한 계획을 수립하고 진행
학습 중심
최소한의 지식으로 시작하여 단계를 거듭, 학습
적은 의사소통
문서중심의 방법론으로 문서에 근거하여 프로젝트를 수행: 문서 중심
많은 의사소통
프로젝트 팀 간, 고객 간의 많은 의사소통으로 진행되는 프로젝트: 사람 중심
단계별 개발
초석부터 차근차근 단계를 거쳐 튼튼한 기반의 개발 (하드웨어 적합)
기능별 개발
고객의 니즈를 빠르게 반영하여 개발하는 과정을 짧은 주기로 반복
단계별 산출물 전달
계획 중심적 방법론으로 정해진 단계가 완성됨에 따른 산출물 점검
지속적인 산출물 전달
프로젝트 진행 중 잦은 산출물 공유로 수정사항에 빠르게 대처
마지막 통합
초기 계획이 완전하다는 가정하에 중간 통합 없이 최종 프로세스 수행 후 통합 후 문제점 도출 및 해결
잦은 통합
기능별 완료 시기에 맞춰 잦은 통합과 문제점 도출 및 해결

출처

Categories: ,

Updated: