본문 바로가기

카테고리 없음

애자일 개발의 기술 2/e - 책임

책임

XP는 고객과 관리자에게 프로그래밍이 진행되는 매주 최대한의 가치를 얻을 수 있게 할 것을 약속한다.

이해관계자 신뢰

한 회사의 두 개의 팀이 있다. 한 팀은 애자일 팀으로, 커밋먼트를 달성하고 정기적으로 릴리스 했다. 한 팀은 일정이 늦어지고 작동하는 소프트웨어는 찾아볼 수 없었다. 그러나 기업이 규모를 줄였을 때 애자일 팀을 없앴다.

경영진은 고전하는 팀을 관찰하면서 멋진 다이어그램과 오래 일하는 프로그래머를 봤다. 그러나 애자일 팀은 대화하고 웃고 떠들며 정시에 퇴근하는, 그러면서도 화이트보드에 간단한 스케치와 차트만 그려 놓은 사람들을 봤다.

이를 조직적 항체라고 부른다. 애자일이 투입될 때 조직적 항체를 그대로 내버려두면 결국 애자일 팀을 압도하고 무너뜨릴 것이다.

즉, 이해관계자나 스폰서의 선의가 없다면 얼마나 효과적으로 일하든 문제에 봉착한다.

허슬을 보여라

이삿짐 센터를 부를 때 작업자들이 빠르고 열심히 움직일 때 감동받는다. 내 요구를 만족시키는 동시에 내 지갑을 존중한다고 생각한다. 소프트웨어 팀도 마찬가지일 것이다.

공감을 보여라

개발 팀은 종종 핵심 비즈니스 관계자와 논쟁 관계에 있다. 개발자가 볼 때 불공평한 요구, 데드라인 압박으로 나타난다. 그렇기 때문에 많은 이해관계자에게 있어 개발자가 모든 카드를 쥔 유일한 존재라고 여긴다는 것을 안다면 다소 놀랄 수 있다.

커밋먼트에 맞춰 전달하라

이해관계자가 소프트웨어 팀과 협업을 해봤다면 어그러진 일정, 버그, 낭비된 예산과 같은 경험을 해봤을 것이다. 그리고 동시에 그들은 개발 능력이 없어 여전히 소프트웨어 팀에 의존해야된다. 만약, 이 과정에서 이러한 문제들이 없이 수행할 수 있다면 경쟁력있는 소프트웨어 팀이 될 것이다. 그 방법 중 가장 쉬운 것이 매주 전달하는 것이다.

문제를 관리하라

계획을 잘 수행하라. 그러나 항상 이는 어긋날 것이다. 이런 예상치 못한 문제를 다룰 때 여러분의 진정한 특성을 보일 수 있다. 가장 어렵고 불확실한 작업을 스프린트 초반에 시작하라. 그러면 문제를 더 일찍 발견하고, 이를 수정할 시간을 더 많이 확보할 수 있다. 문제를 발견한 경우 이를 이해관계자에게 알려라. 그들을 화나게 하는 것은 문제가 발생해서가 아니라 그들의 눈이 가려졌기 때문이다. 그저 해결책을 찾지 못했다는 이유로 문제 공유를 미루지 말라. 대신 문제를 설명하고 이를 해결하기 위해 어떤 작업을 하고 있는지 설명하고, 더 많은 정보를 언제 전달할 수 있는지 알려라.

고객의 목표를 존중하라

애자일 팀원 개인은 단일 팀의 팀원이라고 생각한다. 처음에는 개발자와 고객이 종종 스르로를 분리된 그룹이라 생각한다. 이해관계자의 걱정을 해결해주려고 노력하는 것은 그들에게 가치를 전달해주는 것이다.

예측하기

신뢰를 만들고 책임을 보여주기 위해서는 릴리스 시점을 예측할 수 있어야 한다. 예측의 진짜 비밀은 불확실성과 리스크를 이해하는 것이다.

불확실성과 리스크

릴리스하기 전에 30개의 스토리를 완료해야하는 팀에 있다고 가정하자. 팀은 매주 6개의 스토리를 완료할 수 있을 것으로 예측한다. 이해관계자는 고객에게 5주 뒤에 릴리스될 것을 공지한다.
팀은 6개의 스토리를 첫 주에 성공적으로 진행했다. 하지만, 버그가 하나 발견됐다. 스토리는 25개가 됐다. ... 이하 생략
그 결과 팀은 8주 뒤에 릴리스를 진행했다. 이런 것을 일정 리스크라 부른다.

릴리스 대상과 시점을 모두 예측하는 것은 어렵다. 따라서 이를 해결하는 방법은 시점만 정하는 것이다.
릴리즈 트레인을 설정하고 그 때 가능한 대상들만 릴리즈하라.

로드맵

이해관계자가 무엇을 기대하면 되는지 정의하는게 로드맵이다. 애자일에선 이를 통해 공유한다.

애자일 거버넌스

고전적인 접근 방식은 프로젝트 기반 거버넌스다. 계획 수립, 비용 및 가치 추정을 포함한다. 프로젝트의 전체 가지차 전체 비용을 충분히 초과하면 재원을 확보한다. 이것은 전혀 애자일하지 않다. 이 접근 방식은 계획이 미리 정해져 있어야 한다.

애자일 접근 방식은 제품 기반 거버넌스다. 이 방식은 지속적으로 정상적인 비즈니스 예산을 할당하고, 시간이 지남에 따라 팀이 만들어낼 가치를 추정한다. 제품은 지속적인 가치가 지속적인 비용을 충분히 뛰어넘을 때 재원을 확보하게 된다. 추정과 다르다면 그에 따라 비용과 계획을 조정한다. 애자일은 예측적이 아닌 적응적이지만 로드맵은 이런 현실을 수용해야 한다.

매니지먼트

매니저는 팀이 탁월해지도록 돕는다. 대부분의 조직은 측정 기반 매니지먼트를 한다. 지표를 수집하고, 보고서를 요청하고, 올바른 행동을 장려하기 위한 보상을 디자인한다.

X 이론: 관리자는 근로자가 일을 싫어하며 회피하려 한다고 믿는다.
Y 이론: 관리자는 근로자가 일을 즐기며 스스로 방향을 정할 능력이 있다고 믿는다.

측정 기반 매니지먼트는 X 이론이다. 외적 동기부여 요인을 통해 올바른 행동을 장려한다. 이와 대조되는게 Y 이론이다. 내적 동기부여 요인에 따라 문제를 해결하고 조직의 목표를 달성한다.

측정과 데이터는 매우 유용하다. 하지만 사람들이 측정 결과가 자신들의 평가로 이어질 때 문제가 발생한다.

현장으로 가서 실제 작업을 봄으로써 필요한 것에 대해 더 많이 학습하라.