연합 소프트웨어 개발 선언문
변화에 빠르게 반응하지 못하는 문제를 발견한 전문가들이 변화에 빠르게 반응할 수 있도록 하는 가치와 원칙을 세우기 위해 모였고 다음 선언문을 발표하게 되었다.
- 프로세스와 툴보다 개인과 상호작용이 우선이다
- 포괄적인 문서보다 동작하는 소프트웨어가 우선이다
- 계약 협상보다 고객 협력이 우선이다
- 계획을 따르는 것보다 변화에대한 반응이 우선이다
원칙
- 우리의 최고 가치는 유용한 소프트웨어의 빠르고 지속적인 공개를 통해 고객을 만족시키는 것이다.
- 첫 공개본에서는 기능이 적을 수록 품질이 높다.
- 자주 공개할 수록 최종 품질도 좋다
- 개발 후반부에 접어들었다 할지라도, 요구사항 변경을 환영하라. 애자일 프로세스는 고객의 경쟁 우위를 위해 변화를 이용한다.
- 요구사항의 변경은 더 시장의 요구를 충족시키는 방향일 것이다.
- 개발 중인 소트으웨어를 2주 ~2달 사이, 혹은 더 짧게 자주 공개
- 문서와 계획 공개 X → 실제 고객의 요구 만족시키는 소프트웨어 공개
- 업무를 하는 사람과 개발자는 프로젝트를 통들어 계속 함께 일해야한다.
- 의욕적인 개인들을 중ㅅ힘으로 프로젝트를 구성하라, 환경과 필요로 하는 자원을 제공하고, 그들이 그 일을 해낼 것이라고 믿고 맡겨둬라
- 개발 팀 내에서 정보를 전달하고 공유하는 가장 효율적이고 효과적인 방법은 직접 일대일로 대화하는 것이다.
- 개발 중인 소프트웨어가 진척 상황의 일차적 척도다.
- 애자일 프로세스는 지속 가능한 개발을 촉진한다. 스폰서, 개발자, 그리고 사용자는 무한히 지속적인 속도를 유지 할 수 있어야 한다.
- 우수 기술과 좋은 설계에 대한 지속적인 관심은 속도를 향상한다.
- 단순성(아직 끝내지 않은 일의 양을 최대화 하는 예술)은 필수적이다.
- 최고의 아키텍처, 요구사항, 그리고 설계는 자기 조직적인 팀에서 나온다.
- 규칙적으로 팀은 좀 더 효과적읜 방법을 반영해야 하고, 적절히 그 행위를 조율하고 조정해야 한다.
결론
- 소프트웨어는 요구사항에 맞게 유동적으로 변화 할 수 있어야한다.
- 개발 팀이 프로세스 증가로 인한 악순환에서 벗어나, 고객에게 최고의 가치를 전달하는 것을 돕기 위한 방법이다.
출처 : Agile Software Development, Principles, Patterns, and Practices (클린 소프트웨어)