Waterfall 전통적인 개발모델로, 모든 단계를 완벽하게 준비한 후 개발을 진행해 모든 기능의 배포를 한번에 끝낸다. 프로젝트 기간동안 SDLC의 주기를 한 사이클만 돈다 개발 전에 완벽하게 계획을 세워야 하므로 중간에 요구사항의 변화가 생겼을 때 유동적인 대처가 어렵다는 단점이 있다. Agile 소프트웨어의 요구사항은 개발 도중에 자주 변경되는데, 변경된 요구사항에 따른 작업량을 예측하기가 힘들고, 계획과 형식에 지나치게 의존할 경우 전체적인 개발의 흐름이 느려진다는 문제가 있어 Agile 방법론이 대두되었다. 무계획으로 개발하는 것과, 계획에 지나치게 많은 투자를 하는 개발 방법 사이에서 타엽점을 찾고자 고안되었으며, 제한된 시간과 비용 안에서 정보는 불완전하고 예측 불가능하다는 것을 기본 전제로..