애자일(Agile) 방법론은 오늘날 많은 기업에서 사용하고 있는 방법론이다. 대부분의 IT 조직 개발 환경은 애자일 방법론의 영향을 받았고 실천하고 있다고 해도 과언이 아니다. 애자일 방법론의 출발은 소프트웨어 개발 방식이었지만 이제는 제품 개발을 넘어 하나의 일하는 방식, 워크플로우로 자리 잡았다.
워터폴(Waterfall) 방법론은 폭포수 방법론이라고도 불리며 각 작업이 폭포처럼 위에서 아래로 떨어지는 단계별 개발 방법론이다. '요구사항 정의(설계) -> 디자일 -> 개발 -> 테스트 -> 배포'의 과정이 순차적으로 진행되며 이전 단계가 그 다음 단계로 떨어지게 된다. 애자일 방법론 등장 이전까지 소프트웨어 개발 뿐만 아니라 산업 현장에서 보편적으로 사용되던 프레임워크이다.

1-1. 요구사항 정의(설계)
프로세스의 가장 첫번째 단계로 고객의 문제를 정의하고 요구사항을 문서화하여 정리하는 단계이다. 어떤 작업이 필요한지, 필요한 리소스는 무엇인지, 우선순위는 무엇인지 등을 계획하는 단계이다. 요구사항이 명확해야 프로젝트를 시작하고 무사히 완성될 수 있기 때문에 요구사항을 분석하고 문서를 정리하는 데에 많은 시간과 노력이 소요된다.
1-2. 디자인
요구사항 정의 단계에서 정리한 요구사항을 충족할 수 있는 제품을 설계하는 단계이다.
1-3. 개발
디자인 단계에서 설계한 내용에 따라 제품을 구현하고 만드는 단계이다.
1-4. 테스트
만들어진 제품 기능이 제대로 작동하는지 테스트하는 단계이다.
1-5. 배포
최종적인 결과물이 출시되고 사용자에게 소프트웨어가 배포되는 단계이다.
90년대 이후, 워터폴 방식은 한계가 드러나기 시작한다. 인터넷 기술이 발달하고 개인 PC 보급이 늘어나면서 고객의 요구는 빠르게 변했지만 소프트웨어 개발은 이러한 요구사항에 민첩하게 대응하지 못했다. 속도, 변화에 취약했고 문제가 발생했을 때 이전 단계로 되돌리기 어렵다는 워터폴 방법론의 단점은 크게 부작되었다. 경직된 워터폴 방법론에 대한 대안으로 생겨난 것이 바로 애자일 방법론이다.
애자일(Agile)은 '기민한, 민첩한'이라는 뜻으로 일정한 주기를 가지고 빠르게 제품을 출시하여 고객의 요구사항, 변화된 환경에 맞게 요구를 더하고 수정해나가는 탄력적인 방법론을 말한다.
일반적으로 오늘날 많은 기업에서 스크럼(Scrum)과 같은 애자일 프로세스를 주로 활용한다. 짧은 사이클로 제품을 개발하고 테스트하며 피드백을 받아 보완하는 방식을 말한다. 변화에 수동적으로 대응하기보다 변화를 하나의 고정값으로 전제하여 1~4주의 작은 스프린트 단위로 디자인 -> 개발 -> 테스트를 진행한다.

