Waterfall 방법론: 한번 떨어지면 돌아갈 수 없는 폭포수처럼, 각 개발 단계를 확실히 매듭짓고 다음 단계로 넘어가는 방법론입니다. 단계가 명확해서 관리하기는 쉽지만, 요구분석에 시간과 비용이 많이 들고 요구사항 변화에 대응이 어렵다는 단점이 있습니다.
Agile 방법론: Waterfall 방법론과 대비되는 방법론으로 변화 수용, 협업, 빠른 인도를 강조하는 반복적 개발 방법입니다. 어느 특정 개발 방법론을 가리키는 말은 아니고 "애자일(Agile=기민한, 좋은것을 빠르고 낭비없게 만드는 것)", 개발을 가능하게 해 주는 다양한 방법론 전체를 일컫는 말입니다. 요구사항 변화에 민첩하게 대응하며 문서화보다 코드, 프로그램 자체를 더 중요시합니다.