re tutorial user stories
TRANSCRIPT
![Page 1: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/1.jpg)
User story best practices requirements in agile context
Garm Lucassen and Sjaak Brinkkemper, 12 September 2016Utrecht University, The Netherlands
![Page 2: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/2.jpg)
Lucassen & Brinkkemper 12 September 2016
Today
• User story basics
• Improving user story quality
• Embedding user stories in agile practice
• Advanced analysis
2
![Page 3: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/3.jpg)
Lucassen & Brinkkemper 12 September 2016
Garm Lucassen• PhD @ Utrecht University
- Software product management • students • professionals
- User stories
• Contact: [email protected]
• http://garmlucassen.nl • http://softwareproductmanagement.org
3
![Page 4: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/4.jpg)
Lucassen & Brinkkemper 12 September 2016
Sjaak Brinkkemper• Professor Software Production @ Utrecht University
- Leads research group of 35 staff and PhDs
- Product Software: Methodology of Development, Implementation and Entrepreneurship
• Contact: [email protected]
• http://www.uu.nl/staff/SBrinkkemper/0
4
![Page 5: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/5.jpg)
Lucassen & Brinkkemper 12 September 2016
How about you?• Name
• Company
• Role
• Experience with user stories
• What do you hope to learn today?
5
![Page 6: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/6.jpg)
6
Schedule Time1 Introduction 8.302 Familiarize with user story concept 9.003 Exercise 1: creating user stories 9.154 Varieties in industry 9.455 Coffee break 10.006 Industry survey 10.307 User story quality basics 11.308 Lunch 12.009 Quality User Story Framework 13.3010 Exercise II: Grimm Tool 14.3011 Coffee break 15.0012 User stories in agile practice 15.3013 Advances in user story analysis 16.1514 Exercise 3: Visual Narrator 16.4515 Contribute to ongoing research and closing 17.00
![Page 7: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/7.jpg)
Lucassen & Brinkkemper 12 September 20167
What is a user story?• “As a Visitor, I want to purchase an event ticket”
• “As a visitor, I want to search for new events by favorited organizers so that I am the first to know of new events”
• “As a Visitor, I want to be notified when an event is close to becoming sold out, so that I do not miss the event”
![Page 8: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/8.jpg)
Lucassen & Brinkkemper 12 September 2016
What is a user story?
8
• User stories represent customer requirements in a card, leading to conversation and confirmation (Jeffries, 2001)
• User stories only capture the essential elements of a requirement: - who it is for - what it expects from the system - why it is important (optional?)
• Simple format used by 70% of practitioners
who what why
(Connextra)As a role I want to action (so that benefit, , )
(Lucassen et al., 2016)
![Page 9: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/9.jpg)
Lucassen & Brinkkemper 12 September 20169
What is a user story?• “As a Visitor, I want to purchase an event ticket”
• “As a visitor, I want to search for new events by favorited organizers so that I am the first to know of new events”
• “As a Visitor, I want to be notified when an event is close to becoming sold out, so that I do not miss the event”
“As a Visitor I want to search for new events by favorited organizers
so that I am the first to know of new events”
, ,
![Page 10: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/10.jpg)
Lucassen & Brinkkemper 12 September 2016
History• First mention in Kent Beck’s 1999 book
Extreme Programming Explained - Unstructured text - Similar to use cases - Restricted in size
• Jeffries 2001: card, conversation, confirmation
• Widespread popularity after Mike Cohn’s User Stories Applied in 2004
10
![Page 11: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/11.jpg)
Lucassen & Brinkkemper 12 September 2016
Popularity• 45% of practitioners employ user stories (Kassab, 2015)
• In agile: 90%! (Wang, 2015)
11
![Page 12: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/12.jpg)
Lucassen & Brinkkemper 12 September 2016
Exercise 1Creating user stories
• We are going to create user stories for an event ticketing service: TicketExpert
• The fundamental stories are: - “As an Organizer, I want to distribute tickets, so that visitors can attend my event”
- “As a Visitor, I want to attend an event, so I can see an artist perform”
- “As a Visitor, I want to one click purchase tickets, so that I do not need to supply my personal information with every purchase”
- “As a TicketExpert Employee, I want to manage events”
• Expand upon this list by creating 6 user stories: - Create 3 simple user stories
- Create 2 more advanced user stories
- How about a quality attribute?
12
![Page 13: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/13.jpg)
Functional architecture
On-lineEventTicketing
Productscope
ticketingcontract
eventrequestbooking
tickettypesbankingdetails
payeeinteraction
optionstermsofservices
customerdetails
eventdetails
Contractmanagement
TicketsalesPay-ment
Acqui-sition
Module
Informationflow
![Page 14: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/14.jpg)
FA on module level: Ticket sales
Modulescope
Event registration
Event reporting
templates
booking
reports
tickettypesfinalticket
payment details
Visitor management eventdetails
Ticketselection
Pre-payment arrangement
Ticketsales
Typemanagement
packagestructures
ticketoverview
visitordetails
Sub-module
![Page 15: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/15.jpg)
Lucassen & Brinkkemper 12 September 2016
Exercise 1Creating user stories
• We are going to create user stories for an event ticketing service: TicketExpert
• The fundamental stories are: - “As an Organizer, I want to distribute tickets, so that visitors can attend my event”
- “As a Visitor, I want to attend an event, so I can see an artist perform”
- “As a Visitor, I want to one click purchase tickets, so that I do not need to supply my personal information with every purchase”
- “As a TicketExpert Employee, I want to manage events”
• Expand upon this list by creating 6 user stories: - Create 3 simple user stories
- Create 2 more advanced user stories
- How about a quality attribute?
15
![Page 16: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/16.jpg)
Lucassen & Brinkkemper 12 September 2016
Exercise evaluation• How did it go?
• Things to consider - Why part is very important! - Don’t force a story into its format when its unnatural - Remember: business/domain/application language, - No technical details!
• What did you observe for your own stories?
16
![Page 17: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/17.jpg)
Lucassen & Brinkkemper 12 September 2016
Exercise evaluation• How did it go?
• Things to consider - Is your role the actual role? - Why part is very important! - Don’t force a story into its format when its unnatural - Remember: business/domain/application language, - No technical details!
• What did you observe for your own stories?
• Save stories as input for exercise 2!
17
![Page 18: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/18.jpg)
18
Schedule Time1 Introduction 8.302 Familiarize with user story concept 9.003 Exercise 1: creating user stories 9.154 Varieties in industry 9.455 Coffee break 10.006 Industry survey 10.307 User story quality basics 11.308 Lunch 12.009 Quality User Story Framework 13.3010 Exercise II: Grimm Tool 14.3011 Coffee break 15.0012 User stories in agile practice 15.3013 Advances in user story analysis 16.1514 Exercise 3: Visual Narrator 16.4515 Contribute to ongoing research and closing 17.00
![Page 19: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/19.jpg)
Lucassen & Brinkkemper 12 September 2016
Industry survey• Survey w/182 responses & 21 follow-up interviews
• Use of user stories - Development Methods - Templates
• Perception of user story effectiveness - Impact on productivity? - Impact on work deliverable quality?
19
(Lucassen et al. 2016a)http://bit.ly/us_effective
![Page 20: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/20.jpg)
Lucassen & Brinkkemper 12 September 2016
Usage
20
As a role I want to action (so that benefit, , )
User Story Quality
Pragmatic
Complete Independent Uniform UniqueEstimatable Full sentence
Semantic
Conflict-free UnambiguousProblem-oriented Conceptually sound
SyntacticMinimal Atomic Well-formed
IndependentNegotiable Valuable Estimable Simple Testable
• 70% use the Connextra template (10% w/o optional)
• Minority uses pre-defined quality guidelines like INVEST (23,5%) or QUS
![Page 21: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/21.jpg)
Lucassen & Brinkkemper 12 September 2016
How are user stories applied?
• Huge diversity
• User story is the most granular representation of a requirement developers use to build new features
• Strong connection to Scrum (94%)
21
![Page 22: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/22.jpg)
“For me, user stories and Scrum are interconnected”
22
- Requirements engineer
![Page 23: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/23.jpg)
23
Schedule Time1 Introduction 8.302 Familiarize with user story concept 9.003 Exercise 1: creating user stories 9.154 Industry survey introduction 9.455 Coffee break 10.006 Industry survey continued 10.307 User story quality basics 11.308 Lunch 12.009 Quality User Story Framework 13.3010 Exercise II: Grimm Tool 14.3011 Coffee break 15.0012 User stories in agile practice 15.3013 Advances in user story analysis 16.1514 Exercise 3: Visual Narrator 16.4515 Contribute to ongoing research and closing 17.00
![Page 24: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/24.jpg)
24
Schedule Time1 Introduction 8.302 Familiarize with user story concept 9.003 Exercise 1: creating user stories 9.154 Varieties in industry 9.455 Coffee break 10.006 Industry survey 10.307 User story quality basics 11.308 Lunch 12.009 Quality User Story Framework 13.3010 Exercise II: Grimm Tool 14.3011 Coffee break 15.0012 User stories in agile practice 15.3013 Advances in user story analysis 16.1514 Exercise 3: Visual Narrator 16.4515 Contribute to ongoing research and closing 17.00
![Page 25: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/25.jpg)
User Story Effectiveness- Perception of all practitioners - The role of using a template - The impact of quality guidelines - Technical vs. non-technical roles
25
Lucassen, G., Dalpiaz, F., van der Werf, J. M. E., & Brinkkemper, S. (2016a). The use and effectiveness of user stories in practice. In REFSQ (pp. 205-222).
http://bit.ly/us_effective
![Page 26: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/26.jpg)
Garm Lucassen12 September 2016
9%
8%
13%
14%
7%
10%
68%
61%
54%
53%
48%
40%
23%
31%
32%
33%
45%
51%
S6. Quality − guidelines
S5. Productivity − guidelines
S4. Quality − template
S3. Productivity − template
S2. Quality
S1. Productivity
Percentage
Strongly Disagree Disagree Neither Agree nor Disagree Agree Strongly Agree
source_data_role_r
Perception of all practitioners
26
11%
15%
15%
33%
22%
37%
52%
52%
33%
30%
30%
22%
37%
33%
52%
37%
48%
41%
6. Quality − guidelines
5. Productivity − guidelines
4. Quality − template
3. Productivity − template
2. Quality
1. Productivity
Percentage
Strongly Disagree Disagree Neither Agree nor Disagree Agree Strongly Agree
non_template
9%
8%
13%
14%
7%
10%
68%
61%
54%
53%
48%
40%
23%
31%
32%
33%
45%
51%
![Page 27: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/27.jpg)
Garm Lucassen12 September 2016
Perception of all practitioners11%
15%
15%
33%
22%
37%
52%
52%
33%
30%
30%
22%
37%
33%
52%
37%
48%
41%
6. Quality − guidelines
5. Productivity − guidelines
4. Quality − template
3. Productivity − template
2. Quality
1. Productivity
Percentage
Strongly Disagree Disagree Neither Agree nor Disagree Agree Strongly Agree
non_template
9%
8%
13%
14%
7%
10%
68%
61%
54%
53%
48%
40%
23%
31%
32%
33%
45%
51%
9%
8%
13%
14%
7%
10%
68%
61%
54%
53%
48%
40%
23%
31%
32%
33%
45%
51%
S6. Quality − guidelines
S5. Productivity − guidelines
S4. Quality − template
S3. Productivity − template
S2. Quality
S1. Productivity
Percentage
Strongly Disagree Disagree Neither Agree nor Disagree Agree Strongly Agree
source_data_role_r
27
Practitioners agree, productivity and work deliverable quality increases when using: - user stories - templates
![Page 28: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/28.jpg)
Garm Lucassen12 September 2016
Perception of all practitioners11%
15%
15%
33%
22%
37%
52%
52%
33%
30%
30%
22%
37%
33%
52%
37%
48%
41%
6. Quality − guidelines
5. Productivity − guidelines
4. Quality − template
3. Productivity − template
2. Quality
1. Productivity
Percentage
Strongly Disagree Disagree Neither Agree nor Disagree Agree Strongly Agree
non_template
9%
8%
13%
14%
7%
10%
68%
61%
54%
53%
48%
40%
23%
31%
32%
33%
45%
51%
9%
8%
13%
14%
7%
10%
68%
61%
54%
53%
48%
40%
23%
31%
32%
33%
45%
51%
S6. Quality − guidelines
S5. Productivity − guidelines
S4. Quality − template
S3. Productivity − template
S2. Quality
S1. Productivity
Percentage
Strongly Disagree Disagree Neither Agree nor Disagree Agree Strongly Agree
source_data_role_r
28
Respondents are ambivalent about quality guidelines
![Page 29: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/29.jpg)
Garm Lucassen12 September 2016
Perception of all practitioners11%
15%
15%
33%
22%
37%
52%
52%
33%
30%
30%
22%
37%
33%
52%
37%
48%
41%
6. Quality − guidelines
5. Productivity − guidelines
4. Quality − template
3. Productivity − template
2. Quality
1. Productivity
Percentage
Strongly Disagree Disagree Neither Agree nor Disagree Agree Strongly Agree
non_template
9%
8%
13%
14%
7%
10%
68%
61%
54%
53%
48%
40%
23%
31%
32%
33%
45%
51%
9%
8%
13%
14%
7%
10%
68%
61%
54%
53%
48%
40%
23%
31%
32%
33%
45%
51%
S6. Quality − guidelines
S5. Productivity − guidelines
S4. Quality − template
S3. Productivity − template
S2. Quality
S1. Productivity
Percentage
Strongly Disagree Disagree Neither Agree nor Disagree Agree Strongly Agree
source_data_role_r
29
Very few practitioners are negative (7 - 14%)
![Page 30: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/30.jpg)
Garm Lucassen12 September 2016
“Why do you think user stories improve productivity or quality?”
30
In follow-up interviews:
![Page 31: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/31.jpg)
“The right software”
31
- 10 interviewees
![Page 32: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/32.jpg)
“User stories optimize for happiness”
32
![Page 33: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/33.jpg)
User Story Effectiveness- Perception of all practitioners - The role of using a template - The impact of quality guidelines - Technical vs. non-technical roles
33
![Page 34: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/34.jpg)
Garm Lucassen12 September 2016
Template12%
8%
52%
62%
36%
30%
12%
8%
52%
71%
36%
21%
36%
11%
32%
56%
32%
33%
36%
10%
24%
59%
40%
31%
24%
8%
32%
41%
44%
52%
16%
6%
36%
50%
48%
44%
S1. Productivity
S2. Quality
S3. Productivity − template
S4. Quality − template
S5. Productivity − guidelines
S6. Quality − guidelines
Non−Template
Template
Non−Template
Template
Non−Template
Template
Non−Template
Template
Non−Template
Template
Non−Template
Template
34
![Page 35: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/35.jpg)
12%
8%
52%
62%
36%
30%
12%
8%
52%
71%
36%
21%
36%
11%
32%
56%
32%
33%
36%
10%
24%
59%
40%
31%
24%
8%
32%
41%
44%
52%
16%
6%
36%
50%
48%
44%
S1. Productivity
S2. Quality
S3. Productivity − template
S4. Quality − template
S5. Productivity − guidelines
S6. Quality − guidelines
Non−Template
Template
Non−Template
Template
Non−Template
Template
Non−Template
Template
Non−Template
Template
Non−Template
Template
n = 155 n = 27
35
Those who use templates are more positive about templates
![Page 36: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/36.jpg)
12%
8%
52%
62%
36%
30%
12%
8%
52%
71%
36%
21%
36%
11%
32%
56%
32%
33%
36%
10%
24%
59%
40%
31%
24%
8%
32%
41%
44%
52%
16%
6%
36%
50%
48%
44%
S1. Productivity
S2. Quality
S3. Productivity − template
S4. Quality − template
S5. Productivity − guidelines
S6. Quality − guidelines
Non−Template
Template
Non−Template
Template
Non−Template
Template
Non−Template
Template
Non−Template
Template
Non−Template
Template
n = 155 n = 27
36
More positive, but no statistical confirmation.
![Page 37: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/37.jpg)
37
In follow-up interviews:“Why do you use this template?”
![Page 38: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/38.jpg)
“A template not
the template”
38
- 3 interviewees
![Page 39: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/39.jpg)
“A template not
the template”“It’s not the template that improves quality, it’s what we’re
doing - we’re sharing requirements and a template makes that easy to do and more likely that we’ll do it”.
39 - VP Engineering
![Page 40: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/40.jpg)
“The why is essential”
40
![Page 41: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/41.jpg)
“The why is essential”
“Typically, the why question is correctly answered if after the initial answer, you ask ‘why?’ again for three more times”
41- Agile coach
![Page 42: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/42.jpg)
User Story Effectiveness
42
- Perception of all practitioners - The role of using a template - The impact of quality guidelines - Technical vs. non-technical roles
![Page 43: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/43.jpg)
Garm Lucassen12 September 2016
8%
7%
10%
49%
74%
67%
43%
19%
23%
12%
5%
8%
62%
77%
68%
25%
19%
23%
17%
14%
12%
49%
58%
55%
35%
28%
33%
19%
7%
10%
47%
72%
53%
33%
21%
37%
11%
7%
10%
24%
67%
38%
65%
26%
52%
6%
5%
10%
25%
84%
52%
69%
12%
38%
S1. Productivity
S2. Quality
S3. Productivity − template
S4. Quality − template
S5. Productivity − guidelines
S6. Quality − guidelines
Yes, self−defined guidelines
Yes, INVEST
No
Yes, self−defined guidelines
Yes, INVEST
No
Yes, self−defined guidelines
Yes, INVEST
No
Yes, self−defined guidelines
Yes, INVEST
No
Yes, self−defined guidelines
Yes, INVEST
No
Yes, self−defined guidelines
Yes, INVEST
No
Quality guidelines
43
![Page 44: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/44.jpg)
Garm Lucassen12 September 2016
8%
7%
10%
49%
74%
67%
43%
19%
23%
12%
5%
8%
62%
77%
68%
25%
19%
23%
17%
14%
12%
49%
58%
55%
35%
28%
33%
19%
7%
10%
47%
72%
53%
33%
21%
37%
11%
7%
10%
24%
67%
38%
65%
26%
52%
6%
5%
10%
25%
84%
52%
69%
12%
38%
S1. Productivity
S2. Quality
S3. Productivity − template
S4. Quality − template
S5. Productivity − guidelines
S6. Quality − guidelines
Yes, self−defined guidelines
Yes, INVEST
No
Yes, self−defined guidelines
Yes, INVEST
No
Yes, self−defined guidelines
Yes, INVEST
No
Yes, self−defined guidelines
Yes, INVEST
No
Yes, self−defined guidelines
Yes, INVEST
No
Yes, self−defined guidelines
Yes, INVEST
No
Quality guidelinesn=72n=43 n=60
44
Respondents that follow quality guidelines are more positive. Respondents applying INVEST are even more positive.
![Page 45: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/45.jpg)
45
In follow-up interviews:“Why do you think quality guidelines improve work deliverable quality and productivity?”
![Page 46: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/46.jpg)
“INVEST is not a checklist”
46
IndependentNegotiable Valuable Estimable Simple Testable
- 3 interviewees
![Page 47: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/47.jpg)
“INVEST is useful for inexperienced teams”
47
IndependentNegotiable Valuable Estimable Simple Testable
- 2 interviewees
![Page 48: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/48.jpg)
User Story Effectiveness
48
- Perception of all practitioners - The role of using a template - The impact of quality guidelines - Technical vs. non-technical roles
![Page 49: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/49.jpg)
Garm Lucassen12 September 2016
Technical vs. non-technical8%
9%
61%
60%
31%
31%
6%
15%
74%
55%
20%
31%
13%
16%
56%
45%
31%
38%
9%
22%
62%
36%
28%
42%
10%
9%
48%
20%
42%
71%
6%
11%
56%
31%
39%
58%
S1. Productivity
S2. Quality
S3. Productivity − template
S4. Quality − template
S5. Productivity − guidelines
S6. Quality − guidelines
Non−Technical
Technical
Non−Technical
Technical
Non−Technical
Technical
Non−Technical
Technical
Non−Technical
Technical
Non−Technical
Technical
49
![Page 50: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/50.jpg)
Garm Lucassen12 September 2016
8%
9%
61%
60%
31%
31%
6%
15%
74%
55%
20%
31%
13%
16%
56%
45%
31%
38%
9%
22%
62%
36%
28%
42%
10%
9%
48%
20%
42%
71%
6%
11%
56%
31%
39%
58%
S1. Productivity
S2. Quality
S3. Productivity − template
S4. Quality − template
S5. Productivity − guidelines
S6. Quality − guidelines
Non−Technical
Technical
Non−Technical
Technical
Non−Technical
Technical
Non−Technical
Technical
Non−Technical
Technical
Non−Technical
Technical
50
Non-technical stakeholders are: - On average 25% more positive - Strongly in favor of quality guidelines
![Page 51: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/51.jpg)
User Story Effectiveness- Perception of all practitioners - The role of using a template - The impact of quality guidelines - Technical vs. non-technical roles
51
![Page 52: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/52.jpg)
Lucassen & Brinkkemper 12 September 2016
Key take awaysa. The simple structure of user stories enables
developing the right software, for it facilitates creating a common understanding concerning the requirement
b. Specifying the why part of a user story is essential for requirements quality.
c. Practitioners who use the INVEST quality guidelines are significantly more positive about the impact of user stories on productivity and the impact of templates on work deliverable quality.
52
![Page 53: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/53.jpg)
Garm Lucassen12 September 2016 53
We call for an increase in the diffusion of knowledge concerning quality guidelines
![Page 54: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/54.jpg)
54
Schedule Time1 Introduction 8.302 Familiarize with user story concept 9.003 Exercise 1: creating user stories 9.154 Varieties in industry 9.455 Coffee break 10.006 Industry survey 10.307 User story quality basics 11.308 Lunch 12.009 Quality User Story Framework 13.3010 Exercise II: Grimm Tool 14.3011 Coffee break 15.0012 User stories in agile practice 15.3013 Advances in user story analysis 16.1514 Exercise 3: Visual Narrator 16.4515 Contribute to ongoing research and closing 17.00
![Page 55: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/55.jpg)
Lucassen & Brinkkemper 12 September 2016
User story quality
55
Lucassen, G., Dalpiaz, F., van der Werf, J. M. E., & Brinkkemper, S. (2016b) Improving agile requirements: the Quality User Story framework and tool. Requirements Engineering Journal, 1-21.
http://bit.ly/improving_us
![Page 56: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/56.jpg)
Lucassen & Brinkkemper 12 September 2016
User story quality• Conceptual model of user stories
• INVEST
• Quality User Stories Framework
• Prevalence of errors in real user story sets
• Exercise 2: Grimm Tool
56
![Page 57: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/57.jpg)
Lucassen & Brinkkemper 12 September 2016
Meet Anne• Project manager web dev team
• Creates high quality user stories
• Developers do not
• Confused clients
57
![Page 58: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/58.jpg)
Lucassen & Brinkkemper 12 September 2016
In this tutorial section
Foundations for:
• Solving Anne’s problem
• Helping practitioners write high quality user stories
• Conducting advanced analyses in final section
58
![Page 59: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/59.jpg)
Lucassen & Brinkkemper 12 September 2016
User story template
59
As a role I want to action (so that benefit, , )
![Page 60: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/60.jpg)
Lucassen & Brinkkemper 12 September 2016
Conceptual model
60
Subject
User Story
EndMeans
Role 1 1..*
1 0..*
Format0..1
1..*has_parent
Action Verb Direct Object
Indirect objectAdjective
1
Epic
1..*has
QualityClarification
0..* 0..*
11
1 1 10..* 0..*
Dependency
0..*
![Page 61: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/61.jpg)
Lucassen & Brinkkemper 12 September 2016
“As a User, I want to search for new events by favorited organizers,
so that I am the first to know of new events”
Conceptual model
61
User Story
EndMeans
Role 1 1..*
1 0..*
Format0..1
1..*has_parent
1
11
![Page 62: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/62.jpg)
Lucassen & Brinkkemper 12 September 2016
Conceptual model
62
User Story
EndMeans
Role 1 1..*
1 0..*
Format1
11
0..1
1..*has_parent
“As a User I want to search for new events by favorited organizers
so that I am the first to know of new events”
, ,
![Page 63: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/63.jpg)
Lucassen & Brinkkemper 12 September 2016
Means concepts
63
Subject
Means
Action Verb Direct Object
Indirect objectAdjective
1 1 10..* 0..*
“I want to search for new events by favorited organizers”I search eventsnew
Subject Action Verb Direct Object
Adjective Indirect object
favorited organizers
![Page 64: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/64.jpg)
Lucassen & Brinkkemper 12 September 2016
Ends concepts“so that I am the first to know of new events”
64
End
QualityClarification
0..* 0..*
Dependency
0..*
“so that I am the first to know of new events”new events
DependencyClarification Quality
the first
![Page 65: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/65.jpg)
Lucassen & Brinkkemper 12 September 2016
Conceptual model
65
Subject
User Story
EndMeans
Role 1 1..*
1 0..*
Format0..1
1..*has_parent
Action Verb Direct Object
Indirect objectAdjective
1
Epic
1..*has
QualityClarification
0..* 0..*
11
1 1 10..* 0..*
Dependency
0..*
![Page 66: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/66.jpg)
66
Schedule Time1 Introduction 8.302 Familiarize with user story concept 9.003 Exercise 1: creating user stories 9.154 Industry survey introduction 9.455 Coffee break 10.006 Industry survey continued 10.307 User story quality basics 11.308 Lunch 12.009 Quality User Story Framework 13.3010 Exercise II: Grimm Tool 14.3011 Coffee break 15.0012 User stories in agile practice 15.3013 Advances in user story analysis 16.1514 Exercise 3: Visual Narrator 16.4515 Contribute to ongoing research and closing 17.00
![Page 67: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/67.jpg)
67
Schedule Time1 Introduction 8.302 Familiarize with user story concept 9.003 Exercise 1: creating user stories 9.154 Varieties in industry 9.455 Coffee break 10.006 Industry survey 10.307 User story quality basics 11.308 Lunch 12.009 Quality User Story Framework 13.3010 Exercise II: Grimm Tool 14.3011 Coffee break 15.0012 User stories in agile practice 15.3013 Advances in user story analysis 16.1514 Exercise 3: Visual Narrator 16.4515 Contribute to ongoing research and closing 17.00
![Page 68: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/68.jpg)
Lucassen & Brinkkemper 12 September 2016
Quality problems in practice• Model captures correct
stories
• Stories from practitioners: - Too long - Unnecessary information - Too little information - Inconsistent - Irrelevant - Ambiguous
68
Subject
User Story
EndMeans
Role 1 1..*
1 0..*
Format0..1
1..*has_parent
Action Verb Direct Object
Indirect objectAdjective
1
Epic
1..*has
QualityClarification
0..* 0..*
11
1 1 10..* 0..*
Dependency
0..*
![Page 69: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/69.jpg)
Lucassen & Brinkkemper 12 September 2016
INVEST?• Most popular and simple reminder for
characteristics of a good user story: - Independent: - Negotiable - Valuable - Estimable - Simple - Testable
• Drawbacks: non-specific, generic, qualitative
69
![Page 70: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/70.jpg)
Garm Lucassen12 September 2016
Slides available online
70
http://bit.ly/re16tut
![Page 71: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/71.jpg)
Quality User Story Framework
71
Based on critical analysis of: - Hundreds of user stories - Existing quality frameworks - Problems in practice
![Page 72: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/72.jpg)
72
User Story Quality
Pragmatic
Complete Independent Uniform UniqueEstimatable Full sentence
Semantic
Conflict-free UnambiguousProblem-oriented Conceptually sound
SyntacticMinimal Atomic Well-formed
RQ1
RQ1
RQ2
RQ3
RQ4
RQ5
RQ6
RQ7
RQ8
RQ9
RQ10
RQ11
RQ12
RQ13
![Page 73: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/73.jpg)
73
IndividualRQ1 Well-formed A user story includes at least a role and an actionRQ2 Atomic A user story expresses a requirement for exactly one featureRQ3 Minimal A user story contains nothing more than role, action and benefit RQ4 Conceptually sound The action expresses a feature and the benefit expresses a rationaleRQ5 Problem-oriented A user story only specifies the problem, not the solution to itRQ6 Unambiguous A user story avoids terms or abstractions that lead to multiple interpretationsRQ8 Full sentence A user story is a well-formed full sentenceRQ9 Estimatable A story does not denote an unrefined requirement that is hard to plan and prioritize
SetRQ7 Conflict-free A user story should not be inconsistent with any other user story RQ10 Unique Every user story is unique, duplicates are avoidedRQ11 Uniform All user stories in a specification employ the same templateRQ12 Independent The user story is self-contained and has no inherent dependencies on other storiesRQ13 Complete Implementing a set of user stories creates a feature-complete application, no steps are missing
Quality User Story Framework
![Page 74: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/74.jpg)
Lucassen & Brinkkemper 12 September 2016
Creating user stories• Not all quality criteria immediately critical
• Focus on: RQ1. Well-formed RQ2. Atomic RQ3. Minimal RQ4. Conceptually sound RQ5. Problem oriented RQ8. Full sentence RQ11. Uniform
• Avoid premature optimization!
74
![Page 75: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/75.jpg)
Lucassen & Brinkkemper 12 September 201675
A user story includes at least a role and an action
I want to revoke access for problematic event organizers
⬇ add role
As a TicketExpert Employee, I want to revoke access for problematic event organizers
RQ1 - well-formed
![Page 76: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/76.jpg)
Lucassen & Brinkkemper 12 September 201676
A user story expresses a requirement for exactly one feature/problem
As a Visitor, I want to register for an event and create a personal account, so that I can quickly register for more events in the future
⬇ split
1. As a Visitor, I want to register for an event, so that I am admitted to the event 2. As a Visitor, I want to create a personal account during event registration, so that I
can quickly register for more events in the future
RQ2 - atomic
![Page 77: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/77.jpg)
Lucassen & Brinkkemper 12 September 201677
RQ3 - minimal
A user story contains nothing more than role, action and benefit
As an Event Organizer, I want to see the personal information of attendees (split into price levels). See: Mockup by Alice NOTE: - First create the overview screen
⬇ (re)move unnecessary information
As an Event Organizer, I want to see the personal information of attendees
![Page 78: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/78.jpg)
Lucassen & Brinkkemper 12 September 201678
RQ4 - conceptually sound
The action expresses a feature and the benefit expresses a rationale
As an Event Organizer, I want to open the event page, so that I can see the personal information of attendees
⬇
![Page 79: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/79.jpg)
Lucassen & Brinkkemper 12 September 201679
RQ4 - conceptually sound
The action expresses a feature and the benefit expresses a rationale
As an Event Organizer, I want to open the event page, so that I can see the personal information of attendees
⬇ ends becomes separate means
1. As an Event Organizer, I want to open the event page, so that I can review event related information
2. As a User, I want to see personal information of attendees, so that I know the demographical distribution of the event
![Page 80: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/80.jpg)
Lucassen & Brinkkemper 12 September 201680
RQ5 - problem oriented
A user story only specifies the problem, not the solution to it
As a Visitor, I want to download an event ticket. - Add download button on top right (never grayed out)
⬇
![Page 81: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/81.jpg)
Lucassen & Brinkkemper 12 September 201681
RQ5 - problem oriented
A user story only specifies the problem, not the solution to it
As a Visitor, I want to download an event ticket. - Add download button on top right (never grayed out)
⬇ remove solution
As a Visitor, I want to download an event ticket
![Page 82: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/82.jpg)
Lucassen & Brinkkemper 12 September 201682
RQ8 - full sentence
A user story is a well-formed full sentence
update profile
⬇ add ‘want to’
As a Visitor, I want to update my profile
![Page 83: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/83.jpg)
Lucassen & Brinkkemper 12 September 201683
RQ 11 - uniform
All user stories follow roughly the same template
1. As a Visitor, I want to create an account 2. As a Visitor, I want to reset my password
3. As a TicketExpert Manager, I receive an email notification when a new user is registered
⬇ add ‘want to’
As an TicketExpert Manager, I want to receive an email notification when a new user is registered
![Page 84: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/84.jpg)
84
Schedule Time1 Introduction 8.302 Familiarize with user story concept 9.003 Exercise 1: creating user stories 9.154 Varieties in industry 9.455 Coffee break 10.006 Industry survey 10.307 User story quality basics 11.308 Lunch 12.009 Quality User Story Framework 13.3010 Exercise II: Grimm Tool 14.3011 Coffee break 15.0012 User stories in agile practice 15.3013 Advances in user story analysis 16.1514 Exercise 3: Visual Narrator 16.4515 Contribute to ongoing research and closing 17.00
![Page 85: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/85.jpg)
Grimm Tool
85
![Page 86: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/86.jpg)
Lucassen & Brinkkemper 12 September 2016
Grimm Tool Technology: Automatic Quality User Story Artisan
• Automatically assess user story quality • Restrict ourselves to criteria with potential for 100% recall
• The Berry Recall Criterion
• Syntactic: Well-formed Atomic Minimal
• Semantic 100% recall unachievable • Selection of pragmatic:
Explicit dependencies Uniform Unique
86
(Daniel Berry et al., 2012)
(Ryan, 1993)
User stories
AQUSA
Linguistic parser
Enhancer
Analyzer
Synonyms Homonyms Ontologies
Error report
Atomic Independent UniqueMinimal Uniform
Report generator
User story base
Corrections
![Page 87: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/87.jpg)
Lucassen & Brinkkemper 12 September 2016
Grimm Tool
87
Well-formedAtomic Minimal Uniform Unique
AQUSA
√only one feature no unnecessary text follows the template has a role and meansno duplicates
(with my name)“As a Visitor, I want to supply my personal details, so that the ticket is personalized ”
√√√⤫
“As a Visitor, I want to supply my personal details, so that the ticket is personalized (with my name)”
error!
none found
√Explicit dependencies
![Page 88: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/88.jpg)
Lucassen & Brinkkemper 12 September 2016
Grimm Tool
88
Well-formedAtomic Minimal Uniform Unique
AQUSA
√only one feature no unnecessary text follows the template has a role and meansno duplicates
√√√
“As a Visitor, I want to supply my personal details, so that the ticket is personalized”
none found
√Explicit dependencies
√ “As a Visitor, I want to supply my personal details, so that the ticket is personalized”
√
perfect story
![Page 89: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/89.jpg)
Lucassen & Brinkkemper 12 September 2016
Jira integration automatically posts comments
89
![Page 90: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/90.jpg)
Lucassen & Brinkkemper 12 September 2016
Grimm Tool
90
![Page 91: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/91.jpg)
Lucassen & Brinkkemper 12 September 2016
Grimm Tool evaluation
• Measure: Precision Recall Most common violations
• Do we achieve the Berry Recall Criterion?
• Apply mechanics to seventeen datasets
91
![Page 92: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/92.jpg)
Agile
Requirem
entsQ
uality:The
Quality
User
StoryFram
ework
andTool
13
Table 3 Detailed results split per data sets, showing number of defects correctly detected (Def), false positives (FP), and false negatives (FN)
1: ResearchComp 2: ExpenseComp 3: EnterpriseComp 4: DataComp 5: RealProd# Def # FP # FN # Def # FP # FN # Def # FP # FN # Def # FP # FN # Def # FP # FN
Atomic 5 2 1 10 4 0 1 1 0 6 0 1 6 3 2Minimal 6 3 0 3 1 0 25 5 0 4 2 0 16 6 0Well-formed 6 4 0 1 1 0 33 21 0 2 0 0 0 0 0Uniform 17 8 0 27 9 0 38 17 0 7 0 0 9 0 1Unique 2 0 0 0 0 0 0 0 0 0 0 0 2 0 0SUM 36 17 1 41 15 0 97 45 0 19 2 1 33 9 3N, precision, recall 50 53% 95% 50 63% 100% 50 55% 100% 23 89% 94% 51 73% 89%
6: E-ComComp 7: EmailComp 8: ContentComp 9: CMSComp 10: HealthComp# Def # FP # FN # Def # FP # FN # Def # FP # FN # Def # FP # FN # Def # FP # FN
Atomic 7 5 0 12 6 0 9 2 3 1 0 1 8 1 2Minimal 20 6 0 6 0 0 6 0 0 10 0 0 5 1 0Well-formed 8 8 1 8 0 0 0 0 0 2 0 0 0 0 0Uniform 33 4 1 36 0 0 34 0 0 35 0 0 11 0 7Unique 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0SUM 68 23 2 62 6 0 49 2 3 48 0 1 24 2 9N, precision, recall 64 66% 96% 77 90% 100% 50 96% 94% 35 100% 98% 41 92% 71%
11: AccountancyComp 12: PharmacyComp 13: SupplyComp 14: IntegrationComp 15: HRComp# Def # FP # FN # Def # FP # FN # Def # FP # FN # Def # FP # FN # Def # FP # FN
Atomic 12 2 0 10 3 1 4 2 1 3 2 0 21 7 6Minimal 0 0 2 1 0 4 2 0 0 1 0 0 52 28 0Well-formed 0 0 0 0 0 0 0 0 0 0 0 0 44 26 1Uniform 11 0 0 14 0 9 0 0 0 46 0 0 41 17 0Unique 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0SUM 41 2 2 25 3 14 6 2 1 50 2 0 158 78 7N, precision, recall 53 95% 95% 47 88% 61% 54 67% 80% 65 96% 100% 207 51% 92%
16: FilterComp 17: FinanceComp Public 1: Duke University# Def # FP # FN # Def # FP # FN # Def # FP # FN
Atomic 42 39 0 13 4 0 10 1 2Minimal 5 0 0 25 5 0 4 3 0Well-formed 0 0 0 0 0 0 0 0 0Uniform 38 0 0 29 0 0 18 0 0Unique 2 0 0 6 0 0 0 0 0SUM 87 39 0 73 9 0 32 4 2N, precision, recall 51 55% 100% 55 88% 100% 48 88% 93%
![Page 93: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/93.jpg)
Lucassen & Brinkkemper 12 September 2016
Grimm Tool evaluation• 56% of selected stories violate one or more quality
criteria
• These data sets: 93.8% recall and 72.2% precision
93
14
Table 4 Overall recall and precision of AQUSA v1, com-puted using both the micro- and the macro average of thedata sets
Recall PrecisionMacro 92.1% 77.4%Micro 93.8% 72.2%
Table 5 Number of defects, false positives, false negatives,recall and precision per quality criterion
n = 1023 Totals# Def # FP # FN Rec Prec
Atomic 170 83 18 82.9% 51.18%Minimal 187 57 6 95.5% 69.52%Well-formed 104 60 2 95.7% 42.31%Uniform 426 55 18 95.4% 87.09%Unique 30 0 0 100% 100%SUM 917 255 44 93.8% 72.2%
From this source data we can extract a numberof interesting findings. At first glance, the results arepromising, indicating high potential for successful fur-ther development. The average number of user storieswith at least one defect as detected by AQUSA is 56%.Furthermore, 23% of all defects are either secondary,tertiary or further defects of one user story.
The average recall and precision of AQUSA for allthe company sets is shown in Table 4. Note the differ-ences between the macro-average and weighted micro-average for recall and precision [47]. This highlights theimpact of outliers like #15 SupplyComp, having only2 violations, 0 false positives and 1 false negative outof 50 user stories. For the micro-average the number ofviolations of each set is taken into account, while themacro-average considers each set equally. This meansthat #15 supplycomp its macro-average 67% recall and100% precision weighs as much as all other results,while for the micro-average calculations its impact isnegligible.
In total, AQUSA fulfills the desired Berry RecallCondition for 5 cases, obtains between 90-100% of de-fects for 6 sets and manages to get between 55% and89% for the remaining 6. AQUSA’s results for preci-sion are not as strong, but this is expected because ofour focus on the Berry Recall Condition. For just 2 setsAQUSA manages to get 100% precision, for 5 sets preci-sion is between 90-100%, 3 sets are only just below thisnumber with 88-90%. In 7 cases, however, precision israther low with a range of 50-73%. While AQUSA isunable to achieve 100% recall and precision for any ofthe sets, some do come close: for companies 7, 8, 9,11 and 14, AQUSA v1 achieves 90%+ recall and preci-sion. We investigate how to improve this performancein Section 6.
Looking at the distribution of violations in Table 3and the total number of violations, false positives andfalse negatives in Table 5, a number of things standout. With the exception of the quality criteria unique,the absolute number of false positives lie close to oneanother. Relatively speaking, however, well-formed andatomic stand out. Approximately 50-60% of violationsas detected by AQUSA are false positives. Similarly,the number of false negatives is particularly large foratomic, minimal and uniform. In the remainder of thissection, we investigate the causes for these errors.
Atomic. Throughout the user story sets, the most fre-quently occurring false positive is caused by the symbol‘&’ within a role such as: “As an Product Owner W&O”and “As an R&D Manager” (n=38). As we show in Sec-tion 6, this can be easily improved upon. The other twomain types of false positives, however, are more difficultto resolve: nouns incorrectly tagged as nouns trigger-ing the AtomicAnalyzer (n=18) and multiple conditionswith verbs interspersed (n=14).
Tallying the number of false negatives, we find adiversity of causes. The biggest contributor is that for-ward or backward slashes are not recognized as a con-junction and thus do not trigger the atomic checker(n=5). A more significant issue, however, is that ourstrategy of checking whether a verb is present on bothsides of the conjunction backfired in 2 cases. Specifi-cally, the words ‘select’ and ‘support’ were not recog-nized as a verb by the CoreNLP part-of-speech tagger,which employs a probabilistic maximum entropy algo-rithm that miscategorized these words as nouns.
Minimal. The primary cause for minimality false pos-itives is the idiosyncratic use of a symbol at the startof a user story such as the asterisk symbol (n=24). Al-though a fairly easy false positive to prevent from oc-curring, the fix will introduce false negatives because insome cases a symbol at the start is an indication of aminimality error. Because our priority is to avoid falsenegatives, we have to accept these false positives as anunavoidable byproduct of the AQUSA tool. Anotherfrequently occurring error is abbreviations or transla-tions between brackets (n=14). It might be possible toreduce this number with custom methods.
The 7 false negatives for minimality primarily con-cern idiosyncratic, very specific textual constructs thatare unsupported by AQUSA v1. For example, dataset11 (AccountancyComp) delivered 2 user stories with su-perfluous examples preceded by the word ‘like’. Health-Comp (dataset 12) has 3 very large user stories withmany different if clauses and additional roles includedin the means and one user story with an unnecessarypre-condition interspersed between the role and means.
![Page 94: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/94.jpg)
Lucassen & Brinkkemper 12 September 2016
Exercise 2: Grimm Tool• Who brought user stories?
• Upload to: aqusa.nl - Create an account - Example CSV files: bit.ly/us_csvs - Put your stories in a CSV, UTF-8 encoding
- One story per row - Add “ and ” to beginning and end of each row
• Pre-submitted user stories
94
![Page 95: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/95.jpg)
Garm Lucassen12 September 2016
1. Create an account
95
![Page 96: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/96.jpg)
Garm Lucassen12 September 2016
2. Create CSV of your stories
96
![Page 97: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/97.jpg)
Garm Lucassen12 September 2016
3. Upload a CSV
97
![Page 98: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/98.jpg)
Garm Lucassen12 September 2016
4. Review output
98
![Page 99: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/99.jpg)
Garm Lucassen12 September 2016
4. Review output
99
Sometimes necessary!
![Page 100: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/100.jpg)
Garm Lucassen12 September 2016
Example output
100
![Page 101: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/101.jpg)
Lucassen & Brinkkemper 12 September 2016
Exercise 2: Grimm Tool• Who brought user stories?
• Upload to: aqusa.nl - Create an account - Example CSV files: http://tinyurl.com/us-csv - Put your stories in a CSV, UTF-8 encoding
- One story per row - Add “ and ” to beginning and end of each row
• Pre-submitted user stories
101
![Page 102: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/102.jpg)
Lucassen & Brinkkemper 12 September 2016
Output• What kind of errors does the tool detect?
• How would you fix the user stories?
• Things to ask yourself: - Well-formed -> are these quality requirements? - Atomic -> impact on estimation? - Minimal -> too little detail? - Uniform -> how many styles do you use? - Unique -> where do these duplicates come from?
102
![Page 103: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/103.jpg)
Lucassen & Brinkkemper 12 September 2016
Estimating and developing• Remaining criteria gradually become relevant
• Focus on: RQ6. Unambiguous RQ7. Conflict-free RQ9. Estimatable RQ12. Independent RQ10. Unique RQ13. Complete
• Keep iterating!
103
![Page 104: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/104.jpg)
Lucassen & Brinkkemper 12 September 2016104
RQ6 - unambiguous
A user story avoids terms or abstractions that lead to multiple interpretations
As an Event Organizer, I want to edit the content that I added to an event’s page
⬇
![Page 105: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/105.jpg)
Lucassen & Brinkkemper 12 September 2016105
RQ6 - unambiguous
A user story avoids terms or abstractions that lead to multiple interpretations
As an Event Organizer, I want to edit the content that I added to an event’s page
⬇ clarify the content
As an Event Organizer, I want to edit video and text content that I added to an event’s page
![Page 106: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/106.jpg)
Lucassen & Brinkkemper 12 September 2016106
RQ7 - conflict-free
A user story should not be inconsistent with any other user story
1. As an Event Organizer, I’m able to edit any event 2. As an Event Organizer, I’m able to delete only the events that I added
⬇
![Page 107: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/107.jpg)
Lucassen & Brinkkemper 12 September 2016107
RQ7 - conflict-free
A user story should not be inconsistent with any other user story
1. As an Event Organizer, I’m able to edit any event 2. As an Event Organizer, I’m able to delete only the events that I added
⬇ change 1
1. As an Event Organizer, I’m able to edit events that I added
![Page 108: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/108.jpg)
Lucassen & Brinkkemper 12 September 2016108
RQ9 - estimatable
A story does not denote a coarse-grained requirement that is difficult to plan and prioritize
As an Event Organizer, I want to see my task list during the event, so that I can prepare myself (for example I can see at what time I should start traveling)
⬇ split1. As an Event Employee, I want to see my task list during the event, so that I can
prepare myself 2. As an Event Organizer, I want to upload a task list for event employees
![Page 109: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/109.jpg)
Lucassen & Brinkkemper 12 September 2016109
RQ10 - unique
Every user story is unique, duplicates are avoided
1. As a Visitor, I’m able to see a list of new events, so that I stay up to date 2. As a Visitor, I’m able to see a list of new events, so that I stay up to date
⬇ remove one1. As a Visitor, I’m able to see a list of news items, so that I stay up to date
![Page 110: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/110.jpg)
Lucassen & Brinkkemper 12 September 2016110
???
RQ12 - independent
The user story is self-contained and has no inherent dependencies on other user stories
1. As an Event Organizer, I am able to add a new event2. As a Visitor, I am able to view an event page
⬇
![Page 111: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/111.jpg)
Lucassen & Brinkkemper 12 September 2016
• Try to avoid dependencies as much as possible
• Impossible to be fully independent
• But… always remain flexible!
111
RQ12 - independentThe user story is self-contained and has no inherent dependencies on
other user stories1. As an Event Organizer, I am able to add a new event
2. As a Visitor, I am able to view an event page
⬇???
![Page 112: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/112.jpg)
Lucassen & Brinkkemper 12 September 2016
RQ13 - complete
112
Implementing a set of user stories creates a feature-complete application, no steps are missing
1. As an Event Organizer, I want to update an event 2. As an Event Organizer, I want to delete an event
⬇add story
As an Event Organizer, I want to create an event
![Page 113: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/113.jpg)
113
Schedule Time1 Introduction 8.302 Familiarize with user story concept 9.003 Exercise 1: creating user stories 9.154 Industry survey introduction 9.455 Coffee break 10.006 Industry survey continued 10.307 User story quality basics 11.308 Lunch 12.009 Quality User Story Framework 13.3010 Exercise II: Grimm Tool 14.3011 Coffee break 15.0012 User stories in agile practice 15.3013 Advances in user story analysis 16.1514 Exercise 3: Visual Narrator 16.4515 Contribute to ongoing research and closing 17.00
![Page 114: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/114.jpg)
114
Schedule Time1 Introduction 8.302 Familiarize with user story concept 9.003 Exercise 1: creating user stories 9.154 Varieties in industry 9.455 Coffee break 10.006 Industry survey 10.307 User story quality basics 11.308 Lunch 12.009 Quality User Story Framework 13.3010 Exercise II: Grimm Tool 14.3011 Coffee break 15.0012 User stories in agile practice 15.3013 Advances in user story analysis 16.1514 Exercise 3: Visual Narrator 16.4515 Contribute to ongoing research and closing 17.00
![Page 115: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/115.jpg)
Lucassen & Brinkkemper 12 September 2016
User stories in agile practice
• The context of user stories in systems development
• Epics for high-level planning
• Creating user stories as a team
• Industry experiences
115
![Page 116: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/116.jpg)
Lucassen & Brinkkemper 12 September 2016
The context of user stories in systems development
116
![Page 117: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/117.jpg)
Lucassen & Brinkkemper 12 September 2016
User storyDefinition:
A User story describes a functionality valuable to a user of a software system
• Not just a description
• Assist in discussion on details of the story
• No attributes, conditions, special cases are included in the description
• Determines tests to state when the story is completed.
• Reference: Sonja Dimitrijevic, Jelena Jovanovic, Vladan Devedzic (2015). A Comparative Study of Software Tools for User Story Management. Information and Software Technology, vol 57, pp. 352-368.
117
![Page 118: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/118.jpg)
Lucassen & Brinkkemper 12 September 2016
User Story processes• There is no unique US process.
• Applied in any systems development process (waterfall, agile, iterative)
• Standard in agile processes: Scrum, XP
• Key US processes 1. Gathering from relevant sources 2. Role modeling 3. Acceptance testing 4. Estimating for releases and sprints 5. Planning in releases and sprints 6. Tracking and communicating
118
![Page 119: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/119.jpg)
Lucassen & Brinkkemper 12 September 2016
Waterfall, Scrum, or …?
119
![Page 120: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/120.jpg)
Lucassen & Brinkkemper 12 September 2016
US in Waterfall
User stories are written during Requirements stage as refinements of high level specification. User stories are input for:
• Design: design of functionality; stakeholder interaction; quality • Code: assignment of coding tasks • Test: acceptance tests for user functionality
120
Requirements
Design
Code
Integration
Test
Deploy
![Page 121: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/121.jpg)
Lucassen & Brinkkemper 12 September 2016
US in Waterfall
User stories are written during Requirements stage as refinements of high level specification. User stories are input for:
• Design: design of functionality; stakeholder interaction; quality • Code: assignment of coding tasks • Test: acceptance tests for user functionality
121
Requirements
Design
Code
Integration
Test
Deploy
User Stories
![Page 122: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/122.jpg)
Lucassen & Brinkkemper 12 September 2016
US in Waterfall
User stories are written during Requirements stage as refinements of high level specification. User stories are input for:
• Design: design of functionality; stakeholder interaction; quality • Code: assignment of coding tasks • Test: acceptance tests for user functionality
122
Requirements
Design
Code
Integration
Test
Deploy
User Stories
![Page 123: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/123.jpg)
Lucassen & Brinkkemper 12 September 2016
US in Scrum
User stories are assigned to sprints during Release planning stage as refinements of high level specification, called epics. User stories are input for:
• Sprint planning: Refinement into Backlog items • Test: acceptance criteria
123
Sprint 1 Sprint 2 Sprint 3 Sprint 4
refine
design code
test
review deploy
![Page 124: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/124.jpg)
Lucassen & Brinkkemper 12 September 2016
US in Scrum
User stories are assigned to sprints during Release planning stage as refinements of high level specification, called epics. User stories are input for:
• Sprint planning: Refinement into Backlog items • Test: acceptance criteria
124
Sprint 1 Sprint 2 Sprint 3 Sprint 4
refine
design code
test
review deploy
User Stories
![Page 125: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/125.jpg)
Lucassen & Brinkkemper 12 September 2016
US in Scrum
User stories are assigned to sprints during Release planning stage as refinements of high level specification, called epics. User stories are input for:
• Sprint planning: Refinement into Backlog items • Test: acceptance criteria
125
Sprint 1 Sprint 2 Sprint 3 Sprint 4
refine
design code
test
review deploy
User Stories
![Page 126: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/126.jpg)
Lucassen & Brinkkemper 12 September 2016
Gathering US• All kinds of sources
• Active involvement of users and customers for the whole duration of the project/release in Scrum
• Customer team can write user stories; and perform the prioritization
• Language of application domain must be used
• Non-intrusive lightweight techniques: interviews, questionnaires, observation, and story-writing workshops
• High level US, so-called epics, are detailed in other USs.
126
![Page 127: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/127.jpg)
Lucassen & Brinkkemper 12 September 2016
User Role modelingDefinition A user role represents a collection of attributes the characterize a population of users and their intended interactions with the system • Examples: Event organizer, event visitor, payment bank, entertainer, ticket
fulfillment officer
• Identification of user roles should be done before writing of user stories • Stories without a user role are apparently not essential
• Technique: Persona as used in User experience design, (introduced by Alan Cooper: The Inmates Are Running the Asylum (1998)). A persona is a play-acted fictitious characters in order to explain design questions. Personas are more figurative, whereas user role is more formally structured.
127
![Page 128: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/128.jpg)
Lucassen & Brinkkemper 12 September 2016
Acceptance testing• Verification of complete development of user
stories
• Criteria: expectations of customer team
• Provide details for design and developments
• Written on the back of the story card
• Test in 2 ways
1. Manually by customer representative
2. Automatically by test tool
128
![Page 129: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/129.jpg)
Lucassen & Brinkkemper 12 September 2016
Estimating User stories• Estimation is done collaboratively by team: measured in story points • Using mixture of expert opinion, analogy, decomposition
• Simple process for estimating US 1. Identify base stories Identify base stories for relative sizing of the backlog.
Story done earlier. Understanding this story is same among everyone on the team. 2. Walk through the requirements of the story Product owner explains story. 3. Discuss any details ScrumMaster adds details to story. 4. Sample questions the team should ask:
1. Design: What to learn before start work on this story? 2. Coding: What will be coding effort? 3. Unit testing: Special setup required for unit test? 4. Acceptance testing: Help customer automate acceptance tests? 5. Integration points: Does the story have any external dependencies? 6. Expertise: Does anyone have prior experience on similar story?
5. Reach a consensus Team to come up with the best estimation that everyone accepts. 6. Validation of estimated story points Estimates are internally consistent among : the
1's are about the same, all of the 2's match, etc.. Also, agree 4-point story is twice a 2-point story.
129
Source: scrumalliance.org: A Practical Guide: Story Points-Based Estimation
![Page 130: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/130.jpg)
Lucassen & Brinkkemper 12 September 2016
Planning releases and sprints
Velocity: number of story points per sprint • Experience data: total number of story points of project/ sprints per project
• Assign USs over different sprints: Planning Game • USs of sprint do not exceed velocity
• Prioritization: maximize value delivered to customer • Technique: MoSCoW, cost/value, relative weigths • Value: financial, development cost, amount of learning, amount of risk
• Planning USs in sprint: decomposition in tasks • Changes due to corrections in plan
130
![Page 131: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/131.jpg)
Lucassen & Brinkkemper 12 September 2016
Tracking and communicating
• Monitoring and discussion of progress
• Refine plan according to observations
131
Task board Burndown chart
![Page 132: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/132.jpg)
Lucassen & Brinkkemper 12 September 2016
Refinement of User Stories• User stories need to be fit into the Sprint planning
• User Stories are formulated as Product Backlog Items, and refined in Sprint tasks
• Some companies define Sprint tasks also in User Stories
132
![Page 133: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/133.jpg)
Lucassen & Brinkkemper 12 September 2016
Epics▪ It is common to formulate Product Backlog Items (PBI) in User Story form ▪ Oversized PBIs are called epics. ▪ Traditional planning breaks features into several tasks that are hard to
prioritize as they lack business value
▪ Most customers don’t use most features of most products ▪ Wise to split epics to deliver the most valuable stories first. ▪ Delivering lower-value features later is likely to involve some rework. ▪ Backlog Refinement Meeting: also called “Backlog Grooming” or
“Backlog Maintenance”.
133
![Page 134: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/134.jpg)
Lucassen & Brinkkemper 12 September 2016
Epic splitting▪ Large User Stories are called epics. ▪ Agility requires to split large epics into user stories representing small
product features. ▪ Example: “As a theatre visitor I want to display the available seats in a theatre so
I can make a good decision on which seat to select” ▪ Example ticketing application:
▪ Epic “display the available seating in a theatre” ▪ US1 “display available seats per row” ▪ US2 “display left, middle or right with empty seats” ▪ US3 “display theatre seating plan“ ▪ US4 “display available seats on seating plan”
▪ Visualizing the theatre chairs in various forms is technical challenging,where the number of seats and the distance to the stage are most important to know for booking.
▪ So US4 can be left to a later release with some rework.
134
![Page 135: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/135.jpg)
Lucassen & Brinkkemper 12 September 2016
Creating user storiesas a team
• Many approaches to creation process
• Quality should concern everyone
• Poker planning
• Team Estimation Game
• Different quality criteria apply
135
![Page 136: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/136.jpg)
Poker planning
136
![Page 137: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/137.jpg)
Garm Lucassen25 April 2016 137
Estimating user stories using poker planning
• Consensus-based and extremely simple: 1. Project manager reads user story 2. Developers discuss user story (change if necessary) 3. Each developer scores using story points
0, 1, 2, 3, 5, 8, 13, 20, 40 4. Debate score differences 5. Repeat 3 and 4 until developers reach consensus
![Page 138: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/138.jpg)
Garm Lucassen25 April 2016 138
Poker planning impact
• Bring a QUS cheat sheet to poker planning
• Use question mark to indicate you don’t know
• If applicable, use QUS terminology to convey the problem
• Discuss, change story if necessary, repeat
1. Unambiguous 2. Estimatable 3. Conflict-free 4. Independent 5. Unique
![Page 139: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/139.jpg)
Lucassen & Brinkkemper 12 September 2016
Industry experiences
• Many different approaches to working with user stories. Currently exploring types!
• Want to contribute? Contact us!
139
![Page 140: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/140.jpg)
Lucassen & Brinkkemper 12 September 2016
Introducing QUS and Grimm Tool
First evaluation with three companies
- 40% reduction in user story defects
- Unexpected benefits
140
“As a Visitor, I want to get messages from the system (tricks etc)”
“I think the conversation effectiveness did change positively, but the Grimm Method training made me more critical of what to expect from user story conversation in terms of effectiveness”
![Page 141: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/141.jpg)
Lucassen & Brinkkemper 12 September 2016
Topics• Introduction
• User story basics
• User story quality
• User stories in agile practice
• User story analysis
141
![Page 142: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/142.jpg)
Lucassen & Brinkkemper 12 September 2016
Topics• Extracting models from user stories
• Advanced analysis through visualization: - Conflict detection - Duplicate prevention - Ambiguity resolution - Incompleteness mitigation
• Exercise 3: visualize your user stories
142
![Page 143: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/143.jpg)
143
Schedule Time1 Introduction 8.302 Familiarize with user story concept 9.003 Exercise 1: creating user stories 9.154 Varieties in industry 9.455 Coffee break 10.006 Industry survey 10.307 User story quality basics 11.308 Lunch 12.009 Quality User Story Framework 13.3010 Exercise II: Grimm Tool 14.3011 Coffee break 15.0012 User stories in agile practice 15.3013 Advances in user story analysis 16.1514 Exercise 3: Visual Narrator 16.4515 Contribute to ongoing research and closing 17.00
![Page 144: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/144.jpg)
Automated Extraction of Conceptual Models from User Stories via NLP Marcel Robeer, Garm Lucassen, Jan Martijn E.M. van der Werf,
Fabiano Dalpiaz and Sjaak Brinkkemper September 16th 2016c @ RE’16
ticket
visitor
account
system
create, rename
log in, log out
event type
filter on
event
see
keep track of
account password
has
password
change purchase
![Page 145: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/145.jpg)
Lucassen & Brinkkemper 16 September 2016
• “As a Visitor, I want to buy an event ticket”
• “As a Visitor, I want to be notified when an event is close to becoming sold out, so that I do not miss the event”
“As a Visitor I want to search for new events by favorited organizers
so that I am the first to know of new events”
, ,
145
Going from…
![Page 146: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/146.jpg)
Lucassen & Brinkkemper 16 September 2016
.. to
146
![Page 147: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/147.jpg)
147
![Page 148: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/148.jpg)
Lucassen & Brinkkemper 16 September 2016
C. Heuristics
148
Noun Subject
Verb (including preposition)
Concept
Relationship
Verb ‘to be’ Hierarchical relationship
![Page 149: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/149.jpg)
Lucassen & Brinkkemper 16 September 2016
C. Heuristics
149
Noun Subject
Verb (including preposition)
Concept
Relationship
Verb ‘to be’ Hierarchical relationship
Noun-noun compound
![Page 150: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/150.jpg)
Lucassen & Brinkkemper 16 September 2016
As a visitor
2. Functional role
150
I want to choose an event
so that I can book a ticket for that event
Role
Means
End
![Page 151: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/151.jpg)
Lucassen & Brinkkemper 16 September 2016
As a visitor
3. Simplify the means
151
I want to choose an event
so that I can book a ticket for that event
Role
Means
End
![Page 152: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/152.jpg)
Lucassen & Brinkkemper 16 September 2016
As a visitor
3. Simplify the means
152
I want to choose an event
so that I can book a ticket for that event
Role
Means
End
![Page 153: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/153.jpg)
Lucassen & Brinkkemper 16 September 2016
I want to choose an event
As a visitor
4/5. Main verb & main object
153
so that I can book a ticket for that event
Role
Means
End
![Page 154: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/154.jpg)
Lucassen & Brinkkemper 16 September 2016
I want to choose an event
As a visitor
6. Main relationship
154
so that I can book a ticket for that event
Role
Means
End
visitor eventchoose
![Page 155: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/155.jpg)
Lucassen & Brinkkemper 16 September 2016
As a visitor
7. Remaining information
155
so that I can book a ticket for that event
Role
Means
End
visitor eventchoose
I want to choose an event
![Page 156: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/156.jpg)
As a visitor
156
so that I can book a ticket for that event
Role
Means
End
visitor eventchoose
I want to choose an event
ticketbook
7. Remaining information
![Page 157: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/157.jpg)
As a visitor
157
so that I can book a ticket for that event
Role
Means
End
visitor eventchoose
I want to choose an event
ticketbookhas
7. Remaining information
![Page 158: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/158.jpg)
Lucassen & Brinkkemper 16 September 2016158
However…
Models can get BIG
![Page 159: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/159.jpg)
Lucassen & Brinkkemper 16 September 2016159
Just 32 stories!
![Page 160: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/160.jpg)
Lucassen & Brinkkemper 16 September 2016160
Currently exploring
zoom and filtertechniques
![Page 161: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/161.jpg)
Lucassen & Brinkkemper 12 September 2016
First step: role filter
161
hasInstalla...
canRun
canMigrate
hasAdminis...
hasNode
System
Installation
System Admini...
Neurohub
Administrator
Script
Neurohub Insta...
Data
Neurohub Node
Node
![Page 162: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/162.jpg)
Lucassen & Brinkkemper 12 September 2016
Conceptual: colors
162
![Page 163: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/163.jpg)
Lucassen & Brinkkemper 16 September 2016
Practitioner perception
163
1. Training new employees 2. Active documentation, finding inconsistent
terminology 3. Discussing with stakeholders to detect
incompleteness 4. Requirements prioritization
In their current state, the models can have the following practical applications:
![Page 164: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/164.jpg)
Lucassen & Brinkkemper 12 September 2016
Advanced analysis
• Possible inconsistencies - Conflict detection - Duplicate prevention - Ambiguity resolution
• Incompleteness mitigation
164
![Page 165: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/165.jpg)
Garm Lucassen12 September 2016
Conflict detection
165
hasMachine
hasDepen...
canInstall
hasAdminis...
Neurohub De...
LTS
Neurohub
Administrator
System
LTS Machine
Machine
Dependency
System Admini...
hasInstalla...
canRun
canMigrate
hasAdminis...
hasNode
System
Installation
System Admini...
Neurohub
Administrator
Script
Neurohub Insta...
Data
Neurohub Node
Node
Systems administrator System administrator
![Page 166: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/166.jpg)
Garm Lucassen12 September 2016
Duplicate prevention
166
Separate stories for: - find flight - search flight number - look flight name
canKnow5
canSee6
canKnow4
canMeasure
canSee7
canKnow7
canKnow6
canAlertTo
canKnow9
canSee2
canSearc...
canKnow8
canSee3
canSee4
canSearc...
canSee5
canKnow1
canKnow3
canKnow2
hasNumber
canLookAt
hasCondition
hasName
canKnow...
canKnow10
canPreview
canLookT...
canRead
canLook
hasRecord
hasJourney
canAlert
canFind
canSee1
Weather Condi...
Gate
Flight Name
Weather
Turbulence
Amount
Route
Direction
Explanation
Air
Number
Library
Pressure
Temperature
Flight Number
Name
Cause
Condition
Record
Journey
Longer
Sound
Flight
Plane
Time
Graph
User
World
What
Expectation
Turbulence Re...
Plane Journey
![Page 167: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/167.jpg)
Garm Lucassen12 September 2016
Ambiguity resolution
167
canDelete
canEdit
canUse
canGet
canBe
hasLocation2canSeehasAddresscanClick
canFind
canAdd4
canAdd5
canView2
canRequest
canAdd2
canView1
canAdd3
canAdd6
canOpen
canAdd1
hasReset
canSet
canRemove
User
Map
Video Description
Plot Location
Text
Event
Fragment
Address
Location
Password Reset
Email Event Location
Access
Information
Email Address
Content
Password
Image
![Page 168: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/168.jpg)
Garm Lucassen12 September 2016
Incompleteness mitigation
168
hasFile
hasType
canSearchBy
canAccess
canUpload
canAttach1
canSearch...
canKeep
canBulk
canShare
canForm
hasData
canDownload
canLocate
canIndicat...
canCollect
canTag
canAttach2
canAttach3
Write Ups
File
Directory
Type
File Type
Data File
Meta Data
Link
Researcher
DataCan search for data by type. But researcher cannot
search?
![Page 169: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/169.jpg)
169
Schedule Time1 Introduction 8.302 Familiarize with user story concept 9.003 Exercise 1: creating user stories 9.154 Varieties in industry 9.455 Coffee break 10.006 Industry survey 10.307 User story quality basics 11.308 Lunch 12.009 Quality User Story Framework 13.3010 Exercise II: Grimm Tool 14.3011 Coffee break 15.0012 User stories in agile practice 15.3013 Advances in user story analysis 16.1514 Exercise 3: Visual Narrator 16.4515 Contribute to ongoing research and closing 17.00
![Page 170: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/170.jpg)
Lucassen & Brinkkemper 12 September 2016
Exercise 3• Go to WebVowl or OWLGrED
• Upload .omn or paste link to .omn on the web
• Can you identify inconsistencies or incompleteness?
• Your user stories available in email
• Example visualizations tinyurl.com/us-vis
170
![Page 171: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/171.jpg)
171
![Page 172: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/172.jpg)
172
![Page 173: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/173.jpg)
173
![Page 174: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/174.jpg)
174
Schedule Time1 Introduction 8.302 Familiarize with user story concept 9.003 Exercise 1: creating user stories 9.154 Industry survey introduction 9.455 Coffee break 10.006 Industry survey continued 10.307 User story quality basics 11.308 Lunch 12.009 Quality User Story Framework 13.3010 Exercise II: Grimm Tool 14.3011 Coffee break 15.0012 User stories in agile practice 15.3013 Advances in user story analysis 16.1514 Exercise 3: Visual Narrator 16.4515 Contribute to ongoing research and closing 17.00
![Page 175: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/175.jpg)
Lucassen & Brinkkemper 12 September 2016
Contribute to research!• Supply user stories
• Integrate aqusa.nl with Jira
• Beta test future visualization tools
• Participate in a survey on user story practice
• To indicate interest: bit.ly/us-research or contact: [email protected]
175
![Page 176: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/176.jpg)
Lucassen & Brinkkemper 12 September 2016
Did we succeed?
• Did you learn about: ➡ User story basics ➡ Improving user story quality ➡ Embedding user stories in agile practice ➡ Advanced analysis
176
![Page 177: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/177.jpg)
User Story Quality
Pragmatic
Complete Independent Uniform UniqueEstimatable Full sentence
Semantic
Conflict-free UnambiguousProblem-oriented Conceptually sound
SyntacticMinimal Atomic Well-formed
User Story Research Utrecht University
• Why are user stories effective?
• How to create better user stories?
• Create RE support tools using NLP
• Less is more! - QUS Framework - Grimm Method - Visual/Interactive Narrator - Next: connecting code
• Contribute: bit.ly/us-research!
![Page 178: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/178.jpg)
Lucassen & Brinkkemper 12 September 2016
Thank you!
Thank you!
178
![Page 179: RE tutorial user stories](https://reader034.vdocuments.site/reader034/viewer/2022042619/587065801a28ab48378b4e45/html5/thumbnails/179.jpg)
Lucassen & Brinkkemper 12 September 2016
References
- Cohn, M. (2004). User stories applied: For agile software development. Addison-Wesley Professional. - Jeffries, R. (2001). Essential XP: Card, conversation, confirmation. XP Magazine, 30. - Wake, B. (2003). INVEST in good stories, and SMART tasks. h ttp://xp123. com/articles/invest-in-good-stories-and-smart-tasks.
- Beck K (1999) Extreme programming explained: embrace change. Addison-Wesley, Boston - Berry D, Gacitua R, Sawyer P, Tjong S (2012) The case for dumb requirements engineering tools. In: Proceedings of international conference on requirements engineering: foundation for software quality (REFSQ), LNCS, vol 7195. Springer, pp 211–217
179
- Lucassen, G., Dalpiaz, F., van der Werf, J. M. E., & Brinkkemper, S. (2016a). The use and effectiveness of user stories in practice. In REFSQ (pp. 205-222). Springer International Publishing.
- Lucassen, G., Dalpiaz, F., van der Werf, J. M. E., & Brinkkemper, S. (2016b) Improving agile requirements: the Quality User Story framework and tool. Requirements Engineering Journal, 1-21.
- Lucassen, G., Dalpiaz, F., van der Werf, J. M. E. M., & Brinkkemper, S. (2016c). Visualizing User Story Requirements at Multiple Granularity Levels via Semantic Relatedness. Proc. of ER 2016 (forthcoming)
- Robeer, M., Lucassen, G., Van der Werf, J. M. E. M., Dalpiaz, F., & Brinkkemper, S. (2016). Automated Extraction of Conceptual Models from User Stories via NLP. Proc. of RE 2016 Friday: 11.30 @ Modeling and Simulations track