폭포수 방법론
요구사항 분석 → 설계 → 구현 → 테스트 → 유지보수
소프트웨어 개발 단계가 위에서부터 아래로 폭포에서 물이 떨어지듯 순차적으로 진행
한 단계씩 진행하고 다음 단계로 가기 전에 완벽하게 요구사항을 반영하여 개발하기 때문에 이전 단게로 돌아가지 않는다.
장점: 수직적으로 진행되기 때문에 각 과정에 대한 이해가 용이
단점: 개발 도중 요구사항이 변경되었을 경우 처음부터 다시 진행하기 때문에 추가적인 시간이 들게 된다
애자일(Agile) 방법론
소프트웨어 개발 단계를 명확하게 구분하지 않고 각 단계를 반복적으로 수행하며 진행한다
회의를 통해 스프린트 개발 주기를 정한 뒤 이 주기마다 회의 때 정했던 계획을 구현한다
요구사항을 추가하거나 제외하면서 소프트웨어를 개발한다
장점: 요구사항 변경 시 반영이 용이하고 지속적으로 테스트되기 때문에 개발 초기에 버그를 발견할 수 있다
단점: 폭포수 방법론에 비해 체계화된 문서가 적을 수 있다