SlideShare a Scribd company logo
1 of 21
고객 중심의 요구사항 기법
사용자 스토리
2015.04.
ITSM 팀
정희찬
References
마이크 콘 지음
한주영 외 옮김
인사이트
초판 3쇄 (2009년 9월 4일)
사용자 스토리 (User Stories Applied)
Steps
1. 사용자 스토리란 무엇인가?
2. 왜 사용자 스토리인가?
3. 스토리 작성 개요
4. 사용자 역할 모델링
5. 스토리 수집
6. 스토리 추정
7. 릴리즈 / 이터레이션 계획
사용자 스토리 정의
사용자 스토리는 소프트웨어의 사용자나 구매자에게 가치를 줄 수 있는 기능을 서술한 것이다.
스토리는 서술 형태로 기술되며, 계획하거나 기억하기 위한 단서로 사용된다.
전통적으로 인덱스 카드에 작성되어서 카드라고 표현
문서화하기 위한 목적이 아닌 고객의 요구사항을 표현하기 위한 목적
스토리는 대화를 통해 세부사항을 구체화한다.
스토리는 테스트를 통해 세부사항을 문서화하고 전달하며, 스토리의 완료 여부를 판단한다.
Card
Conversation
Confirmation
사용자 스토리 정의
사용자 스토리는 소프트웨어의 사용자나 구매자에게 가치를 줄 수 있는 기능을 서술한 것이다.
기업은 채용 정보를 게시할 수 있다.
사용자는 자신의 이력서를 열람할 사람을 제한할 수 있다.
프로그램은 커넥션풀을 통해 데이터베이스에 연결한다.
소프트웨어는 C++로 작성한다.
고객에게 가치를 평가 받을 수 있는 기능을 표현해야 함
Steps
1. 사용자 스토리란 무엇인가?
2. 왜 사용자 스토리인가?
3. 스토리 작성 개요
4. 사용자 역할 모델링
5. 스토리 수집
6. 스토리 추정
7. 릴리즈 / 이터레이션 계획
 일반적으로 사용자와 고객은 자신이 원하는 것을 정확히 알지 못한다.
 소프트웨어 개발자가 모든 요구사항을 파악했더라도, 그 소프트웨어를 개발하
기 위해 필요한 많은 세부사항은 시스템을 개발하면서 비로소 명확해진다.
 모든 세부사항을 미리 알 수 있다 해도 인간인 이상 그 모든 것을 이해하기는
힘들다.
 우리가 모든 것을 이해할 수 있더라도 제품이나 프로젝트에는 변경사항이 발
생하기 마련이다.
 사람을 실수를 한다.
1986 파나스, 클레멘츠
구두 의사소통을 강조
이해가 쉬운 사용자 스토리
계획수립에 적합한 크기
반복적 개발에 효과적
세부사항을 나중에 고려
기회주의적 개발 지원
참여적 설계를 유도
암묵적 지식 축적
사용자 스토리의 장단점
대규모일 경우 스토리 구조화의
어려움으로 추가적인 문서 작업
이 필요
대규모일 경우 문서를 완전히 대
체 불가
Steps
1. 사용자 스토리란 무엇인가?
2. 왜 사용자 스토리인가?
3. 스토리 작성 개요
4. 사용자 역할 모델링
5. 스토리 수집
6. 스토리 추정
7. 릴리즈 / 이터레이션 계획
좋은 사용자 스토리 원칙
독립적이다. (Independent)
협상 가능하다 (Negotiable)
사용자 및 고객에게 가치가 있다. (Valuable)
추정 가능하다 (Estimatable)
작다 (Small)
테스트 가능하다 (Testable)
INVEST
- 독립적이지 못한 스토리는 우선순위와 계획에 문제가 생김
- 통합 혹은 분류 방식 변환으로 해결
- 계약서나 요구사항 명세서가 아님
- 모든 세부사항을 처음부터 모두 포함하는 경우 대화에 오히려 방해.
(정확도와 정밀도의 차이)
- 개발자에게만 가치가 있는 스토리는 꼭 피하자.
- 도메인 지식 부족 -> 전반적인 이해는 필요
- 기술 부족 -> 스파이크 (스파이크는 다른 이터레이션)
- 너무 큰 스토리 -> 일정에 따라 분리
- 적정한 크기를 가지도록 기준 수립 필요 (1일 미만 ~ 일주일정도?)
- 인수기준이 표현되도록 작성 (‘절대~하지 않는다.’, ‘오래’, ‘쉽게’ 같은 단어 배제)
- 테스트 자동화
스토리 기법 진행
사용자 역할 모델링
릴리즈, 이터레이션 계획
스토리 수집
스토리 추정
Steps
1. 사용자 스토리란 무엇인가?
2. 왜 사용자 스토리인가?
3. 스토리 작성 개요
4. 사용자 역할 모델링
5. 스토리 수집
6. 스토리 추정
7. 릴리즈 / 이터레이션 계획
사용자 모델링
어쩌면 우리는 무의식 중에 한 종류의 사용자만 있고 한 명의 사용자 관점에서 생각하고 다른 모든 사용자
가 같은 목적을 가지고 있다고 가정하는 것은 아닐까?
브레인 스토밍
• 고객과 개발자가 같은 물리적 공간에서 더 이상 나오지 않을 때까지 역할을 뽑아낸다.
• 브레인 스토밍이므로 평가는 하지 않는다.
조직화 및 역할 통합
• 비슷하거나 중첩되는 역할을 묶고 토론을 통해 역할을 합치거나 교체한다.
• 때에 따라 필요가 없는 역할을 제외한다.
역할 다듬기
• 정리된 역할에 대해 속성을 정리한다.
• 지식 수준, 사용빈도, 숙련도, 사용 목적 등 => 등장인물 만들기, 극단적 인물 만들기
Steps
1. 사용자 스토리란 무엇인가?
2. 왜 사용자 스토리인가?
3. 스토리 작성 개요
4. 사용자 역할 모델링
5. 스토리 수집
6. 스토리 추정
7. 릴리즈 / 이터레이션 계획
스토리 수집 기법
1. 사용자 인터뷰
- 대화는 사용자 스토리 기법에서 가장 중요하게 생각하는 부분. 스토리 카드도 이 대화를 유도하
기 위한 장치임을 기억
- 질문은 단답식으로 답변을 유도하는 질문이 아닌 이야기를 풀어놓을 수 있는 질문을 유도
2. 설문 조사
- 현실적으로 인터뷰가 불가능한 폭넓은 사용자 층에 대한 조사에 유용
- 최초 스토리 작성보다는 어느 정도 작성된 스토리에 대한 추가 정보 수집에 유용
3. 관찰
- 실제 사용자가 SW를 사용하는 패턴을 직접 확인하고, 관련 업무에 대한 기존 프로세스를 관찰
4. 스토리 작성 워크숍
- 관련된 개발자, 사용자, 고객들을 모두 포함하여 가능한 많은 스토리를 뽑아내는 방법
- 우선순위를 매기지는 않고, “나는 <역할>로서 <비즈니스 가치>를 위해 <기능>을 원한다.” 와 같
은 형식으로 작성
Steps
1. 사용자 스토리란 무엇인가?
2. 왜 사용자 스토리인가?
3. 스토리 작성 개요
4. 사용자 역할 모델링
5. 스토리 수집
6. 스토리 추정
7. 릴리즈 / 이터레이션 계획
추정 및 속도
스토리 점수
스토리 점수와 팀 속도
• 각 스토리 별 예상 작업 일을 기준으로 점수 부여
• 개발자가 직접 추정을 해야 하며 팀 전체가 함께 추정한다. (Wideband Delphi)
• 너무 큰 점수의 스토리의 경우, 작은 스토리로 분리한다.
• 스토리가 점수가 너무 크면 계획 추정에 적합하지 않고 정확성이 많이 부족함.
• 같은 스토리에 대해서도 팀 별로 점수는 다르다는 점을 유의
• 에픽(Epic)을 작은 스토리로 나눌 경우 합은 최초 에픽과 다른 점수이다.
• 자신의 팀에 맞게 정직하게, 일관되게 기준을 유지
• 처음에는 점수가 많이 불확실해도 진행됨에 따라 정확도가 나아짐.
• 이렇게 정리된 점수에 따라 하나의 이터레이션, 릴리즈에 처리할 수 있는 팀의 속도 (처리 가능한 스
토리점수)가 예상 가능
Steps
1. 사용자 스토리란 무엇인가?
2. 왜 사용자 스토리인가?
3. 스토리 작성 개요
4. 사용자 역할 모델링
5. 스토리 수집
6. 스토리 추정
7. 릴리즈 / 이터레이션 계획
Release, Iteration, Velocity
User Story 의 묶음 => Iteration
 Iteration은 모두 크기가 같음.
 즉, 1~4주와 같이 팀과 프로젝트의 상황에 맞게 정해진 기간
 스토리에 대한 충분한 토의를 기반으로 함
 점수를 기반으로 하지만 일정을 개별로 가야 하지 않을까?
Iteration 의 묶음 => Release
 Release는 배포, 시연 등의 Milestone과 연계될 수 있을 듯.
 Iteration, Release의 순서는 우선순위에 기반
Release Iteration Story Task
1
A
사용자는…
UI작성
테이블 설계
승인자는… …
B 담당자는… …
일정 수립
Remember?
Really possible?
 팀의 미션, 비전, 핵심 가치
 스토리 카드
 유저 역할 모델
 스토리 점수
 팀 속도
 이터레이션, 릴리즈
 함께 앉기 (Sit Together) ●
 전체 팀 (Whole Team) ○ - Role 정의
 정보를 제공하는 작업 공간 (Informative Workspace) ○ - 방법 고민
 활기찬 작업 (Energized Work) ○ - 근무시간 준수
 짝 프로그래밍 (Pair Programming)
 스토리 (Story)
 여유 (Slack) ○ - 우선순위 선별
 일주일별 주기 (Weekly Cycle) ○ - 주간회의
 분기별 주기 (Quarterly Cycle) ○ - 분기별 목표 수립
 10분 빌드 (Ten-minute Build) ○ - 자동화
 지속적 통합 (Continuous Integration) ○ - 자동화
 테스트 우선 프로그래밍 (Test Driven Development) ○ - 가장 중요
 점진적 설계 (Incremental Design) ○ - 가장 중요

More Related Content

What's hot

잘하면고효율, 못하면가문의원수가되는 짝프로그래밍 (Effective Pair Programming with Lessons Learned)
잘하면고효율, 못하면가문의원수가되는 짝프로그래밍 (Effective Pair Programming with Lessons Learned)잘하면고효율, 못하면가문의원수가되는 짝프로그래밍 (Effective Pair Programming with Lessons Learned)
잘하면고효율, 못하면가문의원수가되는 짝프로그래밍 (Effective Pair Programming with Lessons Learned)Suwon Chae
 
스크럼 리뷰 이지원 발표용
스크럼 리뷰 이지원 발표용스크럼 리뷰 이지원 발표용
스크럼 리뷰 이지원 발표용지원 이
 
개발자와 기획자, 디자이너가 함께 일하기 위한 가장 가장 간단한 도구
개발자와 기획자, 디자이너가 함께 일하기 위한 가장 가장 간단한 도구개발자와 기획자, 디자이너가 함께 일하기 위한 가장 가장 간단한 도구
개발자와 기획자, 디자이너가 함께 일하기 위한 가장 가장 간단한 도구AgileKoreaConference Alliance
 
0. review. 린과 애자일 개발
0. review. 린과 애자일 개발0. review. 린과 애자일 개발
0. review. 린과 애자일 개발Unyong (Sheldon) Choi
 
애자일을 실천하는 사람들이 겪는 어려움
애자일을 실천하는 사람들이 겪는 어려움애자일을 실천하는 사람들이 겪는 어려움
애자일을 실천하는 사람들이 겪는 어려움Bonna Choi
 
애자일 프랙티스
애자일 프랙티스애자일 프랙티스
애자일 프랙티스한 경만
 
스크럼을 이용한 게임 개발
스크럼을 이용한 게임 개발스크럼을 이용한 게임 개발
스크럼을 이용한 게임 개발Insub Lee
 
[Springcamp 2017] Build the RIGHT thing - 린 & 애자일 이야기 @ Pivotal Labs SF
[Springcamp 2017] Build the RIGHT thing - 린 & 애자일 이야기 @ Pivotal Labs SF[Springcamp 2017] Build the RIGHT thing - 린 & 애자일 이야기 @ Pivotal Labs SF
[Springcamp 2017] Build the RIGHT thing - 린 & 애자일 이야기 @ Pivotal Labs SFInsuk (Chris) Cho
 
모바일 앱 개발을 위한 Agile 적용
모바일 앱 개발을 위한 Agile 적용모바일 앱 개발을 위한 Agile 적용
모바일 앱 개발을 위한 Agile 적용Kevin Kim
 
애자일 안한 이야기
애자일 안한 이야기애자일 안한 이야기
애자일 안한 이야기Sungchul Park
 
실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)
실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)
실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)Kay Kim
 
Sk planet 이야기
Sk planet 이야기Sk planet 이야기
Sk planet 이야기종범 고
 
위대한개발문화
위대한개발문화위대한개발문화
위대한개발문화신승환
 
실패한 프로젝트들의 개발문화_개발방법론
실패한 프로젝트들의 개발문화_개발방법론실패한 프로젝트들의 개발문화_개발방법론
실패한 프로젝트들의 개발문화_개발방법론Suwon Chae
 
인터랙티브미디어2 - 사용성테스트
인터랙티브미디어2 - 사용성테스트인터랙티브미디어2 - 사용성테스트
인터랙티브미디어2 - 사용성테스트Ji Lee
 

What's hot (19)

잘하면고효율, 못하면가문의원수가되는 짝프로그래밍 (Effective Pair Programming with Lessons Learned)
잘하면고효율, 못하면가문의원수가되는 짝프로그래밍 (Effective Pair Programming with Lessons Learned)잘하면고효율, 못하면가문의원수가되는 짝프로그래밍 (Effective Pair Programming with Lessons Learned)
잘하면고효율, 못하면가문의원수가되는 짝프로그래밍 (Effective Pair Programming with Lessons Learned)
 
스크럼 리뷰 이지원 발표용
스크럼 리뷰 이지원 발표용스크럼 리뷰 이지원 발표용
스크럼 리뷰 이지원 발표용
 
개발자와 기획자, 디자이너가 함께 일하기 위한 가장 가장 간단한 도구
개발자와 기획자, 디자이너가 함께 일하기 위한 가장 가장 간단한 도구개발자와 기획자, 디자이너가 함께 일하기 위한 가장 가장 간단한 도구
개발자와 기획자, 디자이너가 함께 일하기 위한 가장 가장 간단한 도구
 
0. review. 린과 애자일 개발
0. review. 린과 애자일 개발0. review. 린과 애자일 개발
0. review. 린과 애자일 개발
 
애자일을 실천하는 사람들이 겪는 어려움
애자일을 실천하는 사람들이 겪는 어려움애자일을 실천하는 사람들이 겪는 어려움
애자일을 실천하는 사람들이 겪는 어려움
 
애자일 프랙티스
애자일 프랙티스애자일 프랙티스
애자일 프랙티스
 
스크럼을 이용한 게임 개발
스크럼을 이용한 게임 개발스크럼을 이용한 게임 개발
스크럼을 이용한 게임 개발
 
AKC2020 marimba 마주연
AKC2020 marimba 마주연AKC2020 marimba 마주연
AKC2020 marimba 마주연
 
[Springcamp 2017] Build the RIGHT thing - 린 & 애자일 이야기 @ Pivotal Labs SF
[Springcamp 2017] Build the RIGHT thing - 린 & 애자일 이야기 @ Pivotal Labs SF[Springcamp 2017] Build the RIGHT thing - 린 & 애자일 이야기 @ Pivotal Labs SF
[Springcamp 2017] Build the RIGHT thing - 린 & 애자일 이야기 @ Pivotal Labs SF
 
스크럼과 Xp
스크럼과 Xp스크럼과 Xp
스크럼과 Xp
 
애자일의 모든것
애자일의 모든것애자일의 모든것
애자일의 모든것
 
모바일 앱 개발을 위한 Agile 적용
모바일 앱 개발을 위한 Agile 적용모바일 앱 개발을 위한 Agile 적용
모바일 앱 개발을 위한 Agile 적용
 
애자일 안한 이야기
애자일 안한 이야기애자일 안한 이야기
애자일 안한 이야기
 
실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)
실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)
실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)
 
Sk planet 이야기
Sk planet 이야기Sk planet 이야기
Sk planet 이야기
 
위대한개발문화
위대한개발문화위대한개발문화
위대한개발문화
 
딥러닝이 바꾸는 애자일 테스팅
딥러닝이 바꾸는 애자일 테스팅딥러닝이 바꾸는 애자일 테스팅
딥러닝이 바꾸는 애자일 테스팅
 
실패한 프로젝트들의 개발문화_개발방법론
실패한 프로젝트들의 개발문화_개발방법론실패한 프로젝트들의 개발문화_개발방법론
실패한 프로젝트들의 개발문화_개발방법론
 
인터랙티브미디어2 - 사용성테스트
인터랙티브미디어2 - 사용성테스트인터랙티브미디어2 - 사용성테스트
인터랙티브미디어2 - 사용성테스트
 

Similar to Itsm팀 내부세미나 사용자스토리_정희찬

사용자 스토리 기반의 스크럼(Scrum)
사용자 스토리 기반의 스크럼(Scrum)사용자 스토리 기반의 스크럼(Scrum)
사용자 스토리 기반의 스크럼(Scrum)재능마켓 크몽
 
[교육리뷰] 스토리텔링을 통한 모바일 서비스 시나리오 작성 110321
[교육리뷰] 스토리텔링을 통한 모바일 서비스 시나리오 작성 110321[교육리뷰] 스토리텔링을 통한 모바일 서비스 시나리오 작성 110321
[교육리뷰] 스토리텔링을 통한 모바일 서비스 시나리오 작성 110321Kyungeun Kim
 
UX 디자인 7가지 비밀: 비밀 4
UX 디자인 7가지 비밀: 비밀 4UX 디자인 7가지 비밀: 비밀 4
UX 디자인 7가지 비밀: 비밀 4Nammin Lee
 
퍼소나로 완성하는 인터랙션 디자인
퍼소나로 완성하는 인터랙션 디자인퍼소나로 완성하는 인터랙션 디자인
퍼소나로 완성하는 인터랙션 디자인정인 주
 
Scenario-Based Interactive UI Design
Scenario-Based Interactive UI DesignScenario-Based Interactive UI Design
Scenario-Based Interactive UI DesignHyunjin Ahn
 
사물인터넷(IoT)/웨어러블 UX 디자인툴킷_UX-trigger for Iot/Wearable_v1
사물인터넷(IoT)/웨어러블 UX 디자인툴킷_UX-trigger for Iot/Wearable_v1사물인터넷(IoT)/웨어러블 UX 디자인툴킷_UX-trigger for Iot/Wearable_v1
사물인터넷(IoT)/웨어러블 UX 디자인툴킷_UX-trigger for Iot/Wearable_v1Limepaper, Inc.
 
Ux research guide
Ux research guideUx research guide
Ux research guideKim Taesook
 
UX 디자인 리서치 과정과 팁
UX 디자인 리서치 과정과 팁UX 디자인 리서치 과정과 팁
UX 디자인 리서치 과정과 팁Hyun-june Kwon
 
UX디자인 bookstudy
UX디자인 bookstudyUX디자인 bookstudy
UX디자인 bookstudy정인 주
 
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기Soojin Ro
 
11th.Lecture.Step3.AnalysisUX.Modeling.pdf
11th.Lecture.Step3.AnalysisUX.Modeling.pdf11th.Lecture.Step3.AnalysisUX.Modeling.pdf
11th.Lecture.Step3.AnalysisUX.Modeling.pdfJeongeun Kwon
 
책 "제품의 탄생" 소개
책 "제품의 탄생" 소개책 "제품의 탄생" 소개
책 "제품의 탄생" 소개SANGHEE SHIN
 
사용자조사 계획 Skt_제안서_fin
사용자조사 계획 Skt_제안서_fin사용자조사 계획 Skt_제안서_fin
사용자조사 계획 Skt_제안서_finJongHo Lee
 
What Can I say? Addressing User Experience Challenges of a Mobile Voice User ...
What Can I say? Addressing User Experience Challenges of a Mobile Voice User ...What Can I say? Addressing User Experience Challenges of a Mobile Voice User ...
What Can I say? Addressing User Experience Challenges of a Mobile Voice User ...skkang0617
 
Appendix uxtrigger toolkit_v1_iot_2019
Appendix uxtrigger toolkit_v1_iot_2019Appendix uxtrigger toolkit_v1_iot_2019
Appendix uxtrigger toolkit_v1_iot_2019Potentialeyes, Inc.
 
U&i insight2012스터디설명회
U&i insight2012스터디설명회U&i insight2012스터디설명회
U&i insight2012스터디설명회Amy Young Ah Kim
 
Kakao agile 2nd story
Kakao agile 2nd storyKakao agile 2nd story
Kakao agile 2nd story호정 이
 
프로젝트실무와기획의역할
프로젝트실무와기획의역할프로젝트실무와기획의역할
프로젝트실무와기획의역할Amy Young Ah Kim
 

Similar to Itsm팀 내부세미나 사용자스토리_정희찬 (20)

사용자 스토리 기반의 스크럼(Scrum)
사용자 스토리 기반의 스크럼(Scrum)사용자 스토리 기반의 스크럼(Scrum)
사용자 스토리 기반의 스크럼(Scrum)
 
User stories
User storiesUser stories
User stories
 
[교육리뷰] 스토리텔링을 통한 모바일 서비스 시나리오 작성 110321
[교육리뷰] 스토리텔링을 통한 모바일 서비스 시나리오 작성 110321[교육리뷰] 스토리텔링을 통한 모바일 서비스 시나리오 작성 110321
[교육리뷰] 스토리텔링을 통한 모바일 서비스 시나리오 작성 110321
 
UX 디자인 7가지 비밀: 비밀 4
UX 디자인 7가지 비밀: 비밀 4UX 디자인 7가지 비밀: 비밀 4
UX 디자인 7가지 비밀: 비밀 4
 
퍼소나로 완성하는 인터랙션 디자인
퍼소나로 완성하는 인터랙션 디자인퍼소나로 완성하는 인터랙션 디자인
퍼소나로 완성하는 인터랙션 디자인
 
Scenario-Based Interactive UI Design
Scenario-Based Interactive UI DesignScenario-Based Interactive UI Design
Scenario-Based Interactive UI Design
 
사물인터넷(IoT)/웨어러블 UX 디자인툴킷_UX-trigger for Iot/Wearable_v1
사물인터넷(IoT)/웨어러블 UX 디자인툴킷_UX-trigger for Iot/Wearable_v1사물인터넷(IoT)/웨어러블 UX 디자인툴킷_UX-trigger for Iot/Wearable_v1
사물인터넷(IoT)/웨어러블 UX 디자인툴킷_UX-trigger for Iot/Wearable_v1
 
Ux research guide
Ux research guideUx research guide
Ux research guide
 
UX 디자인 리서치 과정과 팁
UX 디자인 리서치 과정과 팁UX 디자인 리서치 과정과 팁
UX 디자인 리서치 과정과 팁
 
UX디자인 bookstudy
UX디자인 bookstudyUX디자인 bookstudy
UX디자인 bookstudy
 
Uxstudy persona
Uxstudy personaUxstudy persona
Uxstudy persona
 
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
 
11th.Lecture.Step3.AnalysisUX.Modeling.pdf
11th.Lecture.Step3.AnalysisUX.Modeling.pdf11th.Lecture.Step3.AnalysisUX.Modeling.pdf
11th.Lecture.Step3.AnalysisUX.Modeling.pdf
 
책 "제품의 탄생" 소개
책 "제품의 탄생" 소개책 "제품의 탄생" 소개
책 "제품의 탄생" 소개
 
사용자조사 계획 Skt_제안서_fin
사용자조사 계획 Skt_제안서_fin사용자조사 계획 Skt_제안서_fin
사용자조사 계획 Skt_제안서_fin
 
What Can I say? Addressing User Experience Challenges of a Mobile Voice User ...
What Can I say? Addressing User Experience Challenges of a Mobile Voice User ...What Can I say? Addressing User Experience Challenges of a Mobile Voice User ...
What Can I say? Addressing User Experience Challenges of a Mobile Voice User ...
 
Appendix uxtrigger toolkit_v1_iot_2019
Appendix uxtrigger toolkit_v1_iot_2019Appendix uxtrigger toolkit_v1_iot_2019
Appendix uxtrigger toolkit_v1_iot_2019
 
U&i insight2012스터디설명회
U&i insight2012스터디설명회U&i insight2012스터디설명회
U&i insight2012스터디설명회
 
Kakao agile 2nd story
Kakao agile 2nd storyKakao agile 2nd story
Kakao agile 2nd story
 
프로젝트실무와기획의역할
프로젝트실무와기획의역할프로젝트실무와기획의역할
프로젝트실무와기획의역할
 

Itsm팀 내부세미나 사용자스토리_정희찬

  • 1. 고객 중심의 요구사항 기법 사용자 스토리 2015.04. ITSM 팀 정희찬
  • 2. References 마이크 콘 지음 한주영 외 옮김 인사이트 초판 3쇄 (2009년 9월 4일) 사용자 스토리 (User Stories Applied)
  • 3. Steps 1. 사용자 스토리란 무엇인가? 2. 왜 사용자 스토리인가? 3. 스토리 작성 개요 4. 사용자 역할 모델링 5. 스토리 수집 6. 스토리 추정 7. 릴리즈 / 이터레이션 계획
  • 4. 사용자 스토리 정의 사용자 스토리는 소프트웨어의 사용자나 구매자에게 가치를 줄 수 있는 기능을 서술한 것이다. 스토리는 서술 형태로 기술되며, 계획하거나 기억하기 위한 단서로 사용된다. 전통적으로 인덱스 카드에 작성되어서 카드라고 표현 문서화하기 위한 목적이 아닌 고객의 요구사항을 표현하기 위한 목적 스토리는 대화를 통해 세부사항을 구체화한다. 스토리는 테스트를 통해 세부사항을 문서화하고 전달하며, 스토리의 완료 여부를 판단한다. Card Conversation Confirmation
  • 5. 사용자 스토리 정의 사용자 스토리는 소프트웨어의 사용자나 구매자에게 가치를 줄 수 있는 기능을 서술한 것이다. 기업은 채용 정보를 게시할 수 있다. 사용자는 자신의 이력서를 열람할 사람을 제한할 수 있다. 프로그램은 커넥션풀을 통해 데이터베이스에 연결한다. 소프트웨어는 C++로 작성한다. 고객에게 가치를 평가 받을 수 있는 기능을 표현해야 함
  • 6. Steps 1. 사용자 스토리란 무엇인가? 2. 왜 사용자 스토리인가? 3. 스토리 작성 개요 4. 사용자 역할 모델링 5. 스토리 수집 6. 스토리 추정 7. 릴리즈 / 이터레이션 계획
  • 7.  일반적으로 사용자와 고객은 자신이 원하는 것을 정확히 알지 못한다.  소프트웨어 개발자가 모든 요구사항을 파악했더라도, 그 소프트웨어를 개발하 기 위해 필요한 많은 세부사항은 시스템을 개발하면서 비로소 명확해진다.  모든 세부사항을 미리 알 수 있다 해도 인간인 이상 그 모든 것을 이해하기는 힘들다.  우리가 모든 것을 이해할 수 있더라도 제품이나 프로젝트에는 변경사항이 발 생하기 마련이다.  사람을 실수를 한다. 1986 파나스, 클레멘츠
  • 8. 구두 의사소통을 강조 이해가 쉬운 사용자 스토리 계획수립에 적합한 크기 반복적 개발에 효과적 세부사항을 나중에 고려 기회주의적 개발 지원 참여적 설계를 유도 암묵적 지식 축적 사용자 스토리의 장단점 대규모일 경우 스토리 구조화의 어려움으로 추가적인 문서 작업 이 필요 대규모일 경우 문서를 완전히 대 체 불가
  • 9. Steps 1. 사용자 스토리란 무엇인가? 2. 왜 사용자 스토리인가? 3. 스토리 작성 개요 4. 사용자 역할 모델링 5. 스토리 수집 6. 스토리 추정 7. 릴리즈 / 이터레이션 계획
  • 10. 좋은 사용자 스토리 원칙 독립적이다. (Independent) 협상 가능하다 (Negotiable) 사용자 및 고객에게 가치가 있다. (Valuable) 추정 가능하다 (Estimatable) 작다 (Small) 테스트 가능하다 (Testable) INVEST - 독립적이지 못한 스토리는 우선순위와 계획에 문제가 생김 - 통합 혹은 분류 방식 변환으로 해결 - 계약서나 요구사항 명세서가 아님 - 모든 세부사항을 처음부터 모두 포함하는 경우 대화에 오히려 방해. (정확도와 정밀도의 차이) - 개발자에게만 가치가 있는 스토리는 꼭 피하자. - 도메인 지식 부족 -> 전반적인 이해는 필요 - 기술 부족 -> 스파이크 (스파이크는 다른 이터레이션) - 너무 큰 스토리 -> 일정에 따라 분리 - 적정한 크기를 가지도록 기준 수립 필요 (1일 미만 ~ 일주일정도?) - 인수기준이 표현되도록 작성 (‘절대~하지 않는다.’, ‘오래’, ‘쉽게’ 같은 단어 배제) - 테스트 자동화
  • 11. 스토리 기법 진행 사용자 역할 모델링 릴리즈, 이터레이션 계획 스토리 수집 스토리 추정
  • 12. Steps 1. 사용자 스토리란 무엇인가? 2. 왜 사용자 스토리인가? 3. 스토리 작성 개요 4. 사용자 역할 모델링 5. 스토리 수집 6. 스토리 추정 7. 릴리즈 / 이터레이션 계획
  • 13. 사용자 모델링 어쩌면 우리는 무의식 중에 한 종류의 사용자만 있고 한 명의 사용자 관점에서 생각하고 다른 모든 사용자 가 같은 목적을 가지고 있다고 가정하는 것은 아닐까? 브레인 스토밍 • 고객과 개발자가 같은 물리적 공간에서 더 이상 나오지 않을 때까지 역할을 뽑아낸다. • 브레인 스토밍이므로 평가는 하지 않는다. 조직화 및 역할 통합 • 비슷하거나 중첩되는 역할을 묶고 토론을 통해 역할을 합치거나 교체한다. • 때에 따라 필요가 없는 역할을 제외한다. 역할 다듬기 • 정리된 역할에 대해 속성을 정리한다. • 지식 수준, 사용빈도, 숙련도, 사용 목적 등 => 등장인물 만들기, 극단적 인물 만들기
  • 14. Steps 1. 사용자 스토리란 무엇인가? 2. 왜 사용자 스토리인가? 3. 스토리 작성 개요 4. 사용자 역할 모델링 5. 스토리 수집 6. 스토리 추정 7. 릴리즈 / 이터레이션 계획
  • 15. 스토리 수집 기법 1. 사용자 인터뷰 - 대화는 사용자 스토리 기법에서 가장 중요하게 생각하는 부분. 스토리 카드도 이 대화를 유도하 기 위한 장치임을 기억 - 질문은 단답식으로 답변을 유도하는 질문이 아닌 이야기를 풀어놓을 수 있는 질문을 유도 2. 설문 조사 - 현실적으로 인터뷰가 불가능한 폭넓은 사용자 층에 대한 조사에 유용 - 최초 스토리 작성보다는 어느 정도 작성된 스토리에 대한 추가 정보 수집에 유용 3. 관찰 - 실제 사용자가 SW를 사용하는 패턴을 직접 확인하고, 관련 업무에 대한 기존 프로세스를 관찰 4. 스토리 작성 워크숍 - 관련된 개발자, 사용자, 고객들을 모두 포함하여 가능한 많은 스토리를 뽑아내는 방법 - 우선순위를 매기지는 않고, “나는 <역할>로서 <비즈니스 가치>를 위해 <기능>을 원한다.” 와 같 은 형식으로 작성
  • 16. Steps 1. 사용자 스토리란 무엇인가? 2. 왜 사용자 스토리인가? 3. 스토리 작성 개요 4. 사용자 역할 모델링 5. 스토리 수집 6. 스토리 추정 7. 릴리즈 / 이터레이션 계획
  • 17. 추정 및 속도 스토리 점수 스토리 점수와 팀 속도 • 각 스토리 별 예상 작업 일을 기준으로 점수 부여 • 개발자가 직접 추정을 해야 하며 팀 전체가 함께 추정한다. (Wideband Delphi) • 너무 큰 점수의 스토리의 경우, 작은 스토리로 분리한다. • 스토리가 점수가 너무 크면 계획 추정에 적합하지 않고 정확성이 많이 부족함. • 같은 스토리에 대해서도 팀 별로 점수는 다르다는 점을 유의 • 에픽(Epic)을 작은 스토리로 나눌 경우 합은 최초 에픽과 다른 점수이다. • 자신의 팀에 맞게 정직하게, 일관되게 기준을 유지 • 처음에는 점수가 많이 불확실해도 진행됨에 따라 정확도가 나아짐. • 이렇게 정리된 점수에 따라 하나의 이터레이션, 릴리즈에 처리할 수 있는 팀의 속도 (처리 가능한 스 토리점수)가 예상 가능
  • 18. Steps 1. 사용자 스토리란 무엇인가? 2. 왜 사용자 스토리인가? 3. 스토리 작성 개요 4. 사용자 역할 모델링 5. 스토리 수집 6. 스토리 추정 7. 릴리즈 / 이터레이션 계획
  • 19. Release, Iteration, Velocity User Story 의 묶음 => Iteration  Iteration은 모두 크기가 같음.  즉, 1~4주와 같이 팀과 프로젝트의 상황에 맞게 정해진 기간  스토리에 대한 충분한 토의를 기반으로 함  점수를 기반으로 하지만 일정을 개별로 가야 하지 않을까? Iteration 의 묶음 => Release  Release는 배포, 시연 등의 Milestone과 연계될 수 있을 듯.  Iteration, Release의 순서는 우선순위에 기반 Release Iteration Story Task 1 A 사용자는… UI작성 테이블 설계 승인자는… … B 담당자는… … 일정 수립
  • 21. Really possible?  팀의 미션, 비전, 핵심 가치  스토리 카드  유저 역할 모델  스토리 점수  팀 속도  이터레이션, 릴리즈  함께 앉기 (Sit Together) ●  전체 팀 (Whole Team) ○ - Role 정의  정보를 제공하는 작업 공간 (Informative Workspace) ○ - 방법 고민  활기찬 작업 (Energized Work) ○ - 근무시간 준수  짝 프로그래밍 (Pair Programming)  스토리 (Story)  여유 (Slack) ○ - 우선순위 선별  일주일별 주기 (Weekly Cycle) ○ - 주간회의  분기별 주기 (Quarterly Cycle) ○ - 분기별 목표 수립  10분 빌드 (Ten-minute Build) ○ - 자동화  지속적 통합 (Continuous Integration) ○ - 자동화  테스트 우선 프로그래밍 (Test Driven Development) ○ - 가장 중요  점진적 설계 (Incremental Design) ○ - 가장 중요

Editor's Notes

  1. 더 따뜻하게… 완벽한 요구사항 문서란 존재 가능한가 – 표현의 애매함, 초반에는 고객도 요구사항을 모름 IEEE830