본문 바로가기
프로젝트/정보

[요구사항 정의] 사용자 스토리 (User Story)

by Tarra 2022. 6. 13.

 

 

사용자 스토리 (User Story)는 요구사항을 정의하기 위한 한 방법으로서 주로 에자일(Agile)과 XP(eXtreme Programming) 방법론에서 많이 활용한다.

 

  • 에자일(Agile) 방법론

 

소프트웨어 개발 방법론 중 하나로, 처음부터 끝까지 계획을 수립하고 개발하는 폭포수 (Waterfall) 방법론과는 달리, 개발과 함께 즉시 피드백을 받아 유동적으로 개발하는 방법이다.

 

 

 

  • XP(eXtreme Programming)

 

수시로 발생하는 요구사항에 유연한 대응을 위해 고객의 참여와 개발 과정의 반복을 극대화하여 생산성을 높이는 방법이다. 짧고 반복적인 개발 주기와, 단순한 설계, 고객의 적극적인 참여로 소프트웨어를 빠르게 개발하는 것이 목적인 개발론이다.

 

 

사용자 스토리는 일반적으로 다음과 같이 작성하며,

 

나는 <사용자 유형>의 입장에서, <구체적인 이유>를 위한 <목표>를 원한다.

 

[ 배달의 민족 앱 사용 경험 개선 ]
배달의 민족 사용자들    은/는
좀 더 만족스러운 앱 사용 경험을 받기    위해서
평점을 중심으로 정렬되어 있는 리뷰    을/를 원한다.

 

아래의 것들을 포함한다.

  • 서술 : 위와 같은 문장
  • 대화 : 세부사항은 <대화>를 통해 구체화한다.
  • 테스트 : 세부사항을 문서화한 것으로, 스토리의 완료 조건을 설명한다.

 

특징

사용자 스토리의 경우 사용자에게 어떠한 것이 필요한지에 대해 알아보기 위한 것으로 이를 위해 기존의 요구사항 정의 방법과는 달리 사용자 중심의 입장에서 사용자 입장에서 서술이 된다.

 

 

 

사용자 스토리를 잘 작성하기 위한 지침

  • 사용자가 서비스를 사용하는 <주 목적>을 중심으로 작성할 것.
  • 한 명의 사용자에 대해서 작성한다.
  • 닫힌 스토리로 작성한다. (결과가 정해져 있어야 함 / 열린 결말 x)
  • 하나의 스토리가 시작부터 끝까지 기능을 제공하도록 작성한다.
  • 능동태로 작성한다. (나는 ~~을 ~~ 한다.)
  • 제약사항을 기록한다.
  • 가까운 시기에 개발할 기능은 작은 (디테일한) 스토리로, 나중에 개발할 기능은 큰 (추상적인) 스토리로 작성한다.

 

사용자 스토리로 인한 기대점

  • 실제로 필요한 시점까지 세부사항을 정하는 것을 미룰 수 있게 되며, 전체 요구사항을 파악하는데 필요한 비용을 줄일 수 있다.
  • 사용자가 가장 필요로 하는 기능부터 개발을 할 수 있다.
  • 변경과 변화에 용이하다.