애자일 모형
- 애자일은 '민첩한' , ' 기미한' 이라는 의미로, 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발과정을 진행한다.
- 애자일 모형은 어느 특정 개발 방법론이 아니라 좋은 것을 빠르고 낭비 없게 만들기 위해 고객과의 소통에 초점을 맞춘 방법론을 통칭한다.
- 애자일 모형은 기업 활동 전반에 걸쳐 사용된다.
- 애자일 모형은 스프린트(Sprint) 또는 이터레이션(Iteration) 이라고 불리는 짧은 개발 주기를 반복하여, 반복되는 주기마다 만들어지는 결과물에 대한 고객의 평가와 요구를 적극 수용한다.
- 각 개발주기에서는 고객이 요구사항에 우선순위를 부여하여 개발 작업을 진행한다.
애자일 모형을 기반으로 하는 소프트웨어 개발 모형은 아래와 같다.
- 스크럼 (Scrum)
- XP (eXtream Programming)
- 칸반 (Kanban)
- Lean
- 크리스탈 (Crystal)
- ASD (Adaptive Software Development)
- 기능 중심 개발 (FDD: Feature Driven Development)
- DSDM (Dynamic System Development Method)
- DAD (Disciplined Agile Delivery)
✋ 애자일 선언 (Agile Manifesto)
- 2001년 17명의 애자일 전문 개발자가 공통의 관점을 정리해 '애자일 SW개발 선언문 을 만들었습니다.
선언문에는 애자일 개발 철학이 담겨잇는 4가지 핵심 가지와 애자일 개발을 실무에 적용할 때 기준이 되는 12가지 실행 지침이 담겨있는데, 그 내용은 다음과 같습니다.
애자일 개발 4가지 핵심 가치
- 프로세스와 도구보다는 개인과 상호작용에 더 가치를 둔다.
- 방대한 문서보다는 실행되는 SW에 더 가치를 둔다.
- 계약 협상보다는 고객과 협업에 더 가치를 둔다.
- 계획을 따르기 보다는 변화에 반응하는 것에 더 가치를 둔다.
애자일 개발 12가지 실행 지침
- 유용한 소프트웨어를 빠륵고 지속적으로 제공하여 고객을 만족시킨다.
- 개발 막바지라도 요구사항 변경을 적극 수용한다.
- 몇 개월이 아닌 몇 주 단위로 실행되는 소프트웨어를 제공한다.
- 고객과 개발자가 프로젝트 기간에 함께 일한다.
- 개발에 대한 참여 의지가 확실한 사람들로 팀을 구성하고 필요한 개발 환경과 지원을 제공하며, 일을 잘 끝낼 수 있도록 신뢰한다.
- 같은 사무실에서 얼굴을 맞대고 의견을 나눈다.
- 개발의 진척도를 확인하는 1차 기준은 작동하는 소프트웨어이다.
- 지속 가능한 개발을 장려하고 일정한 속도로 개발을 진행한다.
- 기술적 우수성과 좋은 설계에 지속적인 관심을 기울이면 민첩성이 향상된다.
- 단순화를 추구한다.
- 최상의 아키텍처, 명확한 요구사항, 최상의 설계는 자기 스스로 일을 주도하는 조직적인 팀으로부터 나온다.
- 더 효과적인 팀이 될 수 있는 방안을 정기적으로 깊이 고민하고 그에 따라 팀의 행동을 조정한다.