소프트웨어를 개발하기 위해 정의하고 운용, 유지보수 등의 과정을 각 단계별로 나눈 것
타당성 검토 -> 계획 -> 요구 분석 -> 설계 -> 구현 (코딩) -> 시험 (검사) -> 유지보수
이전 단계로 돌아갈 수 없다는 전제하에 각 단계를 확실히 매듭짓고 그 결과를 철저하게 검토하여 승인 과정을 거친 후에 다음 단계를 진행
가장 오래되고, 가장 폭넓게 사용된 전통적인 소프트웨어 생명 주기 모형
한 단계가 끝나야만 다음 단계로 넘어갈 수 있는 선형 순차적 모형
메뉴얼 작성이 필수
기밀한, 민첩한
좋은 것은 빠르고 낭비 없게
고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발과정을 진행
애자일 개발 4가지 핵심 가치
- 프로세스의 도구보다는 개인과 상호작용에 더 가치를 둔다.
- 방대한 문서보다 실행되는 SW에 더 가치를 둔다.
- 계약 협상보다는 고객과 협업에 더 가치를 둔다.
- 계획을 따르기 보다는 변화에 반응하는 것에 더 가치를 둔다.
구분 | 폭포수 | 애자일 |
---|---|---|
새로운 요구사항 반영 | 어려움 | 지속적으로 반영 |
고객과의 소통 | 적음 | 지속적임 |
테스트 | 마지막에 모든 기능 테스트 | 반복되는 일정 주기가 끝날 때마다 |
개발 중심 | 계획, 문서 (메뉴얼) | 고객 |