애자일 & 스크럼 프로젝트 관리 - 3

King of Seoul·2022년 12월 26일
0
post-thumbnail
post-custom-banner

스토리

사용자 스토리

문장 형태로 작성된 백로그를 사용자 스토리라고 한다. 사용자에게 가치를 주는 기능을 문장으로 서술한 것이다. 이런 문장 형태의 기술 방식은 팀이 요구사항을 더 구체적으로 이해할 수 있도록 돕는다. 스토리는 아래와 같이 서술한다.

(누가)(비즈니스 가치)를 위해 (어떤 기능)을 원한다.

완료 조건

사용자 스토리의 완성 여부를 객관적으로 확인할 수 있는 조건이다. 고객과의 커뮤니케이션이 활발해도 완료 조건이 명확하지 않으면 서로 다른 생각을 가질 수 있다. 하지만 이 역시 초기에 명확하게 적기는 어렵기 때문에 대략적으로 적고 스프린트 계획 단계에서 상세히 적는다. 참고사항이 있다면 함께 적는다.

기술 스토리

사용자 스토리를 지원하는 기술적, 관리적 업무를 서술한다. 고객이 이해할 수 있는 수준으로 작성한다.

  • 요구 분석, 아키텍쳐 설계 등 기술적인 활동
  • 비기능 요구사항, 인프라 개선 활동
  • 코드 리뷰, 리팩토링 등 품질 개선 활동
  • 버그 수정, 모듈 안정화 등 사용성 개선 활동

기술 스토리는 사용자 스토리와 다르게 개발 조직이 중심이 되어 도출한다. 기술 스토리도 일정, 비용을 추정하는 기준이 된다.

백로그 작성 지침

Independent

스토리 간의 의존성을 제거하여 추정과 우선순위 선정에서 문제가 되지 않도록 해야 한다. 두 가지 사용자 스토리 구현 시 공통된 작업 요소가 있다면 스토리 하나에만 포함하고, 나머지 스토리에는 그것을 활용하도록 가정해야 한다.

Negotiable

언제든 변경될 수 있어야 한다. 사용자 스토리는 처음에 상세하게 기술하지 않고 스프린트 계획 단계에서 도출하도록 한다.

Valuable

사용자에게 가치 있어야 하고 이해할 수 있는 언어로 작성되어야 한다. 개발 조직만 아는 언어로 작성하면 사용자가 이해하기 어렵다.

Estimable

규모와 비용을 추정할 수 있어야 한다. 에픽과 피처 단위는 추정하기 어려우므로 더 분할해야 한다.

Small

규모가 너무 크면 추정이 어렵고, 너무 작으면 개수가 늘어나 관리 노력이 증가한다. 스프린트 내에서 끝낼 수 있도록 적절한 분할과 병합이 필요하다.

Testable

추상적인 스토리는 테스트 케이스 작성에 어려움을 초래한다. 객관적인 완료 조건이 필요하다.

스토리 포인트

스토리 포인트는 요구사항의 규모를 측정하는 단위로, 요구사항의 복잡도에 따른 업무량이다. 높은 스토리 포인트는 큰 공수라고 판단할 수 있다. 스토리 포인트는 상대적인 개념이다.

노루, 사자, 코끼리의 무게는 직접 측정하기 전 까지 알 수 없다. 하지만 어떤 동물이 더 무거울지는 예측이 가능하다. 노루의 무게를 1이라고 가정했을 때 사자는 약 5배 무거울 것 같으므로 5, 코끼리는 13배 무거울 것 같으므로 13이라고 표현할 수 있다.

스토리 포인트는 이런 개념을 이용해 가장 공수가 적게 드는 스토리를 기준으로 상대적인 규모를 예측한다. 기준이 되는 스토리를 선정하고 다른 스토리들은 기준 스토리와 비교해 상대적인 포인트를 부여한다. 이 때 스토리 포인트의 일관성이 유지되는지 돌아보고 필요하면 다시 추정해야 한다.
스토리 포인트와 공수는 다른 개념이다. 보통 공수는 MD(Man Days)로 표현한다. 하지만 동일한 스토리 포인트여도 할당된 사람의 기량에 따라 MD는 달라질 수 있다. 그러므로 반드시 상대평가를 통해 스토리 포인트를 추정해야 한다.

우선순위

우선순위가 낮은 요구사항에 시간이 많이 소비한다면 제품은 완성되지 못한 채 프로젝트가 마감이 될 것이다. 애자일은 사용자에게 가치 있는 제품을 빠르게 전달하는 것이 목표이기 때문에 우선순위 설정이 필요하다.

MosCow 우선순위

필수, 중요, 선택 보류 네 가지로 분류한다.

가치 점수 활용

스토리 포인트와 유사하게 가장 비즈니스 가치가 낮은 기능을 1로 두고 상대적인 가치를 추정하여 우선순위를 설정한다.

가치 점수와 스토리 포인트 동시에 고려하기

두 가지를 모두 고려하여 투입대비 가치가 높은 것을 기준으로 우선순위를 설정할 수 있다.

배포 계획을 이용한 전체 일정 수립

프로젝트 일정 관리의 기준이 되는 배포 계획은 여섯 단계로 진행된다.

  1. 제품 백로그 작성
  2. 스토리 포인트 추정
  3. 스프린트 기간 설정
  4. 평균 개발 속도 (velocity) 추정 - 한 스프린트에 완료할 수 있는 스토리 포인트의 합을 말한다.
  5. 전체 일정 추정
  6. 스토리 우선순위 설정

스프린트 계획을 이용한 단기 일정 수립

스프린트 계획의 목적은 어떤 작업을 수행하고, 최적의 방법으로 수행하도록 하는 것이다. 이도 여섯 단계로 진행된다.

  1. 백로그 정제 미팅
  2. 스프린트 목표, 범위 설정
  3. 스프린트 백로그 도출
  4. 평균 투입공수 추정
  5. 담당자 할당 - 자기 조직화를 적용했기 때문에 팀원이 원하는 작업을 할당하는 것이 맞으나 리더는 업무가 불균형하게 진행되지 않도록 조정해야 한다.
  6. 스프린트 목표 업무량 결정

킥오프

이해관계자를 모두 모아서 프로젝트의 목표와 진행 방법, 책임과 역할을 공유하는 활동을 말한다. 프로젝트의 개발 방법론 이해와 주요 이슈 토론을 포함해야 한다. 이로 인해 시간이 길어질 수 있다. 킥오프에선 보통 다음 활동을 진행한다.

  • 프로젝트 목적, 범위, 전략, 배포 일정 소개
  • 개발 방법론과 구성원간 책임과 역할 소개
  • 이슈, 리스크 도출, 해결 방안 탐색

요구사항 관리 방법에 대해 구성원간 공감대가 형성되지 않으면 프로젝트가 진행되는 동안 갈등이 발생한다. 이런 활동들을 통해 구성원들이 역할과 책임을 갖도록 해야 한다.

profile
"그는 천재야"
post-custom-banner

0개의 댓글