Agile Requirements
-
Upload
chassa -
Category
Technology
-
view
2.156 -
download
0
Transcript of Agile Requirements
![Page 1: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/1.jpg)
CHRISTIAN HASSA ([email protected]), @CHRISHASSA
MANAGING PARTNER
February 2015
Agile RequirementsFrom Impacts to Specifications
![Page 2: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/2.jpg)
4
Agile“Requirements”
![Page 3: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/3.jpg)
5
Why agile requirements?
Successful problem solving requires
finding the right solution
to the right problem.
Russell Ackoff, 1974
We fail more often,
because we solve the wrong problemthan because we get thewrong solution to the right problem.
![Page 4: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/4.jpg)
6
What makes user stories “agile”?
•Describe user needs or features•Unit of planning/prioritization
Help solving the right problem•Solution options•Mechanism to defer detail•Reminder for a conversation•Evolve over time:desired outcome specification
![Page 5: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/5.jpg)
7
People fear uncertainty:They rather make a decision nowand run the risk of being wrong,
than continue in a state of uncertainty.
- Chris Matts (@papachrismatts)
![Page 6: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/6.jpg)
8
Agile Requirements
Image from: 50 Quick ideas to improve your user stories: https://leanpub.com/50quickideas@gojkoadzic, @DavidEvans66
Why?(define upfront)
How?(define just-in-time)
![Page 7: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/7.jpg)
9
Project Success
![Page 8: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/8.jpg)
10
Agile Requirements
Impact
Mapping
Image from: 50 Quick ideas to improve your user stories: https://leanpub.com/50quickideas@gojkoadzic, @DavidEvans66
Why?(define upfront)
How?(define just-in-time)
![Page 9: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/9.jpg)
11
Our job is NOTto develop software,
our job is to change the world.- Jeff Patton (@jeffpatton)
![Page 10: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/10.jpg)
12
As a Sales Manager
I want a …-report
to monitor inventory
![Page 11: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/11.jpg)
13
As a Sales Manager
I want a …-report
to monitor inventory
![Page 12: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/12.jpg)
14
As a Sales Manager
I want a …-report
to monitor inventory faster
![Page 13: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/13.jpg)
15
Impact Mapping
From: Gojko Adzic: www.impactmapping.org (@gojkoadzic)
“Impact Mapping helps us plan better!It is collaborative, visual and fast.”
![Page 14: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/14.jpg)
16
Impact Maps
Goal
Actors
Impacts
Deliverables
Increase peak sales
Mobile User
Buy more online
MobileWebsite
![Page 15: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/15.jpg)
17
Evaluate Options
Goal
Actors
Impacts
Deliverables
Increase peak sales
One-Clickpurchase
Mobile User Call Center
Buy more online
Buy without call center
Sell faster
Stopcross selling
Purchasewith SMS
MobileWebsite
![Page 16: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/16.jpg)
18
Hierarchical goals
Goal
Actors
Impacts
Deliverables
Increase turnover 3%
Increase block buster market share
Increase peak sales
One-Clickpurchase
Mobile User Call Center
Buy more online
Buy without call center
Sell faster
Stopcross selling
Purchasewith SMS
MobileWebsite
![Page 17: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/17.jpg)
19
Sphere of influence
Zone of control
Influence vs. Control
Goal
Actors
Impacts
Deliverables
Increase turnover 3%
Increase block buster market share
Increase peak sales
One-Clickpurchase
Mobile User Call Center
Buy more online
Buy withoutcall center
Sell faster
Stopcross selling
Purchasewith SMS
MobileWebsite
![Page 18: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/18.jpg)
20
Feedback andProduct Design
![Page 19: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/19.jpg)
21
Agile Requirements
Story
Mapping
Image from: 50 Quick ideas to improve your user stories: https://leanpub.com/50quickideas@gojkoadzic, @DavidEvans66
Why?(define upfront)
How?(define just-in-time)
![Page 20: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/20.jpg)
22
Give 2% of usersa 100% of what they need,
not 100% of peopleonly 2% of their needs.
- Gojko Adzic (@gojkoadzic)
![Page 21: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/21.jpg)
23
Story Maps
• Design for particular stakeholder impacts
• Slice and refine deliverables (releases)
• Support backlog management• Inject dependent
features• Overview and
collaboration• Release planning• Flexible scope Conceived by Jeff Patton in 2005
![Page 22: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/22.jpg)
24
Zone of control
Sphere of influence
Product Backlog:Zone of control
User Journey: Sphere of influence
Structure
Discoverconcerts
Purchasetickets
Learnmore
Attendconcert
Upcomingticket sales
Additional artist info
Pay bycredit card
Pay byinvoice
Print paperticket
Validateticket using
NCF
Concert news
Likely order ofevents
Mobile users
Buy moreonline
Visit sitemore often
Blockbusterconcert info
One-clickpurchase
Deliverables
Impacts
User Activities
User Stories
![Page 23: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/23.jpg)
25
Structure
Hears aboutconcert
Tries to gettickets
Waits forconcert
Attendsconcert
Upcomingticket sales
Additional artist info
Pay bycredit card
Pay byinvoice
Print paperticket
Validateticket using
NCF
Concert news
Likely order ofevents
Mobile user
![Page 24: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/24.jpg)
26
Prioritize per user activity
Hears aboutconcert
Tries to gettickets
Waits forconcert
Attendsconcert
Upcomingticket sales
Additional artist info
Pay bycredit card
Pay byinvoice
Print paperticket
Validateticket using
NCF
Concert news
Pri
ori
ty
Likely order ofevents
Mobile user
![Page 25: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/25.jpg)
27
WalkingSkeleton
Prioritize slices
Upcomingticket sales
Additional artist info
Pay bycredit card
Pay byinvoice
Print paperticket
Validateticket using
NCF
Concert news
Pri
ori
ty
Manual workaround
Not supported
Hears aboutconcert
Tries to gettickets
Waits forconcert
Attendsconcert Likely order of
events
Mobile user
![Page 26: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/26.jpg)
28
Prioritize for deliverable
Visits sitemore often
Blockbusterconcert info
Hears aboutconcert
Tries to gettickets
Waits forconcert
Attendsconcert Likely order of
events
Upcomingticket sales
Additional artist info
Pay bycredit card
Pay byinvoice
Print paperticket
Validateticket using
NCF
Concert news
Mobile user
![Page 27: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/27.jpg)
29
Prioritize for deliverable
Visits sitemore often
Blockbusterconcert info
Hears aboutconcert
Tries to gettickets
Waits forconcert
Attendsconcert Likely order of
events
Upcomingticket sales
Additional artist info
Pay bycredit card
Pay byinvoice
Print paperticket
Validateticket using
NCF
Concert news
Mobile user
![Page 28: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/28.jpg)
30
Validate impact
Visits sitemore often
Blockbusterconcert info
Hears aboutconcert
Tries to gettickets
Waits forconcert
Attendsconcert Likely order of
events
Upcomingticket sales
Additional artist info
Pay bycredit card
Pay byinvoice
Print paperticket
Validateticket using
NCF
Concert news
Impact on userbehaviour?
Impact on business goal?
Mobile user
![Page 29: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/29.jpg)
31
Slice User Stories
Milestone 1
Milestone 3
Milestone 4
![Page 30: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/30.jpg)
32
Slice Releases
Milestone 1 Milestone 2
Milestone 3
Milestone 4
![Page 31: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/31.jpg)
33
Tools
![Page 32: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/32.jpg)
34
Creation of Story Maps
![Page 33: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/33.jpg)
35
Trace from outputs to inputs
Outputs:• Approved list of candidates• Published profiles of candidates• Election result
![Page 34: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/34.jpg)
36
Transport and Conservation
![Page 35: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/35.jpg)
37
Product Design with Story Maps
![Page 36: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/36.jpg)
38
Visual collaboration
![Page 37: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/37.jpg)
39
Case Study
![Page 38: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/38.jpg)
40
Candidate VoterFund-
management
More candidates
run for election
More voters participate in
election
Less effort approving candidates
Online application
Candidates published
onlineOnline voting
Shared checklist
Otherfunds
Use systemfor theirelections
Customizable branding
Pension Fund
More candidatesHigher voter turnoutNo „silent“ elections
Broaderlegitimisedcommittee
Reduced external costsLess personnel effortAdditional revenue
Reduced costfor running
elections
Less effort counting
votes
![Page 39: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/39.jpg)
41
Nominate candidates
Story Map with initial backlog
83
76
58
78
59
60
61
638082
55
54
56
52
48
48.2
48.1
49
50
77
46
44
42
41
36 34 39
38 32
2829
2521
20 23
17
15 13 8
9
11
10
Provision and support
Vote and determine results
3 User Journeys
User Stories ofInitial Product Backlog
![Page 40: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/40.jpg)
42
Sprint 1
83
76
58
78
59
60
61
638082
55
54
56
52
48
48.2
48.1
49
50
77
46
44
42
41
36 34 39
38 32
2829
2521
20 23
17
15 13 8
9
11
10
Provision and support
Nominate candidates
Vote and determine results
![Page 41: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/41.jpg)
43
Sprint 2
83
76
58
78
59
60
61
638082
55
54
56
52
48
48.2
48.1
49
50
77
46
44
42
41
36 34 39
38 32
2829
2521
20 23
17
15 13 8
9
11
10
Provision and support
Nominate candidates
Vote and determine results
![Page 42: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/42.jpg)
44
Sprint 3
83
76
58
78
59
60
61
638082
55
54
56
52
48
48.2
48.1
49
50
77
46
44
42
41
36 34 39
38 32
2829
2521
20 23
17
15 13 8
9
11
10
Provision and support
Nominate candidates
Vote and determine results
![Page 43: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/43.jpg)
45
Dropped user stories
83
76
58
78
59
60
61
638082
55
54
56
52
48
48.2
48.1
49
50
77
46
44
42
41
36 34 39
38 32
2829
2521
20 23
17
15 13 8
9
11
10
Provision and support
Nominate candidates
Vote and determine results
![Page 44: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/44.jpg)
46
Added user stories
83
76 89
58
78
59
60
61
638082
55
54
56
90
52
48
48.2
48.1
49
50
9177
46
44
42
41
36 34 39
38 32
2829
2521
20 23
17
15 13 8
9
11
10
Provision and support
Nominate candidates
Vote and determine results
![Page 45: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/45.jpg)
47
Sprint 4
83
76 89
58
78
59
60
61
638082
55
54
56
90
52
48
48.2
48.1
49
50
9177
46
44
42
41
36 34 39
38 32
2829
2521
20 23
17
15 13 8
9
11
10
Provision and support
Nominate candidates
Vote and determine results
![Page 46: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/46.jpg)
48
Flexible scope
83
76 89
58
78
59
60
61
638082
55
54
56
90
52
48
48.2
48.1
49
50
9177
46
44
42
41
36 34 39
38 32
2829
2521
20 23
17
15 13 8
9
11
10
Provision and support
Nominate candidates
Vote and determine results
![Page 47: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/47.jpg)
49
Candidate VoterFund-
management
More candidates
run for election
More voters participate in
election
Less effort approving candidates
Online application
Candidates published
onlineOnline voting
Shared checklist
Otherfunds
Use systemfor theirelections
Customizable branding
Pension Fund
More candidatesHigher voter turnoutNo „silent“ elections
Broaderlegitimisedcommittee
Reduced external costsLess personnel effortAdditional revenue
Reduced costfor running
elections
Less effort counting
votes
Candidates67 368
Staff14 4
Customers0
Project successful?
![Page 48: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/48.jpg)
50
Specifications
![Page 49: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/49.jpg)
51
Agile Requirements
Specification-
By-Example
Image from: 50 Quick ideas to improve your user stories: https://leanpub.com/50quickideas@gojkoadzic, @DavidEvans66
Why?(define upfront)
How?(define just-in-time)
![Page 50: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/50.jpg)
52
Agile Specifications
Why?Impact
How?Specification earlier later
Code
Reminderfor aconversation
Goals
Impacts
Epics
User Stories
Acceptance-criteria
![Page 51: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/51.jpg)
53
Specification Workshops
public void TestInitialOrderDiscount()
{
Customer newCustomer = new Customer();
Order newOrder = new Order(newCustomer);
newOrder.AddBook(
Catalog.Find(“ISBN-0955683610”)
);
Assert.Equals(33.75,
newOrder.Subtotal);
}
Register as “bart_bookworm”Go to “/catalog/search”Enter “ISBN-0955683610”Click “Search”Click “Add to Cart”Click “View Cart”Verify “Subtotal” is “$33.75”
We would like to encourage new users to buy in our shop.Therefore we offer 10% discount for their first order.
Original idea for the illustration: George Dinwiddiehttp://blog.gdinwidiee.com
![Page 52: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/52.jpg)
54
Acceptance-criteria
Why?Impact
How?Specification earlier later
Code
Goals
Impacts
Epics
User Stories
Bugs
Agile Specifications
![Page 53: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/53.jpg)
55
Specification-By-Example
Examples ……make abstract descriptions better understandable
…are usually not formally documented or exchanged
Example Tests
Specifications
consist of
describe validate fulfillment
![Page 54: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/54.jpg)
56
Specification Workshops
public void TestInitialOrderDiscount()
{
Customer newCustomer = new Customer();
Order newOrder = new Order(newCustomer);
newOrder.AddBook(
Catalog.Find(“ISBN-0955683610”)
);
Assert.Equals(33.75,
newOrder.Subtotal);
}
Register as “bart_bookworm”Go to “/catalog/search”Enter “ISBN-0955683610”Click “Search”Click “Add to Cart”Click “View Cart”Verify “Subtotal” is “$33.75”
We would like to encourage new users to buy in our shop.Therefore we offer 10% discount for their first order.
Original idea for the illustration: George Dinwiddie (@gdinwiddie)http://blog.gdinwidiee.com
![Page 55: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/55.jpg)
57
… illustrated with formalized examples
Given the user has not ordered yet
When the user adds a book with the price of EUR 37.5
into the shopping cart
Then the shopping cart sub-total is EUR 33.75.
Original idea for the illustration: George Dinwiddie (@gdinwiddie)http://blog.gdinwidiee.com
We would like to encourage new users to buy in our shop.Therefore we offer 10% discount for their first order.
![Page 56: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/56.jpg)
58
Discover hidden assumptions
Actually, this is not quite right:Books on sale should be excluded.
Original idea for the illustration: George Dinwiddie (@gdinwiddie)http://blog.gdinwidiee.com
![Page 57: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/57.jpg)
59
Collaboration: 3 amigos
“HappyPath”
Technical feasability
Exceptions, border cases
Original idea for the illustration: George Dinwiddie (@gdinwiddie)http://blog.gdinwidiee.com
![Page 58: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/58.jpg)
60
Structuringthe conversation
![Page 59: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/59.jpg)
61
Collecting Acceptance Criteria
“I would try to put a book into the shopping cart …”
“I would try to remove a book from the shopping cart…”
“I’d check whether the shopping cart is empty, when I enter the shop …”
Books can be added to shopping cart.
Books can be removed from shopping cart.
Shopping cart should be empty when entering the shop.
... ? …
As a potential customerI want to collect books in a shopping cartSo that I can order several books at once.
“Imagine this story is already implemented:
How would you verify it?”
“I would try to add 1000 books to the shopping cart …”
![Page 60: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/60.jpg)
62
Exploration through examples
Books in catalogue:
Title Author
Specification-By-Example Gojko Adzic
Impact Mapping Gojko Adzic
Explore It! Elisabeth Hendrickson
Competitive Engineering Tom Gilb
… I want to find books in the catalogue by author and title
Search for … Books found …
Spec Specification-By-Example
Hend Explore It!
et Explore It!, Competitive Engineering
Context
ActionAssertion
![Page 61: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/61.jpg)
63
Key examples: Breaking the model
Books in catalogue:
Title Author
Specification-By-Example Gojko Adzic
Impact Mapping Gojko Adzic
Explore It! Elisabeth Hendrickson
Competitive Engineering Tom Gilb
… I want to find books in the catalogue by author and title
Search for … Books found …
Spec Specification-By-Example
Hend Explore It!
et Explore It!, Competitive Engineering
What happens, if I search for “Explore Specification”?
Can I search for single characters, e.g. “e”?
Is the number of search results limited, or paged?
Is the search also performed in the sub-title of a book?
![Page 62: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/62.jpg)
64
UI wire frames,existing UI
rules, key examples
existing artifacts,samples
Different kinds of examples
![Page 63: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/63.jpg)
65
Abstract acceptance criteria
As a shop visitorI want to collect books in my shopping basketso that I can purchase multiple books at once.
Books can be added to the shopping basket
Books can be removed from the shopping basket
Shopping basket is initially empty
The same book can be added multiple times to the shopping basket
![Page 64: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/64.jpg)
66
Scenarios: Examples in Gherkin
As a shop visitorI want to collect books in my shopping basketso that I can purchase multiple books at once.
Books can be added to the shopping basket
Given my shopping basket is empty
When I add the book “Harry Potter” to my shopping basket
Then my shopping basket should contain 1 copy of “Harry Potter”
![Page 65: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/65.jpg)
67
As a shop visitorI want to collect books in my shopping basketso that I can purchase multiple books at once.
Books can be added to the shopping basket
Scenarios: Examples in Gherkin
Given my shopping basket contains 1 copy of “Harry Potter”
When I add the book “Harry Potter” to my shopping basket
Then my shopping basket should contain 2 copies of “Harry Potter”
The same book can be added multiple times to the shopping basket
![Page 66: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/66.jpg)
68
The same book can be added multiple times to the shopping basket
Structure of Scenarios
Given my shopping basket contains 1 copy of “Harry Potter”
When I add the book “Harry Potter” to my shopping basket
Then my shopping basket should contain 2 copies of “Harry Potter”
Title: Describes intention/abstract acceptance criterion
Arrange: Context, describes state of the system
Act: Execution of the feature
Assert: Assertion of observable behaviour
And I should see the warning: “Book already existed in basket”
Triple-Aconstraint“Checks”
Chainingup steps
![Page 67: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/67.jpg)
69
Purpose of the examples
• Shared understanding:acceptance criteria
•Documentation:specification details
• Regression-tests:violated specifications
![Page 68: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/68.jpg)
70
Automated continuous validation
Given my shopping basket contains 1 copy of “Harry Potter”
When I add the book “Harry Potter” to my shopping basket
Then my shopping basket should contain 2 copies of “Harry Potter”
System
„Step Definitions“ are binding individual stepsto an automatable interface of the application.
Automatableinterface
UIAutomation
Automation does not necessarily have to bind to the UI.
Automatability of system is supported/evolving with development.
![Page 69: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/69.jpg)
71
Different levels of automation
![Page 70: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/70.jpg)
72
SpecFlow in 2014 – BDD for .NET
#82 in Visual Studio Gallery based on popularity (6.11.2014)
#26 in NuGet based on recent installs (6.11.2014)
~1'000 visits daily
> 25’000 active users> 30 contributors
![Page 71: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/71.jpg)
73
SpecificationExamples
![Page 72: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/72.jpg)
74
Booking system
![Page 73: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/73.jpg)
75
Payroll calculation
![Page 74: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/74.jpg)
76
eVoting system
![Page 75: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/75.jpg)
77
Examples in Excel
![Page 76: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/76.jpg)
78
End-EndALM Toolsupport
![Page 77: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/77.jpg)
79
Development Platform (Java, .NET, Ruby, PHP)
Version Control System (Git, TFS-VC)
Workitem Tracking (JIRA, TFS)
SpecLog
Story Maps
Product Backlog
SprintBacklog
Task Board
Gherkin ScenariosTest-auto-mation
Product
LivingDocumen-
tation
Development Platform (Java, .NET, Ruby, PHP)
![Page 78: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/78.jpg)
80
Story Maps in SpecLog
Story MapsUser activities
Priority
![Page 79: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/79.jpg)
81
Product Backlog in Workitems
Product Backlog
![Page 80: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/80.jpg)
82
Acceptance Criteria in SpecLog
SprintBacklog
![Page 81: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/81.jpg)
83
Acceptance Criteria in Workitems
SprintBacklog
![Page 82: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/82.jpg)
84
Tasks in Workitems
Task Board
![Page 83: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/83.jpg)
85
Version Controlled Scenarios
SpecFlow Scenarios
![Page 84: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/84.jpg)
86
Scenarios tested with each Build
Test-auto-mation
![Page 85: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/85.jpg)
87
Scenarios linked in SpecLog
LivingDocumen-
tation
![Page 86: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/86.jpg)
88
Living documentation in SpecLog
Drill into Details(Gherkin scenarios)
Overview(Story Map)
![Page 87: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/87.jpg)
89
Living documentation in HTML
LivingDocumen-
tation
![Page 88: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/88.jpg)
90
Living documentation: Validation
![Page 89: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/89.jpg)
91
Version Control System (Git, TFS-VC)
Workitem Tracking (JIRA, TFS)
SpecLog
Story Maps
Product Backlog
SprintBacklog
Task Board
Gherkin ScenariosTest-auto-mation
Product
LivingDocumen-
tation
Development Platform (Java, .NET, Ruby, PHP)
![Page 90: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/90.jpg)
92
Livingdocumentation
![Page 91: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/91.jpg)
93
Evolving Specifications
Product/Sprint Backlog
User Story 1AccCrit 1
AccCrit 2
User Story 2AccCrit 3
AccCrit 4
Living Documentation
Feature 1
AccCrit 1
AccCrit 2
Feature nAccCrit 4
AccCrit mUser Story n
AccCrit 5
AccCrit m
AccCrit 3AccCrit 5
„Done“
• Future options of the system• Organized/refined according to
priority, value, effort, risk, ...• Next possible increments of
the product (units of work)
• Current state of the system• Organized/refined for
functional overview• Versioned and maintained
together with source code
![Page 92: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/92.jpg)
94
Impact on
testing
![Page 93: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/93.jpg)
95
Test automation becomes expensivewhen …
• trying to automate
manual tests
• making tests
unreadable when
automating them
• automating after
completing
development
structure
readability
point in time
![Page 94: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/94.jpg)
96
StructureManual tests
Asserts Multiple combined features
Structure ACT-ASSERT-ACT-ASSERT-ACT-ASSERT-…
Dependent featuresLong test path with high chance to breakCause and impact of error hard to trace
Automated Check
Single aspect of a single feature
ARRANGE –ACT –ASSERT
Independent featuresShort test path with lower chance to breakCause and impact of error easy to relate
![Page 95: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/95.jpg)
97
Test automation pyramid
Userjourneys
Acceptance-criteria
Units
exploratory testing
Source: Mike Cohn
many
few
hard
easy
Automatability
![Page 96: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/96.jpg)
98
// Go to web page 'http://localhost:40001/' using new browser instanceBrowserWindow localhostBrowser = BrowserWindow.Launch(
new System.Uri(this.RecordedMethod1Params.Url));
// Click 'Register found item' linkMouse.Click(uIFundstückerfassenHyperlink, new Point(56, 9));
// Click 'Save' buttonMouse.Click(uISpeichernButton, new Point(44, 14));
int fundNr1 = int.Parse(uIFundNr127Pane.InnerText.Substring(9));
// Click 'Register found item' linkMouse.Click(uIFundstückerfassenHyperlink, new Point(63, 7));
// Click 'Save' buttonMouse.Click(uISpeichernButton, new Point(34, 11));
int fundNr2 = int.Parse(uIFundNr128Pane.InnerText.Substring(9));
Assert.IsTrue(fundNr1 + 1 == fundNr2);
// Click 'Close' buttonMouse.Click(uICloseButton, new Point(26, 11));
Readability
![Page 97: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/97.jpg)
99
A readable test case
Scenario: New found items should receive a consecutive number for the current year
Given the previous found item of thecurrent year had the number 145
When I register a new found item
Then the last found item of thecurrent year should have the number 146
![Page 98: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/98.jpg)
100
When to test (point in time)
Acceptance criteria(ATDD, BDD)
Unit Tests(TDD)
business view
technical view
Exploratory tests Workflow tests
Performance, Scalability, Usability,Security, …
def
inin
g th
e p
rod
uct
criticizing th
e p
rod
uct
New dimension: defining the productSynergy: Specification of requirements and tests
Agile Testing Quadrants: Brian Marick
![Page 99: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/99.jpg)
101
Test automation pyramid
Userjourneys
Acceptance-criteria
Units
exploratory testing
Source: Mike Cohn
many
few
hard
easy
Automatability
![Page 100: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/100.jpg)
102
Manual Testing is always necessary!
Userjourneys
Acceptance-criteria
Units
exploratory testing
Source: Mike Cohn
many
few
harder
easier
Automatability
ManualCheckafterStoryDone
Mainsuccesspathes
Undiscoveredacceptancecriteria
No/(few)manualregressionchecks
Few pathesare enough
More timefor exploration
![Page 101: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/101.jpg)
103
Cross-functional work
Sprint 1 Sprint 2 Sprint 3
short iteration
US4
Plan
Implement & autom. test
US5
Plan
Implement & autom. test
US2
Plan
Implement & autom. test
US3
Plan
Implement & autom. test
US6
Plan
Implement & autom. test
US1
Plan
Implement & autom. test
US7
Plan
Implement & autom. test
US8
Plan
Implement & autom. test
US9
Plan
Implement & autom. test
Explo
ratory Tests
Specification and test
Collaboration for definingacceptance criteria
Collaboration for automation
Preventing bugsinstead of finding them!
Extension of“Test Cases”
LimitWIP
Collaborationin manual
testing
![Page 102: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/102.jpg)
104
ATDD
![Page 103: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/103.jpg)
105
Tasks are not “business readable”
Create bookings for a fixed time loop on
![Page 104: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/104.jpg)
106
… scenarios (AC) are business readable
![Page 105: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/105.jpg)
107
ATDD cycle
Write afailing
unit test
Make thetest pass
Refactor
Write a failingacceptance
test
Deploy andmeasureimpact
Refine feature, if needed(new user story)
break downunits
extendsystemUser Story
AC/Scenario 1
AC/Scenario 2
AC/Scenario …
AC/Scenario n
modifysystem
Expectedimpact
![Page 106: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/106.jpg)
108
Transpareny for all stakeholders
In Progress
![Page 107: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/107.jpg)
109
Report: all scenarios of the current sprint
![Page 108: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/108.jpg)
110
First scenario started
![Page 109: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/109.jpg)
111
First scenario finished
![Page 110: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/110.jpg)
112
Visible progress: scenarios turning green
![Page 111: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/111.jpg)
113
Visible progress: scenarios turning green
![Page 112: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/112.jpg)
114
Visible progress: scenarios turning green
![Page 113: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/113.jpg)
115
Work in progress on multiple stories
![Page 114: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/114.jpg)
116
First story ready to test
![Page 115: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/115.jpg)
117
Manual test can already start earlier
![Page 116: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/116.jpg)
118
Scenarios can turn red again
![Page 117: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/117.jpg)
119
Scenarios can turn red again
![Page 118: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/118.jpg)
120
Valuable feedback
![Page 119: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/119.jpg)
121
Resources
![Page 120: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/120.jpg)
122
Books
Gojko AdzicBridiging theCommunication Gap@gojkoadzic
Gojko AdzicSpecification byExample@gojkoadzic
Elisabeth HendricksonExplore IT!@testobsessed
![Page 121: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/121.jpg)
123
Books
50 Quick Ideasto improve your
User StoriesGojko AdzicDavid Evans@gojkoadzic
@DavidEvans66
User StoryMapping
Jeff Patton@jeffpatton
Impact MappingGojko Adzic
@gojkoadzic
![Page 122: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/122.jpg)
124
Books
Discover to DeliverEllen Gottesdiener
Mary Gorman@ellengott
ComittmentChris Matts et al
@papachrismatts
![Page 123: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/123.jpg)
126
Product Owner Survival CampAcross Europe
With: Gojko Adzic, David Evans, Chris Matts, Christian Hassa
Special Guests:Jeff Patton (Stockholm, 11/2014)Ellen Gottesdiener (Vienna, 3/2015)
www.ProductOwnerSurvivalCamp.com
![Page 124: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/124.jpg)
TechTalk: put this into daily practice
• Agile Software Development• Consulting and Delivery• Offices: Zurich, Vienna, Budapest• Founded: 1993
TechTalk office, Vienna/Austria
![Page 125: Agile Requirements](https://reader033.fdocuments.in/reader033/viewer/2022052700/55a68cb71a28abcc7d8b460b/html5/thumbnails/125.jpg)
129
Work with us …
Projects Experts
Agile Coaching
& Training
More information at http://www.techtalk.at/?lang=en-US