Prioritizing Themes

최완식·2022년 8월 16일
0
post-thumbnail

불확실성과 화해하는 프로젝트 추정과 계획, "9장: 테마간 우선순위 설정"을 정리해본다.

핵심 요약

  • 시간이 없기 때문에 우선순위 선정을 해야 한다.
  • 스토리 말고 테마를 통해 우선순위 산정한다.
  • 고려해야 할 요소
    • 재정적인 이득
    • 발생하는 비용
    • 구현 과정에서 발생하는 지식의 양과 중요성
    • 구현함으로서 제거되는 위험 요소의 양
  • 가치와 비용에 대해 우선적으로 생각한다.

우선순위를 나눈다는 것

  • 시간이 부족하기 때문에 한다.
  • 모두 함께 참여해야 한다.
  • 다만, 스토리와 같이 작은 단위에 대해 우선순위를 매기는 것은 까다롭다.
  • 그렇기 때문에 스토리를 묶은 상위 개념인 테마를 적용한다.
  • 이 테마들을 묶어 릴리스 계획을 만든다.

테마의 예시

  • 모든 개인 기록을 저장하고 선수 개개인이 그 기록을 열람할 수 있도록 한다.
  • 코치들이 어떤 경기에 어떤 선수가 참가할지를 최적으로 지정할 수 있도록 하고 경기 결과를 예측할 수 있도록 한다.
  • 데이터 내보내기/가져오기 기능을 제공한다.

이런 테마는 사용자에게 실질적인 가치를 제공한다. 필요하다면 금전적 가치로 환산하는 것도 가능하다.

우선순위 산정에 고려해야 할 요소들

  1. 해당 기능의 재정적(금전적) 가치
  2. 해당 기능의 구현에 있어 드는 비용
  3. 해당 기능을 구현하는데 있어 배워야 하는 지식, 혹은 구현 과정에서 창출되는 지식의 양과 그 중요성
  4. 해당 기능을 구현함으로 인해 제거되는 위험 요소의 양

보통은 1, 2번 항목을 기반으로 의사결정이 일어나는 경우가 많다. 하지만 최적의 우선순위를 만들기 위해서는 3, 4항목도 중요하다.

가치

  • 재정적 가치
    • 새로운 이익
    • 비용 절약
  • 재정적 영향을 시간에 걸쳐 추정해야 한다. - 10장
  • 그리고 이 추정은 사용자의 선호도와 관련이 있다. - 11장

비용

  • 멋져보이나 구현하는데 비용이 크게 드는 경우 매력도가 떨어진다.
  • 비용에 대해 알아두어야 하는 중요한 사실은 시간이 흐름에 따라 비용이 변화한다는 것이다.
    • 구현 기간에 기획이 변경되는 경우
  • 최대로 구현을 미뤄 기능 변경이 없을 것이라 예상되는 시점에 구현을 시작하는 것이 가장 좋다.
  • 시간도 돈이다.

새로운 지식

  • 프로젝트 수행과정에서 발생하는 새로운 지식 탐구는 당연하다.
  • 축척해 나갈 지식의 분류
    • 제품에 대한 지식: 무엇을 개발할 것인가?
    • 프로젝트에 대한 지식: 제품을 어떻게 만들어 나갈 것인가?
  • 지식의 습득은 불확실성 제거와 연관이 깊다.

  • 수직 하강적 프로세스의 경우 초기에 모든 불확실성을 제거하려는 시도를 한다.
    • 수직으로 내려가는 화살표
  • 반대로 애자일의 경우 진행과정에서 불확실성을 제거하며 진행한다.
    • 다만, 초기에 빠르게 불확실성을 제거하는 것이 좋음을 그래프가 설명하고 있다. (반비례 함수)
  • 이는 곧 프로젝트 초기에 불확실성을 제거할 수 없다는 사실을 인정한다는 것이다.

위험

발생할 가능성이 있으나 아직 발생하지는 않은 것
발생할 경우 프로젝트 성공을 위협하거나 제한할 가능성이 있는 것

  • 일정 위험: "10월까지 끝내지 못할 수도 있습니다."
  • 비용 위험: "하드웨어를 적정가에 구매하지 못할 수도 있습니다."
  • 기능 위험: "그 기능을 동작하도록 만들 수 없을 지도 모릅니다."

가치와 위험성 사분면

  • 가치와 위험 둘중 어느 부분에 방점을 두어야 할지 고민이 될 수 있다.
  • 위와 같은 4분면으로 나눌 수 있겠다.

  • 기능 개발 순서는 위 순서를 따른다.
  • 가장 나중에 하는 것은 위험성은 높고, 가치는 낮은 경우이다.
  • 낮은 가치를 가지는 기능때문에 위험성이 높은 일을 벌일 이유는 없다.

네 가지 요소를 함께 고려하려면

  • 비용 대비 가치가 높은 테마를 우선적으로 구현한다.
  • 이 다음에 다른 요소들을 고려하여 우선순위를 재조정한다.
    • 위험도, 새로운 지식 등

요약

  • 시간이 없기 때문에 우선순위 선정을 해야 한다.
  • 스토리 말고 테마를 통해 우선순위 산정한다.
  • 고려해야 할 요소
    • 재정적인 이득
    • 발생하는 비용
    • 구현 과정에서 발생하는 지식의 양과 중요성
    • 구현함으로서 제거되는 위험 요소의 양
  • 가치와 비용에 대해 우선적으로 생각한다.

Reference

profile
Goal, Plan, Execute.

0개의 댓글