애자일 선언 (Agile Manifesto)

정처기; 정보처리기사 필기 이론

by 짧은 수필

애자일 선언(Agile Manifesto)

2001년, 17명의 소프트웨어 개발 전문가들이 모여 공동의 관점을 정리하고

'애자일 SW 개발 선언문'을 만들었습니다.

이 선언문은 애자일 개발 철학의 근간을 이루는 중요한 문서입니다.


애자일 선언은 다음의 4가지 핵심 가치

이를 실무에 적용할 때의 기준이 되는 12가지 실행 지침으로 구성되어 있습니다.




애자일 개발 4가지 핵심 가치

애자일 선언의 핵심은 '좌측 항목도 가치가 있지만, 우측 항목에 더 큰 가치를 둔다'는 것입니다.


프로세스와 도구보다 개인과 상호작용에 더 가치를 둔다.
소프트웨어 개발은 결국 사람이 하는 일이며,
정해진 절차나 도구에 얽매이기보다는
개발자들의 소통과 협업을 통해 더 나은 결과물을 만들 수 있다는 철학을 담고 있습니다.


방대한 문서보다 실행되는 소프트웨어에 더 가치를 둔다.
개발 과정을 장황하게 설명하는 문서보다는,
실제로 작동하여 고객이 직접 경험하고 평가할 수 있는
실행 가능한 소프트웨어 자체가 더 중요하다는 의미입니다.
이는 고객 피드백을 통해 빠르게 개선해나가는 애자일의 특성을 잘 보여줍니다.


계약 협상보다 고객과 협업에 더 가치를 둔다.
개발 프로젝트를 시작할 때 맺는 계약서의 내용에만 집착하기보다는,
고객과 지속적으로 소통하고 협력하여
고객이 원하는 방향으로 소프트웨어를 만들어 나가는 것이 더 중요하다는 의미입니다.


계획을 따르기보다 변화에 반응하는 것에 더 가치를 둔다.
폭포수 모형처럼 처음 세운 계획을 무조건적으로 따르기보다는,
개발 과정에서 발생하는 예상치 못한 변화나 새로운 요구사항에 유연하게 대처하는 것이
더 좋은 소프트웨어를 만드는 길이라고 믿는 것입니다.


이 4가지 핵심 가치는 애자일 개발 방법론의 모든 행동과 의사결정의 기초가 됩니다.즉, '사람 중심', '실용성', '소통', '유연성'을 중요하게 여기는 것이 애자일의 핵심 철학이라고 할 수 있습니다.




애자일 선언의 12가지 실행 지침

애자일 선언의 4가지 핵심 가치를 실제로 구현하기 위한 구체적인 행동 원칙들입니다.


가장 높은 우선순위는 고객 만족이다.
가치 있는 소프트웨어를 조기에, 지속적으로 전달하여 고객을 만족시키는 것이 최우선 목표입니다.


변화를 수용하라.
개발 막바지라도 요구사항 변경을 환영합니다.
변화를 통해 고객의 경쟁력을 높이는 것을 목표로 합니다.


작동하는 소프트웨어를 자주 제공하라.
몇 주에서 몇 달 단위의 짧은 주기로, 자주 작동하는 소프트웨어를 제공해야 합니다.


개발자와 고객은 매일 함께 일하라.
프로젝트 전반에 걸쳐 개발자와 비즈니스 담당자가 매일 함께 일해야 합니다.


동기 부여된 개인들을 중심으로 팀을 구성하라.
스스로 동기 부여된 사람들에게 필요한 환경과 지원을 제공하고,
그들이 업무를 완수할 수 있도록 신뢰해야 합니다.


가장 효율적인 정보 전달 수단은 얼굴을 맞대고 대화하는 것이다.
문서를 통한 소통보다 직접 대면하여 대화하는 것이 가장 효과적이고 효율적입니다.


작동하는 소프트웨어가 진척도의 가장 중요한 척도이다.
문서나 계획의 진도율보다는, 실제로 작동하는 소프트웨어의 기능이
얼마나 완성되었는지를 기준으로 프로젝트의 진행 상황을 판단해야 합니다.


지속 가능한 개발 속도를 유지하라.
개발자와 이해관계자가 무리하지 않고 지속적으로 일정한 속도를 유지할 수 있도록 노력해야 합니다.


기술적 탁월함과 좋은 설계에 대한 지속적인 관심이 중요하다.
프로젝트의 유연성과 적응성을 높이기 위해
기술적으로 우수하고 좋은 설계를 유지하는 것에 끊임없이 관심을 가져야 합니다.


단순함, 즉 불필요한 작업의 양을 최대한 줄이는 것이 필수적이다.
복잡성을 피하고, 최대한 단순하게 만드는 것이 중요합니다.


최고의 아키텍처, 요구사항, 설계는 자기 조직적인 팀에서 나온다.
외부의 지시보다
팀 스스로가 자율적으로 의사결정을 내리고 조직화하는 것이 가장 좋은 결과를 낳는다고 믿습니다.


정기적으로 팀이 더 효과적으로 일할 수 있는 방법을 되돌아보고, 조율하여 실행하라.
주기적으로 팀의 개발 프로세스를 검토하고, 더 나은 방법을 찾아 개선해야 합니다.



keyword
매거진의 이전글애자일 모형 (Agile Model)