목표는 사용자에게 접근해서 우리 제품이 어떤 것이어야 하는지에 대해 배울 수 있는 최소한의 특성 집합을 정의하는 것이다. 사용자 스토리를 작성함으로써 이런 특성을 구체화할 수 있다.
사용자 스토리 정의하기
애자일 소프트웨어 개발에서 사용자 스토리는 아주 유용한 도구다. 사용자 스토리는 사용자 관점에서 소프트웨어 특성을 잡아낼 수 있는 방법이다. 레이첼 데이비스(Rachel Davies)의 이야기를 보자.
사용자 스토리는 알과 같은 한 가지 아이디어에서 시작한다. 아이디어가 껍질을 깨면 대화를 낳는데, 아이디어는 대화를 통해서 자라나면서 애벌레처럼 모양을 바꾼다. 대화는 번데기처럼 구체적인 테스트 케이스로 귀결된다. 테스트 케이스에는 소프트웨어가 해야 할 일이 들어 있으며, 소프트웨어는 스토리의 테스트들에 둘러싸여 모양을 갖춰나간다. 마지막으로 아름다운 나비처럼 작동하는 소프트웨어가 나타난다. 소프트웨어가 사용자 피드백과 새로운 아이디어를 만들어내면서, 이런 과정이 온전한 사이클을 이루게 된다.
- 『애자일 코칭(Agile Coaching)』[DS09]
이 책의 예제는 우리가 고객인 동시에 개발자이므로, 두 가지 역할을 계속 분리하도록 노력할 것이다.