상세 컨텐츠

본문 제목

좋은 user story를 위한 INVEST 모델

Product - Service - Engineering

by 무병장수권력자 2021. 1. 8. 12:38

본문

User story의 정의를 WIKI 백과에서 찾아 보았습니다.

"소프트웨어 개발 및 제품 관리에서 사용자 스토리는 소프트웨어 시스템의 하나 이상의 기능에 대한 비공식적 인 자연어 설명입니다. 사용자 스토리는 종종 최종 사용자 또는 시스템 사용자의 관점에서 작성됩니다."

 

조금 더 쉽게 풀어 써보면,

고객에게 가치를 줄 수 있는 기능을 쉬운 언어(기술적X, 비지니스적O)로 설명한 것을 사용자 스토리라고 합니다.

 

일반적으로 많이 사용하는 템플릿을 보면 조금 더 이해가 될 겁니다.

As a <role> I can <capability>, so that <receive benefit>
In order to <receive benefit> as a <role>, I can <goal/desire>
As <who> <when> <where>, I <want> because <why>

번역해보면,
- 나는 어떤 <역할> 담당자로써 <요런 혜택>을 위해 <이런 것>을 하고 싶다.
- 나는 <요런 혜택>을 위해 <누군가가>, <이때쯤>, <거기서> <이런 것>을 하게 하고 싶다.

예를 들어볼까요?
- 나는 HR 매니저로써 부서장들에게 기초적인 소양을 가진 지원자 목록을 보내기 위해서 채용 시 온라인 스크리닝 테스트를 만들 수 있기를 원한다.

예시의 문장을 좀 더 잘 적기 위한 방식으로 INVEST라는 방식이 있습니다. 스토리가 가져야할 요건? 정도로 생각하시면 되고요. 아까 사용했던 말을 인용하면 이해하기 쉽고 공감하기 쉽게 적는 방법이 되겠네요. INVEST는 약자이고요 각 알파벳은 다음을 의미합니다.

  • “I” ndependent (of all others) : 독립적이어야 합니다.
  • “N” egotiable (not a specific contract for features) : 조정이 가능해야 합니다.
  • “V” aluable (or vertical) : 가치가 있어야 합니다.
  • “E” stimable (to a good approximation) : 측정 가능해야 합니다.
  • “S” mall (so as to fit within an iteration) : 충분히 작아야 합니다.
  • “T” estable (in principle, even if there isn’t a test for it yet) : 테스트 가능해야 합니다.

함축적이니 조금만 풀어서 설명해 보겠습니다.

  • Independent : 스토리는 그 자체가 하나 또는 하나 이상의 기능입니다. 그러니 중복되지 않아야 한다는 말입니다. 똑같은 기능을 여러개의 스토리로 만들어서는 안되겠죠?
  • Negotiable : 정하면 끝! 낙장불입! 아닙니다. 계속 변경 가능합니다. 그렇기 때문에 처음부터 완벽할 필요는 없습니다. 그런 스토리 작성을 요구해도 안됩니다. 러프한 스토리에서 시작해서 개발, 고객이 함께 이야기하면서 분리, 합체, 추가, 삭제를 하면서 완성된 스토리를 만들어 나아가야 합니다.
  • Valuable : 설명할 필요가 있을까 싶네요. 고객 만족이 필요합니다.
  • Estimable : 사람의 두뇌로 상황을 추정할 수 있도록 상세하고 적당한 크기여야 합니다. '고객 정보 관리' 같은 규모는 하나의 스토리가 되기 어렵습니다. 이것은 EPIC으로 관리하면 되고, 더 잘게 쪼개서... "사용자 정보 입력 받기", "사용자 정보 확인하기", "비밀번호 찾기" 와 같은 규모로 잘라서 모두가 구체적으로 이해할 수 있어야 합니다.
  • Small : 기본적으로 애자일 개발을 전제로 하기 때문에 최대 2주가 넘지 않는 규모로 구성되는 것이 좋습니다.
  • Testable : 가장 중요한 부분으로 구현이 완료된 후 종료를 확인할 수 있도록 확실한 테스트 방법이 있어야 합니다. 이번에 구현을 했는데, 이번 스프린트에서는 테스트하기가 어렵다면, 스프린트 설계에 문제가 있다고 볼 수도 있습니다.

막상 사용자 스토리를 적어보라고 하면... 뭘 어떻게 적어야 하지? 라는 고민이 많습니다. 이럴때는 위에 소개드린 INVEST 모델을 염두에 두고, 템플릿에 맞주어서 작성을 시작해 보시길 권해 드립니다.

[참고자료]
WIKI 백과: https://en.wikipedia.org/wiki/User_story
스토리 작성 기초 : https://brunch.co.kr/@workingus/36
스토리 작성 심화: https://wholeman.dev/posts/guide-to-writing-correct-user-stories/

반응형

관련글 더보기