Agile Values

Agile Values 는 소프트웨어 개발에 더 나은 방법을 제시하고 도움을 주고자 하는 목적이 있다.

Agile Manifesto 에서 강조하는 것은 기존의 어떠한 개념들이 가치가 없다거나 할 필요가 없다는 것이 아니라 Agile 에서 말하고자 하는 개념들에 더 가치를 둔다는 것을 의미한다.

Agile 의 네 가지 value 중 "Individuals and interactions over processes and tools" 라는 개념이 있다. Agile 에서 말하고자 하는 것은 왼쪽편(processes and tools)이 가치가 없는 것이 아니고 오른쪽편(Individuals and interactions)이 더 가치가 있다는 것이다. 즉, 프로세스나 툴은 전혀 사용하지 않고 개인과 개인들 상호작용 중요하게 생각한다는 의미가 아니다. 프로세스의 정립이나 툴의 사용도 필요에 따라 적절히 사용해야 하지만 개개인과 개인간의 상호 작용을 더 가치있게 생각한다는 개념이다.

앞 문장들이 중복되는 이야기인 듯 한데 몇 차례 이야기한 이유는 아래와 같이 물으시는 분들이 많다.

"애자일에서는 툴을 사용하지 않는다는데 (가령, 이슈 트래킹 시스템과 같은) 이런 시스템을 왜 사용해야 하는가"

앞서도 설명했지만 이러한 것들이 '덜 중요시 된다'는 의미이지 '가치가 없다' 거나 '쓸모가 없다' 의 의미는 아니다.

Individuals and interactions over processes and tools

팀 구성원 개개인과 그들의 상호 작용이 프로세스나 툴보다 더 중요하고 가치있으나 프로세스와 툴의 사용 또한 프로젝트를 완료하는 데 중요하고 가치있는 것들이다. 프로세스나 툴은 그 구성원들의 소통 향상에 필요한 것들이기 때문이다.

(프로세스나 툴을 사용하지 않는다는 의미가 아니다. 적절한 프로세스를 정립하고 툴을 사용하는 것도 필요하지만, 그보다는 개인을 더 중요시 한다는 의미이다.)

Working software over comprehensive documentation

문서보다는 동작하는 소프트웨어에 더 가치를 둔다. 소프트웨어에 대해서 기능을 정의하는 등의 문서는 두 사람이 같은 페이지를 읽고 있다 하더라도 각자 다르게 이해할 수도 있다. 소프트웨어가 어떻게 동작할 지 가늠할 수 있는 가장 효과적인 방법 바로 '실제로 그것을 사용해 보는 것' 이다.

Customer collaboration over contract negotiation

계약에 의한 협상보다는 고객의 협력에 더 가치를 둔다. 프로젝트의 초기부터 프로덕트에 관련한 모든 기능을 완벽하게 정의하거나 혹은 완벽하게 정확한 정보를 갖추기는 쉽지 않다. 하여, 최상의 결과에 다다르기 위해 고객과 협력하는 일이 필요하다.

Responding to change over following a plan

계획만 따르기 보다는 변화를 수용하고 그에 반응하는 것에 더 가치를 둔다. 계획을 따르는 일은 중요하지만, 만일 계획이 잘 못 되었다면 문제를 안고 프로덕트를 만들게 된다. 변화를 수용하고 이를 계획에 유연하게 반영하는 일이 더 중요하다.

Last updated

Was this helpful?