워터폴
“분석→설계→구현→테스트→유지보수가 순차로 흐르는 전통적 개발 모델.”
워터폴이란 무엇인가
워터폴(Waterfall)은 분석·설계·구현·테스트·유지보수의 단계가 위에서 아래로 순차로 흐르는 전통적 개발 모델이다. 물이 위에서 아래로 떨어지듯 앞 단계가 끝나야 다음 단계로 넘어가며, 각 단계는 명확한 산출물과 완료 기준을 갖는다.
한 단계의 결과가 다음 단계의 입력이 되므로 요구사항이 초기에 충분히 확정될 수 있는 환경에서 강점을 보인다. 구조가 직관적이고 단계별 책임이 분명해, 산출물 검수와 일정 보고가 표준화된 공공·대형 SI 사업에서 오랫동안 기본형으로 자리 잡았다.
순차 흐름의 강점
워터폴의 가장 큰 미덕은 예측 가능성이다. 단계마다 산출물이 고정되므로 일정과 비용을 사전에 산정하기 쉽고, 어느 시점에 무엇이 완료되어야 하는지가 계약과 검수의 기준으로 그대로 연결된다.
문서가 단계별로 축적되어 인수인계와 감리, 추적성 확보에도 유리하다. 발주사와 수행사가 범위를 문서로 합의한 뒤 그 합의에 따라 진척을 검증하는 구조이기 때문에, 책임 소재를 가르고 분쟁을 줄이는 데에도 효과적이다.
요구사항이 비교적 안정적이고 규제·검수가 중요한 사업일수록 이 명료함의 가치가 커진다.
되돌아가기 어려운 구조
단계가 순차로 고정된다는 특성은 곧 약점이기도 하다. 구현이나 테스트 단계에 이르러 초기 요구사항의 오류나 누락이 드러나면, 이미 흘러내려온 물을 거슬러 올리듯 앞 단계로 되돌아가는 비용이 매우 크다.
분석 단계의 작은 오해가 후반부에서 큰 재작업으로 증폭되는 경우가 흔하다. 사용자가 동작하는 결과물을 처음 접하는 시점이 후반의 테스트 단계에 몰려 있어, 피드백 반영이 늦고 변경 수용 여지가 좁다.
이런 한계가 반복적·점진적 접근을 추구하는 애자일이 부상한 배경이 되었다.
| 개발 단계 | 대응 시험 | 검증 단위 |
|---|---|---|
| 요구분석 | 인수시험 | 전체 요건 |
| 기본설계 | 통합시험 | 모듈 연계 |
| 상세설계 | 단위시험 | 개별 기능 |
V자 모델로의 확장
워터폴의 검증 약점을 보완하기 위해 각 개발 단계에 대응하는 시험 단계를 짝지은 V자 모델이 파생되었다. 요구분석에는 인수시험을, 기본설계에는 통합시험을, 상세설계에는 단위시험을 대응시켜, 만들어가는 방향과 검증해가는 방향을 한 쌍으로 묶는 방식이다.
이렇게 하면 어느 산출물이 어느 시험으로 확인되는지가 명확해져 품질 활동의 누락을 줄일 수 있다. 워터폴이 단계의 순서를 강조한다면, V자 모델은 그 순서 위에 검증의 대응 관계를 더해 추적성을 강화한 형태로 이해할 수 있다.
애자일·CBD와의 자리매김
워터폴을 무조건 낡은 방식으로 치부하는 것은 실무에서 정확하지 않다. 요구사항 변동이 잦고 시장 반응을 빠르게 흡수해야 하는 영역에서는 애자일의 반복 주기가 유리하지만, 요건이 확정적이고 검수·감리 절차가 엄격한 사업에서는 워터폴의 명료한 단계 구분이 여전히 적합하다.
재사용 컴포넌트를 조립하는 CBD 방법론처럼, 다른 접근과 단계를 부분적으로 결합해 운영하는 혼합형도 현장에서 널리 쓰인다. 방법론 선택은 우열의 문제가 아니라 요구사항의 안정성과 계약 구조에 맞춘 적합성의 문제다.
적용 판단의 기준
워터폴을 채택할지 판단할 때 핵심 변수는 요구사항이 초기에 얼마나 확정될 수 있는가이다. 요건이 명확하고 변동 가능성이 낮으며 산출물 단위 검수가 계약의 근간이라면 워터폴의 예측 가능성이 강점으로 작동한다.
반대로 요건이 유동적이고 사용자 피드백을 자주 반영해야 한다면 후반 변경 비용이 발목을 잡는다. 따라서 PM은 방법론을 먼저 정하고 사업을 끼워 맞추기보다, 사업의 성격을 먼저 진단한 뒤 단계 흐름과 검증 구조를 조율하는 순서로 접근해야 한다.
이 판단의 정확도가 곧 일정·품질 리스크를 좌우한다.
관련 용어