애자일
매니페스토
애자일 매니페스토
우리는 스스로 소프트웨어를 개발하고, 다른 사람들이 개발하는 것을 도와주면서 더 나은 소프트웨어 개발 방법들을 찾고 있다. 이 과정에서 우리는 다음과 같은 가치를 중요하게 생각한다.
절차와 도구보다는 개성과 화합을
방대한 문서 작업보다는 동작하는 소프트웨어를
계약 조건에 대한 협상보다는 고객과의 협력을
계획을 따르는 것을 넘어서서 변화에 대처하는 것을
더 가치있게 여긴다.좌측의 사항도 가치가 있을을 인정하지만 우리는 우측의 사항에 더 높은 가치를 둔다는 것이다.
애자일 매니페스토의 원칙들
- 가치있는 소프트웨어를 일찍, 지속적으로 전달하여 고객을 만족시키는 것을 최우선으로 한다.
- 개발의 막바지 단계이더라도 고객의 요구사항을 변경을 환영한다. 애자일 프로세스들은 변화를 활용하여 고객의 경쟁력을 높이는데 기여한다.
- 동작하는 소프트웨어를 몇 주에서 몇 개월 단위로 자주 전달한다. 가능한 한 전달주기를 짧게 한다.
- 비즈니스 담당자들은 프로젝트 기간 내내 매일 개발자와 함께 일한다.
- 프로젝트는 동기가 부여된 개인들로 구성한다. 그들이 필요로 하는 환경과 지원을 제공하고 프로젝트가 완료될 때까지 믿고 맡긴다.
- 개발팀 내에서 정보를 전달하는 가장 효율적이고 효과적인 방법은 얼굴을 마주보고 대화하는 것이다.
- 프로젝트의 진척도를 가늠하는 가장 기본 요소는 동작하는 소프트웨어다.
- 애자일 프로세스들은 지속 가능한 개발을 이끈다. 투자자, 개발자, 사용자들은 일정한 개발속도를 계속 수용할 수 있어야 한다.
- 기술적인 탁월함과 좋은 설계에 대한 지속적인 관심은 기민함을 높인다.
- 단순함, 즉 하지 않아도 될 일은 최대한 하지 않아야 한다.
- 최선의 아키텍처, 요구사항, 설계는 스스로 조직화되는 팀에서 나온다.
- 개발팀은 정기적으로 일을 어떻게 하는 것이 더 효과적인지 되돌아보고 그에 맞추어 일하는 방식을 조율하고 바로잡는다.
실천 방법
- Time Boxing(1-2주) : 항상 시간을 일정하게 정해놓고 범위(일)를 예측하는 방법. 흔히 그러듯 이거 만드는데 얼마나 걸려?라며 묻는 방식이 아니다. 납기가 끝나면 과제가 끝나는 그런 방식도 아니다. 여기서 데브옵스의 개념도 나온다.
- Working Software : 컴파일 에러, 런타임 에러가 없는 반드시 돌아가는 소프트웨어만 취급한다. Estimation 0 or 1
- Coordination & Collaboration : 사이좋게 지내라
키워드
- 활발한 의사소통
- 끊임없는 프로세스 개선
- 단순한 사이클의 반복을 통해 실제로 동작하는 기능을 조금씩 늘려나가는 것