mystic-agit 개발 블로그

[Clean Agile : Back to Basics] 2장 : 왜 애자일인가 본문

개발 이론, 생각, 컨퍼런스/애자일

[Clean Agile : Back to Basics] 2장 : 왜 애자일인가

mystic-agit 2023. 9. 7. 14:11

우리 생활과 소프트웨어

  • 소프트웨어가 다양한 기기에서 사용되고 있다.
  • 우리는 소프트웨어를 필요로하기 때문에 프로그래머로서 소프트웨어를 잘 만들고 문제가 되지 않도록 노력해야한다.
  • 명확한 애자일의 규율로 양질의 소프트웨어를 개발할 수 있다.

 

애자일을 반영한 소프트웨어 팀의 지향점

  • 애자일은 시스템 각 반복 주기가 끝날때마다 기술적으로 배포가 가능해야한다.
    • 반복 주기 동안 스토리를 구현한다는 것은 스토리의 모든 코딩과 모든 테스트와 모든 문서가 모든 안정화를 끝낸다는 것을 의미한다.
    • 소프트웨어 배포는 비즈니스 결정 사항이 된다. 기술적인 결정 사항이 아니다.
  • 아키텍쳐, 설계, 코드를 가능한 계속해서 깨끗하게 관리하고 생산성을 높게 유지해야한다.
    • 생산성과 재설계의 함정에 빠지지 않아야 한다.
    • 짝 프로그래밍, 리펙터링, 단순한 설계는 이를 이루는 기술적인 비결이 된다.
  • 계획 게임은 팀을 일정 압박에서 해결하는 답이 될 수 있다.
  • 소프트웨어는 변경이 쉬워야 한다.
    • 변화하는 요구에 맞추어 적응하는 능력, 비용 등 저렴하게 변경하는 능력을 갖추어야 한다.
  • 소프트웨어는 시간이 갈수록 더 좋아져야 한다.
    • 코드를 건드리면 망가질 것이라는 두려움을 이겨내야 한다.
    • 두려워하면 주도적으로 문제를 해결할 수 없다.
  • QA는 아무것도 문제점을 찾지 못하고 동작을 진행할 정도의 완성도가 되어야한다.
    • 자동화할 수 있는 테스트는 가능한 자동화한다. QA는 더 창의적인 활동에 참여되어야 한다.
  • 소프트웨어팀은 서로를 대신할 수 있어야 한다.
    • 짝 프로그래밍, 전체 팀, 공동 소유가 이점에 기여할 수 있다.
  • 정확한 측정으로 일정을 추정할 수 있어야 한다.
    • 애자일 과정이 이를 돕는다.
  • 해결책이 없는 경우 '아니오' 라는 표현을 할 수 있어야 한다.
    • 현실적인 기대에 부합할 수 있게 한다. (일정, 개발 능력 등)
  • 지속적으로 적극적으로 학습하며 계속 배워야 한다.
  • 서로를 가르칠 수 있도록 한다.

 

고객이 기대하는 것, 개발자가 기대하는 것 사이 균형이 필요

[고객의 권리]

(1) 고객은 전체적인 계획을 알 권리가 있다.

(2) 고객은 반복 주기마다 가능한 많은 가치를 얻을 권리가 있다.

: 반복 주기마다 고객은 개발자가 추산한 일정에서 가장 이익이 되는 스토리를 고를 수 있다.

(3) 고객은 진척도를 알 권리가 있다.

: 진척도를 더불어 현재 상태를 빠르게 확인할 권리도 있다.

(4) 고객은 과도한 비용 추가 없이 기능이나 우선순위를 바꿀 권리가 있다.

: 고객은 요구 사항을 바꿀 수 있고 유연한 소프트웨어는 이를 대응해야 한다.

(5) 고객은 일정이나 추정이 바뀐 경우 알림을 받고, 업무 범위를 조절할 권리가 있다.

(6) 고객은 프로젝트를 취소할 권리가 있다. 해당 시점까지 완료된 시스템을 받을 권리가 있다.

 

[개발자의 권리]

(1) 개발자는 명확하게 정의된 우선순위와 함께 무엇이 필요한지 알 권리가 있다.

: 요구 사항은 고객에 의해 반복 주기마다 바뀔 수 있지만 그때마다 요구 사항의 구체적인 점(중요도, 기능, 일정 등)들을 알 권리가 있다.

(2) 개발자는 언제나 높은 품질의 결과물을 만들 권리가 있다.

: 개발자에게 어떤 외압으로 개발자 자신에 오점이나 직업 윤리를 어기게하는 행위를 할 수 없다.

(3) 개발자는 동료나 관리자, 고객에게 도움을 요청하고 받을 권리가 있다.

: 프로그래머간 의사소통의 권리

(4) 개발자는 자신만의 추정치를 만들고 갱신할 권리가 있다.

: 추정은 시간이 흐를수록 명확해지는 부분

(5) 개발자는 담당 업무를 할당받는게 아니라 수락할 권리가 있다.

: 개발자의 추산에 따라 무리가 있는 경우 '아니오' 라고 말할 수 있어야한다.

 

이런 권리와 권리에 따른 규율이 모여 애자일을 이룬다.

규율은 관리자, 이해관계자, 고객이 서로 받아들이고 따른다.

그리고 그들간 의사소통을 통해 균형을 이루도록 한다.

 

Comments