애자일 선언문

Posted in 일상 // Posted at 2010. 12. 7. 13:36
728x90

애자일은 기민한, 민첩한, 변화에 유연한 개발을 지향하는 방법론이다
과거 폭포수 방법론이나 전통적인 순차적 패턴의 방법론의 단점을 해소하고 기민하고 유연함을 추구하는 철학을 가지고 있다. 이들은 애자일 방법론에 담긴 철학을 선언문과 12가지 원칙을 통해 명문화하고 있다

오늘 문득 '애자일 선언문'을 곱씹어 보고 싶어졌다
애자일 방법론의 구체적인 개발 패턴 보다는 애자일 선언문에 담긴 철학이 아름답다
뭔가 과거의 전형적인 틀을 벗어나서 새로운 개념을 도출하고자 할때 핵심이 되는 철학을 마련하는 것도 좋으리라 보인다.

http://www.agilemanifesto.org/



애자일 선언문의 내용이다.

우리는 소프트웨어를 직접 개발하거나 남의 개발 작업을 도우면서 소프트웨어를 개발하는 더 나은 방법을 찾아가고 있다.이러한 과정을 통해 우리는 다음과 같은 값진 결론에 도달했다.

'프로세스와 도구' 보다는 '상호작용과 개인'
'포괄적 문서화' 보다는 '동작하는 소프트웨어'
'계약 협상' 보다는 '고객과의 협력'
'계획 준수' 보다는 '변화에 대한 응대'

왼쪽에 열거한 말들도 가치가 있지만 오른쪽에 열거한 항목들에 더 큰 가치를 두고자 한다

그리고 세부 12가지 원칙이다
: 우리의 최우선 가치는 지속적으로 가치 있는 소프트웨어를 조속하게 릴리스하여 고객 만족을 이루는 것이다.

: 개발 후반부일지라도 요구사항의 변화는 환영한다.
  애자일 프로세스는 고객이 이익을 얻기 위해 발생하는 변화를 통제할 수 있다.

: 되도록이면 몇 주에서 몇 달의 짧은 주기로 제대로 동작하는 소프트웨어를 자주 릴리스한다.

: 개발자와 이와 관련된 사람들은 프로젝트를 진행하는 동안에는 함께 작업을 한다.

: 동기가 부여된 사람을 위주로 프로젝트를 진행한다. 그들이 필요한 환경과 지원을 제공하라.
  그리고 그들이 작업을 완수할 것이라고 믿어라.

: 개발팀 간 혹은 개발팀 내부에서 가장 효과적이고 효율적으로 정보를 전달하는 방법은
  얼굴을 맞대고 
대화하는 것이다.

: 정상적으로 동작하는 소프트웨어가 프로젝트의 진척을 재는 가장 정확한 척도다.

: 애자일 프로세스는 지속적인 개발을 장려한다.
  후원자, 개발자, 사용자는 항상 일정한 호흡을 유지할 수 있어야 한다.

: 기술적 탁월함과 훌륭한 설계에 대한 지속적인 관심은 애질리티(agility)를 증대시킨다.

: 하지 않아도 될 일의 분량을 최대한 쳐내는 기술을 의미하는 단순성(simplicity)은 기본이다.

: 훌륭한 아키텍처, 요구사항 및 디자인은 자체적으로 조직된(self-organized) 팀으로부터 나온다.

: 팀을 어떻게 더 효과적으로 만들지 정기적으로 되돌아 보고 그에 따라 행동을 수정하고 조율한다.