웹 페이지, 서버, 모바일 앱등 세상에는 다양한 다양한 소프트웨어가 있다. 그리고 이러한 소프트웨어를 개발하기 위한 다양한 방법론이 있다. 그 중에서 폭포수, 애자일 개발론을 살펴볼것이다.
폭포수는 위에서부터 밑으로 내려온다. 밑에서 부터 위로 갈 수 없으며 무조건 위에서 부터 밑으로 간다.
즉, 순차적이다.
그리고 밑에서 위로 갈 수 없다.
즉, 이전 단계로 돌아갈 수 없다.
폭포수 모델은 각 단계가 이전 단계의 결과에 기반을 두고 순차적으로 진행된다.

내가 생각한 폭포수 모델 방법론의 장단점은 다음과 같다
장점
단점
사용하기 좋은 경우
애자일은 "민첩한"이라는 뜻이다. 먼가 빠르게 한다는 느낌이 든다.
애자일은 스프린트를 반복하며 진행한다.

위 사진을 보면 소프트웨어를 조각으로 잘게 쪼개서 각 조각마다 "스프린트"라는 하나의 주기를 만들어 반복하는 것이다.
내가 생각한 애자일 방법론의 장단점은 다음과 같다.
장점
단점
사용하기 좋은 경우
애자일은 소프트웨어를 기능별로 나누고 스프린트를 나눈다. 그리고 스프린트에서 워터풀에서 수행되는 전체 과정을 수행한다. 즉, 워터풀은 소프트웨어 자체를 계획 → 요구분석 → 설계 → 구현 → 테스트 → 유지보수를 진행하고 애자일은 소프트웨어를 스프린트 단위로 나누어 스프린트 마다 계획 → 요구분석 → 설계 → 구현 → 테스트 → 유지보수를 진행하는 것이다.
정리하자면 폭포수 모델은 소프트웨어 통째로 진행하고 애자일 모델은 소프트웨어를 조각으로 나눈다음에 조각별로 진행을 하는 것이다.
애자일 방법론과 워터폰 방법론 중 정답은 없다. 팀의 상황에 맞게 적합한 방법을 고르는 것이 팀에 어울리는 방법론이며 가장 중요하다. :)