Agile 애자일

#4 고객중심의요구사항기법 - 사용자스토리 : 사용자역할에서 인수테스트까지

twoslicesoftoast 2020. 8. 23. 19:21

4부 예제 : 사용자역할 - 스토리 작성 - 스토리 추정 - 릴리즈 계획 - 인수 테스트 

예제를 통해 지금까지 다룬 모든 것을 포괄적인 예제를 제공하고 있다.  5장을 통해 소규모 프로젝트를 경험하면서 사용자 역할을 식별하는 것에서 시작해 스토리를 작성하고, 스토리 구현 시간을 추정하며, 릴리즈 계획을 수립하고, 해당 릴리즈에서 스토리에 대한 인수 테스트를 작성하는 순서로 진행한다.

 

{나의현실}

책을 읽고 정리하고, 실행해보면 이론과 다르게 진행되는 경우가 많다. 이해하는 바도 틀리고, 여러번의 시행착오를 통해 각자의 길을 찾아 가는 것 같다. 작년에 읽었던 것임에도 이런 내용이 있었나 싶은 것이 있기도 하고, 내가 잘못 이해한 것도 있고, 이 연습을 통해 다시 한번 재정리 해본다.

사용자역할

초기 역할 식별하기

함께 개발할 사람들과 모여 역할카드를작성한다. (예시로 나오는 선박지원 물품 판매 업체가 온라인 판매사이트 제작)

  • 고참선원(Hardcore Sailor)
  • 초급선원(Novice Sailor)
  • 신참선원(New Sailor)
  • 선물구매자(Gift-Buyer)
  • 선원배우자(Non-Sailing Spouse)
  • 관리자(Administrator)
  • 영업이사(Sales Vice President)
  • 선장(Charter Captain)
  • 숙련된선원(Experienced Salior)
  • 항해학교(Sailing School)
  • 도서관(Library)
  • 강사(Instructor)

통합하고 세분화하기

카드에 사용자 역할 이름을 기록한 후에는 사용자 역할 목록을 다듬는다. 중복되거나 유사한 역할 제거, 통합하여 역할 정리하기

 

역할 모델링

역할카드에 상세한 내용 추가한다.

  • 사용자가 소프트웨어를 사용하는 빈도
  • 사용자의 도메인 전문성 수준
  • 사용자의 일반적인 컴퓨터와 소프트웨어 숙련도 수준
  • 사용자의 개발될 소프트웨어에 대한 친숙도 수준
  • 사용자가 소프트웨어를 사용하는 일반적인목적(편리함인가?화려함인가?

스토리 작성

스토리 초기 목록 작성을 위해 팀은 한두 시간 정도를 할애하여 가능한 많은 스토리를 작성할 수 있도록 스토리 작성 워크샵을 진행한다. 

 

스토리 추정

모든 스토리와 지정된 데드라인 내에 사이트가 작동할 수 있을지에 대해 검토하여 릴리즈 계획을 작성하는 것이 다음 목표가 된다. 릴리즈 계획을 수립하기 위해서 각 스토리에 대한 추정이 필요하다.  개발참여자들이 모여 점수를 각가 추정하고, 평균점수로 정리한다.

 

릴리즈 계획

릴리즈를 계획하기 위해서는 다음 단계가 필요하다.

1. 이터레이션 길이 선택

2. 속도 측정

3. 스토리에 우선순위 부여

4. 스토리들을 하나 또는 여러 이터레이션에 할당

 

인수테스트

스토리 인수테스트는 그 스토리가 완료되었는지 여부를 판단하는데 사용된다. 여기서 완료는 고객이 인정하는 수준을 의미한다. 이는 인수테스트를 지정하는 것이 고객의 책임이라는 의미이다.

 

부록...익스트림프로그래밍(XP)의 개요

사용자스토리를 활용하기 위해 익스트림 프로그래밍을 잘 알아야 할 필요는 없지만, 사용자 스토리가 익스트림프로그래밍에 뿌리를 두고 있다. 

 

  • XP 고객 역할은 사용자 스토리를 작성하고, 각 스토리에 대해 인수테스트를 작성하며, 개발 팀과 같은 공간에 자리할 책임이 있다.
  • XP 프로젝트에서는 프로그래머와 테스트의 차이는 분명하지 않다. 프로그래머는 자신이 작성한 코드에 대한 단위 테스트를 작성하며, 테스터는 인수 테스터를 자동화한다.
  • XP 프로젝트에는 코치와 프로젝트 관리자가 필요하다. 프로젝트 관리자는 가능하면 별도의 인물이 맡도록 하며, 팀의 방향을 유지하고 장애 요소들을 제거하는 책임을 갖는다.
  • XP의 12가지 주요 실천법
    1. 작은 릴리즈
    2. 계획 게임
    3. 리팩토링
    4. 테스트
    5. 짝 프로그래밍
    6. 유지 가능한 페이스
    7. 집단 코드 소유
    8. 코딩 표준
    9. 단순한 설계
    10. 메타포
    11. 지속적인 통합
    12. 현장 고객
  • XP는 특히 아래 4가지의 가치를 중요시 한다.
    1. 의사소통
    2. 단순함
    3. 피드백
    4. 용기
  • XP는 다음 5가지 주요 원칙을 내세운다.
    1. 신속한 피드백
    2. 단순함을 가정
    3. 점진적 변화
    4. 변화 수용
    5. 고급 작업

{나의현실}

이렇게 책을 읽고 정리하다보면, 애자일이라는 개념에 사용되는 여러 기법이 있는데, 

스크럼은 계획단계에 참조가 많이 되는 항목들이며,

XP는 개발에 참조해야 하는 항목이 많으며,

칸반/린의 경우는 전체적인 흐름을 파악하기 위해 활용될 수 있는 것으로 보인다.

스크럼, XP, 칸반등 모두가 애자일의 정신이 많이 녹아 있어 이러한 기법을 이용하여 애자일한 결과물을 만들어 낼 수 있는 것이 아닌가 싶다.


<사용자스토리 마이크 콘 지음/한주영.심우곤.송인철 옮김 책 내용 요약>

1부 사용자스토리 시작하기

2부 추정과 계획

3부 자주 논의하는 주제

4부 예제