애자일
은 신속한 반복 작업을 통해 실제 작동 가능한 소프트웨어를 개발하여 지속적으로 제공하기 위한 소프트웨어 개발 방식
이다.
핵심
은 작동하는 소프트웨어의 작은 구성 요소를 신속하게 제공하여 고객의 만족도를 개선하는 것이며,
특징
은 적응형 접근방식
과 팀워크를 활용한 지속적인 개발
이다.
또한 애자일개발은 경량화 방식을 선호하며, 모든 단계에서 변화를 적극 수용한다.
일련의 선형적 순서로 구성하는 워터폴(waterfall)방식의 프로세스 관리에 대응하여 나온 것이 애자일이며, 4가지의 주요 특성을 가진다.
개인과 개인간의 상호작용
이 프로세스 및 툴 보다 우선작동하는 소프트웨어
가 포괄적인 문서보다 우선고객과의 협업
이 계약 협상보다 우선변화에 대응
하는것이 계획을 따르는것보다 우선순차적으로 개발단계를 진행하는 워터폴과는 다르게 애자일
은 개발
과 테스트
를 동시에 연속적인 프로세스로 추진할 수 있고, 동시에 여러 시퀀스를 지원한다.
일반적으로는 오늘날 많은 기업에서는 스크럼(Scrum)
과 같은 애자일 프로세스를 주로 활용한다고 한다.
짧은 사이클로 제품을 개발하고 테스트하고 피드백을 받아 보완하는 방식이며, 변화에 수동적으로 대처하기보다 변화
를 하나의 고정값
으로 전제하여 1~4주 작은 스프린트 단위로 디자인 → 개발 → 테스트를 진행이 된다.
애자일 방법론의 가장 큰 장점은 빠른 속도
와 유연함
이다.
워터폴(폭포수)과 다르게 첫 단계에서 모든 요구사항을 계획하고 분석하지 않기 때문에 디자인, 개발, 배포까지 신속하게 완수할 수 있다.
계획에 의존하지 않고 일정한 주기마다 그때그때 요구사항을 반영하고 수정하여 시장과 고객의 변화에 대응하기 쉽다.