| 구분 | 워터풀 (Waterfall) | 애자일 (Agile) |
|---|---|---|
| 개발 방식 | 단계별 순차 진행 (요구 → 설계 → 개발 → 테스트 → 배포) | 반복적·점진적 개발 (짧은 주기의 반복) |
| 요구사항 | 초기에 명확히 정의, 이후 변경 어려움 | 개발 중에도 요구사항 변경 가능 |
| 계획 | 전체 프로젝트를 처음에 상세히 계획 | 작은 단위로 계획하고 계속 수정 |
| 고객 참여 | 초기와 최종 단계 중심 | 개발 과정 내내 지속적으로 참여 |
| 테스트 시점 | 개발 완료 후 테스트 진행 | 각 반복 주기마다 테스트 |
| 문서화 | 문서 중심 | 작동하는 소프트웨어 중심 |
| 변경 대응 | 변경 비용이 높고 유연성이 낮음 | 변화에 빠르게 대응 가능 |
| 적합한 프로젝트 | 요구사항이 명확하고 변동이 적은 프로젝트 | 요구사항 변화가 많고 빠른 개발이 필요한 프로젝트 |
| 대표 방법론 | 전통적 소프트웨어 개발 | Scrum, Kanban, XP 등 |