SlideShare a Scribd company logo
1 of 30
Copyright © 2015 Equinox Limited
How to become a 'specification
by example' rocket scientist
Kirsten Eriksen, Senior Consultant
Ben Hughes, Systems Analyst
Copyright © 2015 Equinox Limited
Equinox IT is New Zealand’s leading
independent IT consultancy, delivering
software development, consulting and
training services.
Established in 1995, we inject fresh
thinking to solve tough business
problems.
Equinox IT has over 60 staff based in
Wellington and Auckland.
About Equinox IT
Copyright © 2015 Equinox Limited
Journey from Tester to Analyst
3
Copyright © 2015 Equinox Limited
The tester, simplified
• Test one thing at a time
• A poor test triggers multiple failure states
• Enter a credit card with an invalid date and no
card holder details
4
Copyright © 2015 Equinox Limited
The analyst, simplified
• Describe one thing at a time
• A poor requirement muddies the distinction
between features
• The system must be responsive
5
Copyright © 2015 Equinox Limited
Finding common ground
• Increase focus on early collaboration
• Analysis of a requirement taking the form of a
test case
6
Copyright © 2015 Equinox Limited
Specification by Example basics
7
Copyright © 2015 Equinox Limited
Why Specification by Example
• A way to explicitly discuss assumptions and
drive out actual requirements
• Just one approach
8
Copyright © 2015 Equinox Limited
Why Specification by Example
• The earlier a problem is found, the cheaper it
is to resolve
9
0
2
4
6
8
10
12
14
16
Design Implementation Testing
Relative cost to fix
Phase Defect is found
Data sourced from IBM Systems Sciences Institute
Copyright © 2015 Equinox Limited
Acronym Driven Development
10
Images sourced from freepik.com
ATDD
Acceptance Test Driven Development
BDD
Behaviour Driven Development
FDD
Feature-Driven Development
Copyright © 2015 Equinox Limited
What is Specification by Example?
• Realistic examples over abstract statements
• A collaborative approach
• A facilitated approach
11
Copyright © 2015 Equinox Limited
How Specification by Example can help
• “We need to give people something complete
enough to complain about”
• Business Analysts can get caught in a world
where they can never be wrong – which leads
to them becoming a bottleneck
12
Copyright © 2015 Equinox Limited
Specification by Example approaches
• Table
• Can be similar to decision tables in format
• Scenarios
• Given / When / Then format
• Can be similar to business rules in format
13
Copyright © 2015 Equinox Limited
Specification by Example approaches
• Table, useful for describing inputs and outputs
14
Order total ESA member? Free shipping?
$10M Yes Yes
$10M No Yes
$5M Yes Yes
$5M No No
Copyright © 2015 Equinox Limited
Specification by Example approaches
• Scenario, useful for work flows
Given I have logged in
And I have add an item to a consignment
WhenI select to proceed to checkout
Then the items will be listed for confirmation
And I am prompted to select a payment method
15
Preconditions
Trigger
Outcomes
Copyright © 2015 Equinox Limited
Specification by Example – How it
Fits in.
16
Copyright © 2015 Equinox Limited
How to use Specification by Example
• Atomic
• Complete
• Consistent
• Concise
• Feasible
• Unambiguous
• Testable
• Understandable
• Prioritised
17
• BABOK – 7.2.4 Quality conditions for a
requirement:
Copyright © 2015 Equinox Limited
Which approach when?
• Table
• If it’s a calculation
• If showing the impact of one on many
• Given / When / Then
• If a table would be too big or complex
• If you are describing a flow
18
Copyright © 2015 Equinox Limited
Using Specification by Example:
Practical Examples
19
Copyright © 2015 Equinox Limited
Calculations – The Bad Way
Given that an order has been made by a new customer
When the price of the order is over $20
Then a discount of $5 is applied
Given that an order has been made by a new customer
When the price of the order is over $100
Then a discount of $33.33 is applied
20
Copyright © 2015 Equinox Limited
Calculations - Instead try:
Customer Type Value of Order Discount
New Customer >$20 25%
New Customer >$100 33%
Existing Customer >$20 0%
Existing Customer >$100 10%
21
Copyright © 2015 Equinox Limited
Tangled Table – The Bad Way
Credit card
name
Credit card
expiry Credit card number
Credit card
type Accepted?
A Jones 12/15 1234-1234-1234-1234 Visa Yes
K Smith 1/17 2345-2345-2345-2345 Amex No
G Williams 4/16 18954254 Visa No
R Penfold 8/15 3456-3456-3456-3456 Master Card No
M Matthews 2/16 123456789 GE Card No
P Andrews 10/15 9876-H582-G156-K157 Visa No
D McDonald 11/14 CRED-ITCA-RDSS-UCK! Amex No
22
Copyright © 2015 Equinox Limited
Tangled Table – Instead Try:
Given that a credit card has been provided for payment
When the credit card is valid
Then the payment will be accepted
Valid is defined as:
- Having a name that is accepted by the credit card service
- Having an expiry date that is equal to or after the current month
- Having a number that:
- Consists entirely of numerals
- Is 16 characters long
- Contains 4 sets of sequential numbers
- Is of a type that is either MasterCard or Visa
23
Copyright © 2015 Equinox Limited
Non-Atomic Given / When / Then –
The Bad Way
Given that a purchase has been submitted
When the purchase has been validated and
accepted
Then send the customer the details of the order
AND update the stock inventory
AND send the information to the warehouse for
fulfilment
24
Copyright © 2015 Equinox Limited
Non-Atomic Given / When / Then
Instead Try:
Given that a purchase has been submitted
When the purchase has been validated and accepted
Then send the customer the details of the order
Given that a purchase has been submitted
When the purchase has been validated and accepted
Then update the stock inventory
Given that a purchase has been submitted
When the purchase has been validated and accepted
Then send the information to the warehouse for fulfilment
25
Copyright © 2015 Equinox Limited
Multiple versions of input result in the
same output – The Bad Way
Item type Quantity Result
Rocket Ship >1 Accept
Spacesuit >1 Accept
Space Helmet >1 Accept
Space Rocks >1 Accept
Space Boots >1 Accept
Space Food >1 Accept
Gravity Belt >1 Accept
Anti-matter Ray >1 Accept
26
Copyright © 2015 Equinox Limited
Multiple versions of input result in the
same output - Instead Try:
Given that a quantity of items have been
requested
When Validating the quantity
Then numbers greater than one (1) are accepted
27
Copyright © 2015 Equinox Limited
Quantities – whole numbers vs partial-
The Bad Way
Quantity requested Result
1 Accept
1.1 Fail
1.75 Fail
-2 Fail
3.89 Fail
1,000,000 Accept
3,768,825.976 Fail
0.876328 Fail
28
Copyright © 2015 Equinox Limited
Quantities – whole numbers vs partial
Instead Try:
Given that a quantity of rocketships have been
requested
When Validating the quantity
Then only positive whole numbers can be accepted
Given that a quantity of rocketships have been
requested
When the quantity is not a positive whole number
Then display an error
29
Copyright © 2015 Equinox Limited
Injecting fresh thinking to solve
tough business problems.
30

More Related Content

Viewers also liked

Specflow: Specification by Example
Specflow: Specification by ExampleSpecflow: Specification by Example
Specflow: Specification by ExampleSam Leach
 
Specification by Example - Agile India 2015
Specification by Example - Agile India 2015Specification by Example - Agile India 2015
Specification by Example - Agile India 2015Ankur Sambhar
 
Practical way to experience of Specification by Example
Practical way to experience of Specification by ExamplePractical way to experience of Specification by Example
Practical way to experience of Specification by ExampleLarry Cai
 
Specification by example - course summary
Specification by example - course summarySpecification by example - course summary
Specification by example - course summaryJakub Holy
 
Acceptance Test Driven Development and Robot Framework
Acceptance Test Driven Development and Robot FrameworkAcceptance Test Driven Development and Robot Framework
Acceptance Test Driven Development and Robot FrameworkSteve Zhang
 
Moving Towards Zero Defects with Specification by Example
Moving Towards Zero Defects with Specification by ExampleMoving Towards Zero Defects with Specification by Example
Moving Towards Zero Defects with Specification by ExampleSteve Rogalsky
 
Test Automation In The Hands of "The Business"
Test Automation In The Hands of "The Business"Test Automation In The Hands of "The Business"
Test Automation In The Hands of "The Business"Greg Tutunjian
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysissslovepk
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specificationM.E. at GTU- PG School
 
Specification-By-Example with Gherkin
Specification-By-Example with GherkinSpecification-By-Example with Gherkin
Specification-By-Example with GherkinChristian Hassa
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot FrameworkPekka Klärck
 
Specification by Example
Specification by ExampleSpecification by Example
Specification by ExampleDeclan Whelan
 
8 Characteristics of good user requirements
8 Characteristics of good user requirements8 Characteristics of good user requirements
8 Characteristics of good user requirementsguest24d72f
 
The Science of Memorable Presentations
The Science of Memorable PresentationsThe Science of Memorable Presentations
The Science of Memorable PresentationsEthos3
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysisasimnawaz54
 
Table of Specifications (TOS) and Test Construction Review
Table of Specifications (TOS) and Test Construction ReviewTable of Specifications (TOS) and Test Construction Review
Table of Specifications (TOS) and Test Construction ReviewRivera Arnel
 
Software project management requirements analysis
Software project management requirements analysisSoftware project management requirements analysis
Software project management requirements analysisAntony Alex
 
6 basic steps of software development process
6 basic steps of software development process6 basic steps of software development process
6 basic steps of software development processRiant Soft
 
requirements analysis and design
requirements analysis and designrequirements analysis and design
requirements analysis and designPreeti Mishra
 

Viewers also liked (20)

Specflow: Specification by Example
Specflow: Specification by ExampleSpecflow: Specification by Example
Specflow: Specification by Example
 
Specification by Example - Agile India 2015
Specification by Example - Agile India 2015Specification by Example - Agile India 2015
Specification by Example - Agile India 2015
 
Practical way to experience of Specification by Example
Practical way to experience of Specification by ExamplePractical way to experience of Specification by Example
Practical way to experience of Specification by Example
 
Specification by example - course summary
Specification by example - course summarySpecification by example - course summary
Specification by example - course summary
 
Acceptance Test Driven Development and Robot Framework
Acceptance Test Driven Development and Robot FrameworkAcceptance Test Driven Development and Robot Framework
Acceptance Test Driven Development and Robot Framework
 
Moving Towards Zero Defects with Specification by Example
Moving Towards Zero Defects with Specification by ExampleMoving Towards Zero Defects with Specification by Example
Moving Towards Zero Defects with Specification by Example
 
Test Automation In The Hands of "The Business"
Test Automation In The Hands of "The Business"Test Automation In The Hands of "The Business"
Test Automation In The Hands of "The Business"
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Mobile Payments Framework
Mobile Payments FrameworkMobile Payments Framework
Mobile Payments Framework
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specification
 
Specification-By-Example with Gherkin
Specification-By-Example with GherkinSpecification-By-Example with Gherkin
Specification-By-Example with Gherkin
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot Framework
 
Specification by Example
Specification by ExampleSpecification by Example
Specification by Example
 
8 Characteristics of good user requirements
8 Characteristics of good user requirements8 Characteristics of good user requirements
8 Characteristics of good user requirements
 
The Science of Memorable Presentations
The Science of Memorable PresentationsThe Science of Memorable Presentations
The Science of Memorable Presentations
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
 
Table of Specifications (TOS) and Test Construction Review
Table of Specifications (TOS) and Test Construction ReviewTable of Specifications (TOS) and Test Construction Review
Table of Specifications (TOS) and Test Construction Review
 
Software project management requirements analysis
Software project management requirements analysisSoftware project management requirements analysis
Software project management requirements analysis
 
6 basic steps of software development process
6 basic steps of software development process6 basic steps of software development process
6 basic steps of software development process
 
requirements analysis and design
requirements analysis and designrequirements analysis and design
requirements analysis and design
 

Similar to How to become a 'specification by example' rocket scientist

Intro to Accounting with QuickBooks for Startups, Software Development Compan...
Intro to Accounting with QuickBooks for Startups, Software Development Compan...Intro to Accounting with QuickBooks for Startups, Software Development Compan...
Intro to Accounting with QuickBooks for Startups, Software Development Compan...SmartLogic
 
Special Offers, Packages and Relaxed Retainers for Virtual Assistants
Special Offers, Packages and Relaxed Retainers for Virtual AssistantsSpecial Offers, Packages and Relaxed Retainers for Virtual Assistants
Special Offers, Packages and Relaxed Retainers for Virtual AssistantsVA Placements
 
An Introduction to a Systems Thinking Approach-2
An Introduction to a Systems Thinking Approach-2An Introduction to a Systems Thinking Approach-2
An Introduction to a Systems Thinking Approach-2Andrew Stangroom
 
Ken Pugh "Effectively Communicating With Acceptance Tests"
Ken Pugh "Effectively Communicating With Acceptance Tests"Ken Pugh "Effectively Communicating With Acceptance Tests"
Ken Pugh "Effectively Communicating With Acceptance Tests"RedHatAgileDay
 
Government Procurement - A Supplier's Perspective
Government Procurement - A Supplier's PerspectiveGovernment Procurement - A Supplier's Perspective
Government Procurement - A Supplier's PerspectivePaul Ramsay
 
How to raise a seed series a, without losing your company.
How to raise a seed series a, without losing your company.How to raise a seed series a, without losing your company.
How to raise a seed series a, without losing your company.Sergey Nazarov
 
Confidence in Financial Control with ACL
Confidence in Financial Control with ACLConfidence in Financial Control with ACL
Confidence in Financial Control with ACLDan French
 
1 stupid things biz req
1 stupid things biz req1 stupid things biz req
1 stupid things biz reqSirq
 
5 Ways to Boost Profits & Maximise Cashflow in Your Trade Business
5 Ways to Boost Profits & Maximise Cashflow in Your Trade Business5 Ways to Boost Profits & Maximise Cashflow in Your Trade Business
5 Ways to Boost Profits & Maximise Cashflow in Your Trade BusinessPROTRADE United
 
10 Steps To Startup Funding
10 Steps To Startup Funding10 Steps To Startup Funding
10 Steps To Startup Fundingwickedstart
 
Solution Selling
Solution SellingSolution Selling
Solution Sellingcebrandt
 
Pitching the Plan (Venture Fast Track preparation)
Pitching the Plan (Venture Fast Track preparation)Pitching the Plan (Venture Fast Track preparation)
Pitching the Plan (Venture Fast Track preparation)The Capital Network
 
2 dean lightwood debt sale (4 3)
2 dean lightwood debt sale (4 3)2 dean lightwood debt sale (4 3)
2 dean lightwood debt sale (4 3)CCR-interactive
 
Delaware Business Law
Delaware Business Law Delaware Business Law
Delaware Business Law CT
 
How to Use Tax Returns for Global Cash Flow with Multiple Pass-Through Entities
How to Use Tax Returns for Global Cash Flow with Multiple Pass-Through EntitiesHow to Use Tax Returns for Global Cash Flow with Multiple Pass-Through Entities
How to Use Tax Returns for Global Cash Flow with Multiple Pass-Through EntitiesLibby Bierman
 

Similar to How to become a 'specification by example' rocket scientist (20)

Intro to Accounting with QuickBooks for Startups, Software Development Compan...
Intro to Accounting with QuickBooks for Startups, Software Development Compan...Intro to Accounting with QuickBooks for Startups, Software Development Compan...
Intro to Accounting with QuickBooks for Startups, Software Development Compan...
 
Special Offers, Packages and Relaxed Retainers for Virtual Assistants
Special Offers, Packages and Relaxed Retainers for Virtual AssistantsSpecial Offers, Packages and Relaxed Retainers for Virtual Assistants
Special Offers, Packages and Relaxed Retainers for Virtual Assistants
 
An Introduction to a Systems Thinking Approach-2
An Introduction to a Systems Thinking Approach-2An Introduction to a Systems Thinking Approach-2
An Introduction to a Systems Thinking Approach-2
 
Ken Pugh "Effectively Communicating With Acceptance Tests"
Ken Pugh "Effectively Communicating With Acceptance Tests"Ken Pugh "Effectively Communicating With Acceptance Tests"
Ken Pugh "Effectively Communicating With Acceptance Tests"
 
Government Procurement - A Supplier's Perspective
Government Procurement - A Supplier's PerspectiveGovernment Procurement - A Supplier's Perspective
Government Procurement - A Supplier's Perspective
 
How to raise a seed series a, without losing your company.
How to raise a seed series a, without losing your company.How to raise a seed series a, without losing your company.
How to raise a seed series a, without losing your company.
 
1532360.ppt
1532360.ppt1532360.ppt
1532360.ppt
 
Confidence in Financial Control with ACL
Confidence in Financial Control with ACLConfidence in Financial Control with ACL
Confidence in Financial Control with ACL
 
Getting ready to launch
Getting ready to launchGetting ready to launch
Getting ready to launch
 
1 stupid things biz req
1 stupid things biz req1 stupid things biz req
1 stupid things biz req
 
5 Ways to Boost Profits & Maximise Cashflow in Your Trade Business
5 Ways to Boost Profits & Maximise Cashflow in Your Trade Business5 Ways to Boost Profits & Maximise Cashflow in Your Trade Business
5 Ways to Boost Profits & Maximise Cashflow in Your Trade Business
 
10 Steps To Startup Funding
10 Steps To Startup Funding10 Steps To Startup Funding
10 Steps To Startup Funding
 
Solution Selling
Solution SellingSolution Selling
Solution Selling
 
Pitching the Plan (Venture Fast Track preparation)
Pitching the Plan (Venture Fast Track preparation)Pitching the Plan (Venture Fast Track preparation)
Pitching the Plan (Venture Fast Track preparation)
 
2 dean lightwood debt sale (4 3)
2 dean lightwood debt sale (4 3)2 dean lightwood debt sale (4 3)
2 dean lightwood debt sale (4 3)
 
Having Problems Getting Paid? Collecting Your Fees Within The Line Of Ethics
Having Problems Getting Paid? Collecting Your Fees Within The Line Of EthicsHaving Problems Getting Paid? Collecting Your Fees Within The Line Of Ethics
Having Problems Getting Paid? Collecting Your Fees Within The Line Of Ethics
 
Delaware Business Law
Delaware Business Law Delaware Business Law
Delaware Business Law
 
Financing your start-up
Financing your start-upFinancing your start-up
Financing your start-up
 
cHART-OF-ACCOUNTS.ppt
cHART-OF-ACCOUNTS.pptcHART-OF-ACCOUNTS.ppt
cHART-OF-ACCOUNTS.ppt
 
How to Use Tax Returns for Global Cash Flow with Multiple Pass-Through Entities
How to Use Tax Returns for Global Cash Flow with Multiple Pass-Through EntitiesHow to Use Tax Returns for Global Cash Flow with Multiple Pass-Through Entities
How to Use Tax Returns for Global Cash Flow with Multiple Pass-Through Entities
 

Recently uploaded

APRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdfAPRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdfRbc Rbcua
 
Innovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdfInnovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdfrichard876048
 
Send Files | Sendbig.comSend Files | Sendbig.com
Send Files | Sendbig.comSend Files | Sendbig.comSend Files | Sendbig.comSend Files | Sendbig.com
Send Files | Sendbig.comSend Files | Sendbig.comSendBig4
 
8447779800, Low rate Call girls in Tughlakabad Delhi NCR
8447779800, Low rate Call girls in Tughlakabad Delhi NCR8447779800, Low rate Call girls in Tughlakabad Delhi NCR
8447779800, Low rate Call girls in Tughlakabad Delhi NCRashishs7044
 
TriStar Gold Corporate Presentation - April 2024
TriStar Gold Corporate Presentation - April 2024TriStar Gold Corporate Presentation - April 2024
TriStar Gold Corporate Presentation - April 2024Adnet Communications
 
Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Kirill Klimov
 
Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03DallasHaselhorst
 
Appkodes Tinder Clone Script with Customisable Solutions.pptx
Appkodes Tinder Clone Script with Customisable Solutions.pptxAppkodes Tinder Clone Script with Customisable Solutions.pptx
Appkodes Tinder Clone Script with Customisable Solutions.pptxappkodes
 
Buy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy Verified Accounts
 
Chapter 9 PPT 4th edition.pdf internal audit
Chapter 9 PPT 4th edition.pdf internal auditChapter 9 PPT 4th edition.pdf internal audit
Chapter 9 PPT 4th edition.pdf internal auditNhtLNguyn9
 
Church Building Grants To Assist With New Construction, Additions, And Restor...
Church Building Grants To Assist With New Construction, Additions, And Restor...Church Building Grants To Assist With New Construction, Additions, And Restor...
Church Building Grants To Assist With New Construction, Additions, And Restor...Americas Got Grants
 
Memorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQMMemorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQMVoces Mineras
 
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCRashishs7044
 
International Business Environments and Operations 16th Global Edition test b...
International Business Environments and Operations 16th Global Edition test b...International Business Environments and Operations 16th Global Edition test b...
International Business Environments and Operations 16th Global Edition test b...ssuserf63bd7
 
business environment micro environment macro environment.pptx
business environment micro environment macro environment.pptxbusiness environment micro environment macro environment.pptx
business environment micro environment macro environment.pptxShruti Mittal
 
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort ServiceCall US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort Servicecallgirls2057
 
Investment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy CheruiyotInvestment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy Cheruiyotictsugar
 
The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...
The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...
The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...Operational Excellence Consulting
 
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCRashishs7044
 
Call Us 📲8800102216📞 Call Girls In DLF City Gurgaon
Call Us 📲8800102216📞 Call Girls In DLF City GurgaonCall Us 📲8800102216📞 Call Girls In DLF City Gurgaon
Call Us 📲8800102216📞 Call Girls In DLF City Gurgaoncallgirls2057
 

Recently uploaded (20)

APRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdfAPRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdf
 
Innovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdfInnovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdf
 
Send Files | Sendbig.comSend Files | Sendbig.com
Send Files | Sendbig.comSend Files | Sendbig.comSend Files | Sendbig.comSend Files | Sendbig.com
Send Files | Sendbig.comSend Files | Sendbig.com
 
8447779800, Low rate Call girls in Tughlakabad Delhi NCR
8447779800, Low rate Call girls in Tughlakabad Delhi NCR8447779800, Low rate Call girls in Tughlakabad Delhi NCR
8447779800, Low rate Call girls in Tughlakabad Delhi NCR
 
TriStar Gold Corporate Presentation - April 2024
TriStar Gold Corporate Presentation - April 2024TriStar Gold Corporate Presentation - April 2024
TriStar Gold Corporate Presentation - April 2024
 
Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024
 
Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03
 
Appkodes Tinder Clone Script with Customisable Solutions.pptx
Appkodes Tinder Clone Script with Customisable Solutions.pptxAppkodes Tinder Clone Script with Customisable Solutions.pptx
Appkodes Tinder Clone Script with Customisable Solutions.pptx
 
Buy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail Accounts
 
Chapter 9 PPT 4th edition.pdf internal audit
Chapter 9 PPT 4th edition.pdf internal auditChapter 9 PPT 4th edition.pdf internal audit
Chapter 9 PPT 4th edition.pdf internal audit
 
Church Building Grants To Assist With New Construction, Additions, And Restor...
Church Building Grants To Assist With New Construction, Additions, And Restor...Church Building Grants To Assist With New Construction, Additions, And Restor...
Church Building Grants To Assist With New Construction, Additions, And Restor...
 
Memorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQMMemorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQM
 
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
 
International Business Environments and Operations 16th Global Edition test b...
International Business Environments and Operations 16th Global Edition test b...International Business Environments and Operations 16th Global Edition test b...
International Business Environments and Operations 16th Global Edition test b...
 
business environment micro environment macro environment.pptx
business environment micro environment macro environment.pptxbusiness environment micro environment macro environment.pptx
business environment micro environment macro environment.pptx
 
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort ServiceCall US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
 
Investment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy CheruiyotInvestment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy Cheruiyot
 
The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...
The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...
The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...
 
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
 
Call Us 📲8800102216📞 Call Girls In DLF City Gurgaon
Call Us 📲8800102216📞 Call Girls In DLF City GurgaonCall Us 📲8800102216📞 Call Girls In DLF City Gurgaon
Call Us 📲8800102216📞 Call Girls In DLF City Gurgaon
 

How to become a 'specification by example' rocket scientist

  • 1. Copyright © 2015 Equinox Limited How to become a 'specification by example' rocket scientist Kirsten Eriksen, Senior Consultant Ben Hughes, Systems Analyst
  • 2. Copyright © 2015 Equinox Limited Equinox IT is New Zealand’s leading independent IT consultancy, delivering software development, consulting and training services. Established in 1995, we inject fresh thinking to solve tough business problems. Equinox IT has over 60 staff based in Wellington and Auckland. About Equinox IT
  • 3. Copyright © 2015 Equinox Limited Journey from Tester to Analyst 3
  • 4. Copyright © 2015 Equinox Limited The tester, simplified • Test one thing at a time • A poor test triggers multiple failure states • Enter a credit card with an invalid date and no card holder details 4
  • 5. Copyright © 2015 Equinox Limited The analyst, simplified • Describe one thing at a time • A poor requirement muddies the distinction between features • The system must be responsive 5
  • 6. Copyright © 2015 Equinox Limited Finding common ground • Increase focus on early collaboration • Analysis of a requirement taking the form of a test case 6
  • 7. Copyright © 2015 Equinox Limited Specification by Example basics 7
  • 8. Copyright © 2015 Equinox Limited Why Specification by Example • A way to explicitly discuss assumptions and drive out actual requirements • Just one approach 8
  • 9. Copyright © 2015 Equinox Limited Why Specification by Example • The earlier a problem is found, the cheaper it is to resolve 9 0 2 4 6 8 10 12 14 16 Design Implementation Testing Relative cost to fix Phase Defect is found Data sourced from IBM Systems Sciences Institute
  • 10. Copyright © 2015 Equinox Limited Acronym Driven Development 10 Images sourced from freepik.com ATDD Acceptance Test Driven Development BDD Behaviour Driven Development FDD Feature-Driven Development
  • 11. Copyright © 2015 Equinox Limited What is Specification by Example? • Realistic examples over abstract statements • A collaborative approach • A facilitated approach 11
  • 12. Copyright © 2015 Equinox Limited How Specification by Example can help • “We need to give people something complete enough to complain about” • Business Analysts can get caught in a world where they can never be wrong – which leads to them becoming a bottleneck 12
  • 13. Copyright © 2015 Equinox Limited Specification by Example approaches • Table • Can be similar to decision tables in format • Scenarios • Given / When / Then format • Can be similar to business rules in format 13
  • 14. Copyright © 2015 Equinox Limited Specification by Example approaches • Table, useful for describing inputs and outputs 14 Order total ESA member? Free shipping? $10M Yes Yes $10M No Yes $5M Yes Yes $5M No No
  • 15. Copyright © 2015 Equinox Limited Specification by Example approaches • Scenario, useful for work flows Given I have logged in And I have add an item to a consignment WhenI select to proceed to checkout Then the items will be listed for confirmation And I am prompted to select a payment method 15 Preconditions Trigger Outcomes
  • 16. Copyright © 2015 Equinox Limited Specification by Example – How it Fits in. 16
  • 17. Copyright © 2015 Equinox Limited How to use Specification by Example • Atomic • Complete • Consistent • Concise • Feasible • Unambiguous • Testable • Understandable • Prioritised 17 • BABOK – 7.2.4 Quality conditions for a requirement:
  • 18. Copyright © 2015 Equinox Limited Which approach when? • Table • If it’s a calculation • If showing the impact of one on many • Given / When / Then • If a table would be too big or complex • If you are describing a flow 18
  • 19. Copyright © 2015 Equinox Limited Using Specification by Example: Practical Examples 19
  • 20. Copyright © 2015 Equinox Limited Calculations – The Bad Way Given that an order has been made by a new customer When the price of the order is over $20 Then a discount of $5 is applied Given that an order has been made by a new customer When the price of the order is over $100 Then a discount of $33.33 is applied 20
  • 21. Copyright © 2015 Equinox Limited Calculations - Instead try: Customer Type Value of Order Discount New Customer >$20 25% New Customer >$100 33% Existing Customer >$20 0% Existing Customer >$100 10% 21
  • 22. Copyright © 2015 Equinox Limited Tangled Table – The Bad Way Credit card name Credit card expiry Credit card number Credit card type Accepted? A Jones 12/15 1234-1234-1234-1234 Visa Yes K Smith 1/17 2345-2345-2345-2345 Amex No G Williams 4/16 18954254 Visa No R Penfold 8/15 3456-3456-3456-3456 Master Card No M Matthews 2/16 123456789 GE Card No P Andrews 10/15 9876-H582-G156-K157 Visa No D McDonald 11/14 CRED-ITCA-RDSS-UCK! Amex No 22
  • 23. Copyright © 2015 Equinox Limited Tangled Table – Instead Try: Given that a credit card has been provided for payment When the credit card is valid Then the payment will be accepted Valid is defined as: - Having a name that is accepted by the credit card service - Having an expiry date that is equal to or after the current month - Having a number that: - Consists entirely of numerals - Is 16 characters long - Contains 4 sets of sequential numbers - Is of a type that is either MasterCard or Visa 23
  • 24. Copyright © 2015 Equinox Limited Non-Atomic Given / When / Then – The Bad Way Given that a purchase has been submitted When the purchase has been validated and accepted Then send the customer the details of the order AND update the stock inventory AND send the information to the warehouse for fulfilment 24
  • 25. Copyright © 2015 Equinox Limited Non-Atomic Given / When / Then Instead Try: Given that a purchase has been submitted When the purchase has been validated and accepted Then send the customer the details of the order Given that a purchase has been submitted When the purchase has been validated and accepted Then update the stock inventory Given that a purchase has been submitted When the purchase has been validated and accepted Then send the information to the warehouse for fulfilment 25
  • 26. Copyright © 2015 Equinox Limited Multiple versions of input result in the same output – The Bad Way Item type Quantity Result Rocket Ship >1 Accept Spacesuit >1 Accept Space Helmet >1 Accept Space Rocks >1 Accept Space Boots >1 Accept Space Food >1 Accept Gravity Belt >1 Accept Anti-matter Ray >1 Accept 26
  • 27. Copyright © 2015 Equinox Limited Multiple versions of input result in the same output - Instead Try: Given that a quantity of items have been requested When Validating the quantity Then numbers greater than one (1) are accepted 27
  • 28. Copyright © 2015 Equinox Limited Quantities – whole numbers vs partial- The Bad Way Quantity requested Result 1 Accept 1.1 Fail 1.75 Fail -2 Fail 3.89 Fail 1,000,000 Accept 3,768,825.976 Fail 0.876328 Fail 28
  • 29. Copyright © 2015 Equinox Limited Quantities – whole numbers vs partial Instead Try: Given that a quantity of rocketships have been requested When Validating the quantity Then only positive whole numbers can be accepted Given that a quantity of rocketships have been requested When the quantity is not a positive whole number Then display an error 29
  • 30. Copyright © 2015 Equinox Limited Injecting fresh thinking to solve tough business problems. 30