Agile Development
소프트웨어 개발 과정이 UnderUncertainty를 포함하고 있다는 것을 인정하고, 효과적으로 대응하기 위해 개발 과정에서 팀 혹은 조직의 Agility를 향상시키는 것이 AgileDevelopment의 목표이다.
애자일 소프트웨어 개발 선언
우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을 도와주면서 소프트웨어 개발의 더 나은 방법들을 찾아가고 있다. 이 작업을 통해 우리는 다음을 가치 있게 여기게 되었다:
공정과 도구보다 개인과 상호작용을
포괄적인 문서보다 작동하는 소프트웨어를
계약 협상보다 고객과의 협력을
계획을 따르기보다 변화에 대응하기를
가치 있게 여긴다. 이 말은, 왼쪽에 있는 것들도 가치가 있지만, 우리는 오른쪽에 있는 것들에 더 높은 가치를 둔다는 것이다.
애자일 선언에 참여한 사람들의 명단은 다음과 같다.
Pragmatic movement |
Not specified |
||||
Kent Beck |
Alistair Cockburn |
Ken Schwaber |
Arie van Bennekum |
Andrew Hunt |
Ward Cunningham |
애자일 선언 이면의 12가지 원칙
우리는 다음 원칙을 따른다:
- 우리의 최우선 순위는, 가치 있는 소프트웨어를 일찍 그리고 지속적으로 전달해서 고객을 만족시키는 것이다.
- 비록 개발의 후반부일지라도 요구사항 변경을 환영하라. 애자일 프로세스들은 변화를 활용해 고객의 경쟁력에 도움이 되게 한다.
- 작동하는 소프트웨어를 자주 전달하라. 두어 주에서 두어 개월의 간격으로 하되 더 짧은 기간을 선호하라.
- 비즈니스 쪽의 사람들과 개발자들은 프로젝트 전체에 걸쳐 날마다 함께 일해야 한다.
- 동기가 부여된 개인들 중심으로 프로젝트를 구성하라. 그들이 필요로 하는 환경과 지원을 주고 그들이 일을 끝내리라고 신뢰하라.
- 개발팀으로, 또 개발팀 내부에서 정보를 전하는 가장 효율적이고 효과적인 방법은 면대면 대화이다.
- 작동하는 소프트웨어가 진척의 주된 척도이다.
- 애자일 프로세스들은 지속 가능한 개발을 장려한다. 스폰서, 개발자, 사용자는 일정한 속도를 계속 유지 할 수 있어야 한다.
- 기술적 탁월성과 좋은 설계에 대한 지속적 관심이 기민함을 높인다.
- 단순성이 -- 안 하는 일의 양을 최대화하는 기술이 -- 필수적이다.
- 최고의 아키텍처, 요구사항, 설계는 자기 조직적인 팀에서 창발한다.
- 팀은 정기적으로 어떻게 더 효과적이 될지 숙고하고, 이에 따라 팀의 행동을 조율하고 조정한다.
애자일 프레임워크 분류: 대표적으로 SCRUM, XP 등이 있다.
AC2의 기술적 측면의 분류
- 개론적 이해
- 계획하고 조정하기
- 사용자 경험(UX)
- 요구사항
설계: PaperPrototype
테스팅: ExplorativeTesting
- 관찰과 가시화
- 회고와 회의
- 기술적 리더십과 관리
기타 이슈
애자일을 팀에 전파하는 것을 돕는 AgileCoaching도 있다.
CustomerDevelopment와 더불어 LeanStartup에 중요한 기법이다.