2001년 켄트 벡(Kent Beck), 마틴 파울러(Martin Fowler) 등 17명의 개발자가 발표한 소프트웨어 개발 선언이다. 네 가지 가치를 짝으로 비교한다.
- 절차와 도구보다 개인과 상호작용
- 포괄적인 문서보다 작동하는 소프트웨어
- 계약 협상보다 고객과의 협력
- 계획을 따르기보다 변화에 대응하기
오른쪽 항목도 가치가 있지만 왼쪽을 더 가치 있게 여긴다는 뜻이다. 문서나 계획이 필요 없다는 말이 아니다.
12원칙(Twelve Principles)에서 자주 인용되는 것
- 가치 있는 소프트웨어를 일찍, 그리고 지속적으로 전달해 고객을 만족시킨다
- 개발 후반이라도 요구사항 변경을 환영한다
- 작동하는 소프트웨어를 몇 주에서 몇 개월 간격으로, 짧을수록 좋게 자주 전달한다. 진척의 주된 척도는 작동하는 소프트웨어다
- 비즈니스 쪽 사람과 개발자는 매일 함께 일한다
- 지속 가능한 속도를 유지한다
- 기술적 탁월성과 좋은 설계에 대한 꾸준한 관심이 민첩성을 높인다 → 심플 디자인, 리팩터링
- 단순성, 곧 하지 않는 일의 양을 최대화하는 기술이 필수다 → YAGNI, KISS 원칙
- 팀은 정기적으로 더 효과적인 방법을 돌아보고 행동을 조정한다 → 회고
이어지는 생각
『함께 자라기』는 애자일이 불확실성을 다루는 방식을 "더 짧은 주기로, 더 다양한 사람에게서, 더 일찍 피드백을 받는 것"으로 요약한다 → 함께 자라기 (책 개요). 이 생각은 XP(Extreme Programming, 익스트림 프로그래밍)의 테스트 주도 개발 (TDD), 집단 코드 소유 같은 실천법과 이어진다.
출처: Manifesto for Agile Software Development · 한국어판 · Principles behind the Agile Manifesto