SlideShare a Scribd company logo
1 of 20
Download to read offline
Michael
Jastram
... and I do requirements
my Blog &
Newsletter:
formalmind.com
/blog
Image (Post-it) courtesy of Master isolated images / FreeDigitalPhotos.net
Requirements are
boring
Image courtesy of graur codrin / FreeDigitalPhotos.net
Image courtesy of David Castillo / FreeDigitalPhotos.net
Do you remember…
… and JUnit?
ImagecourtesyofMasterisolatedimages/FreeDigitalPhotos.net
Understand why requirements matter
Measure whether requirements are realized
Try to Automate as much as possible
Image courtesy of photostock / FreeDigitalPhotos.net
Joel Spolsky on requirements (1)
Images courtesy of sheelamohan, koratmember and Ambro / FreeDigitalPhotos.net
Speedy, at Hasty Bananas
Software, never writes
specs
Mr. Rogers, at The Well-
Tempered Software
Company, refuses to write
code without spec
v1.0
v2.0
Task: Word Processor Migration Feature
Painless Functional Specifications: http://www.joelonsoftware.com/articles/fog0000000036.html
Understand
Joel Spolsky on requirements (2)
Speedy, at Hasty Bananas
Software, never writes
specs
Mrs. Rogers, at The Well-
Tempered Software
Company, refuses to write
code without spec
Understand
Writes Converter
1.0 → 2.0
Duration: 2 weeks
Customer
Unhappy
Writes Converter
2.0 → 1.0
Duration: 2 weeks
Customer
Satisfied
Result:
Mediocre
Duration: 4 weeks
Joel Spolsky on requirements (3)
Speedy, at Hasty Bananas
Software, never writes
specs
Mrs. Rogers, at The Well-
Tempered Software
Company, refuses to write
code without spec
Understand
Writes Converter
1.0 → 2.0
Duration: 2 weeks
Customer
Unhappy
Writes Converter
2.0 → 1.0
Duration: 2 weeks
Customer
Satisfied
Result:
Mediocre
Duration: 4 weeks
Writes Converter
1.0 → 2.0
Customer
comments
Writes Spec v.1
“When opening a file created
with an older version of the
product, the file is converted
to the new format”
Duration: 20 minutes
Boss
comments
Writes Spec v.2
Duration: 20 minutes
Joel Spolsky on requirements (4)
Speedy, at Hasty Bananas
Software, never writes
specs
Mrs. Rogers, at The Well-
Tempered Software
Company, refuses to write
code without spec
Understand
Writes Converter
1.0 → 2.0
Customer
comments
Writes Spec v.1
“When opening a file created
with an older version of the
product, the file is converted
to the new format”
Duration: 20 minutes
Boss
comments
Result:
Great
Duration: 3 weeks, 1 hour
Writes Spec v.2
Duration: 20 minutes
Writes Spec v.3
Duration: 20 minutes
Implemen-
tation
Writes Converter
1.0 → 2.0
Duration: 2 weeks
Customer
Unhappy
Writes Converter
2.0 → 1.0
Duration: 2 weeks
Customer
Satisfied
Result:
Mediocre
Duration: 4 weeks
MeasureHow to write good requirements (1)
#1 Use the right approach
#2 KISS
Images courtesy of Master isolated images / FreeDigitalPhotos.net
MeasureHow to write good requirements (3)
#3 Requirements: What
Specification: How
#4 Define Scope!
Images courtesy of renjith krishnan / FreeDigitalPhotos.net
MeasureHow to write good requirements (3)
#5 Quantify if you can
(If you can't know why)
#6 Atomic and Identifiable
Images courtesy of David Castillo Dominici / FreeDigitalPhotos.net
complete, clear, realizable,
understandable,
no contradictions,
no redundancy,
traceability to source
MeasureHow to write good requirements (4)
Images courtesy of Master isolated images / FreeDigitalPhotos.net
Automate
Automate through Modeling
Image courtesy of nokhoog_buchachon / FreeDigitalPhotos.net
Automate
Domain Properties
Specification
Requirements
What?
How the world behaves
Image courtesy of anankkml, Felixco, Inc and Baitong333 / FreeDigitalPhotos.net
How?
realize
realize
Automate through Modeling (2)
realize
Automate
Domain Properties
Specification
Requirements
What?
How the world behaves
How?
Automate through Modeling (3)
realize
realize
justify
justify
Automate
Domain Properties
Specification
Requirements
Implementation
What?
How the world behaves
How?
realize
realize
refine
Automate through Modeling (4)
justify
justify
Automate
Automate through Modeling (5)
What models?
- UML
- SysML
- B / Event-B
- VDM
- Design by Contract
… and many more.
Image courtesy of nokhoog_buchachon / FreeDigitalPhotos.net
What about …
● Requirements vs. Goals vs. Specification?
● Use Cases?
● Traceability?
● Testing?
...?
Visit my talk:
6 June (Thu)
14:15 – 14:50
Room Diamant
Thank
you!
... and requirements are
not boring!
Image (Post-it) courtesy of Master isolated images / FreeDigitalPhotos.net

More Related Content

Similar to Requirements are Boring, and other Myths (EclipseCon 2013 Lightning talk)

How to get placed in product based companies as a software developer
How to get placed in product based companies as a software developer How to get placed in product based companies as a software developer
How to get placed in product based companies as a software developer
varunbhatt23
 

Similar to Requirements are Boring, and other Myths (EclipseCon 2013 Lightning talk) (20)

Pipelines to production
Pipelines to productionPipelines to production
Pipelines to production
 
justcode brochure
justcode brochurejustcode brochure
justcode brochure
 
Technology-Driven Development: Using Automation and Development Techniques to...
Technology-Driven Development: Using Automation and Development Techniques to...Technology-Driven Development: Using Automation and Development Techniques to...
Technology-Driven Development: Using Automation and Development Techniques to...
 
Why Scm
Why ScmWhy Scm
Why Scm
 
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
 
“One man” development process model
“One man” development process model“One man” development process model
“One man” development process model
 
Asj session-4
Asj session-4Asj session-4
Asj session-4
 
Before and after hitting the publish button
Before and after hitting the publish buttonBefore and after hitting the publish button
Before and after hitting the publish button
 
AD - Developer communication and Technology
AD - Developer communication and TechnologyAD - Developer communication and Technology
AD - Developer communication and Technology
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
 
Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD
 
Behavior Driven Development with AngularJS & Jasmine
Behavior Driven Development with AngularJS & JasmineBehavior Driven Development with AngularJS & Jasmine
Behavior Driven Development with AngularJS & Jasmine
 
3 tips to end tester-programmer wars
3 tips to end tester-programmer wars3 tips to end tester-programmer wars
3 tips to end tester-programmer wars
 
Fowd Recap
Fowd RecapFowd Recap
Fowd Recap
 
ddw NCC education assingment l4dc
 ddw NCC education assingment l4dc ddw NCC education assingment l4dc
ddw NCC education assingment l4dc
 
Top 5 DB2 Support Nightmares 2018 #2
Top 5 DB2 Support Nightmares 2018 #2Top 5 DB2 Support Nightmares 2018 #2
Top 5 DB2 Support Nightmares 2018 #2
 
Making your design vision a reality
Making your design vision a realityMaking your design vision a reality
Making your design vision a reality
 
How to get placed in product based companies as a software developer
How to get placed in product based companies as a software developer How to get placed in product based companies as a software developer
How to get placed in product based companies as a software developer
 
Test Driven Development on Android (Kotlin Kenya)
Test Driven Development on Android (Kotlin Kenya)Test Driven Development on Android (Kotlin Kenya)
Test Driven Development on Android (Kotlin Kenya)
 
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More Defects
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

Requirements are Boring, and other Myths (EclipseCon 2013 Lightning talk)

  • 1. Michael Jastram ... and I do requirements my Blog & Newsletter: formalmind.com /blog Image (Post-it) courtesy of Master isolated images / FreeDigitalPhotos.net
  • 2. Requirements are boring Image courtesy of graur codrin / FreeDigitalPhotos.net
  • 3. Image courtesy of David Castillo / FreeDigitalPhotos.net
  • 4. Do you remember… … and JUnit? ImagecourtesyofMasterisolatedimages/FreeDigitalPhotos.net
  • 5. Understand why requirements matter Measure whether requirements are realized Try to Automate as much as possible Image courtesy of photostock / FreeDigitalPhotos.net
  • 6. Joel Spolsky on requirements (1) Images courtesy of sheelamohan, koratmember and Ambro / FreeDigitalPhotos.net Speedy, at Hasty Bananas Software, never writes specs Mr. Rogers, at The Well- Tempered Software Company, refuses to write code without spec v1.0 v2.0 Task: Word Processor Migration Feature Painless Functional Specifications: http://www.joelonsoftware.com/articles/fog0000000036.html Understand
  • 7. Joel Spolsky on requirements (2) Speedy, at Hasty Bananas Software, never writes specs Mrs. Rogers, at The Well- Tempered Software Company, refuses to write code without spec Understand Writes Converter 1.0 → 2.0 Duration: 2 weeks Customer Unhappy Writes Converter 2.0 → 1.0 Duration: 2 weeks Customer Satisfied Result: Mediocre Duration: 4 weeks
  • 8. Joel Spolsky on requirements (3) Speedy, at Hasty Bananas Software, never writes specs Mrs. Rogers, at The Well- Tempered Software Company, refuses to write code without spec Understand Writes Converter 1.0 → 2.0 Duration: 2 weeks Customer Unhappy Writes Converter 2.0 → 1.0 Duration: 2 weeks Customer Satisfied Result: Mediocre Duration: 4 weeks Writes Converter 1.0 → 2.0 Customer comments Writes Spec v.1 “When opening a file created with an older version of the product, the file is converted to the new format” Duration: 20 minutes Boss comments Writes Spec v.2 Duration: 20 minutes
  • 9. Joel Spolsky on requirements (4) Speedy, at Hasty Bananas Software, never writes specs Mrs. Rogers, at The Well- Tempered Software Company, refuses to write code without spec Understand Writes Converter 1.0 → 2.0 Customer comments Writes Spec v.1 “When opening a file created with an older version of the product, the file is converted to the new format” Duration: 20 minutes Boss comments Result: Great Duration: 3 weeks, 1 hour Writes Spec v.2 Duration: 20 minutes Writes Spec v.3 Duration: 20 minutes Implemen- tation Writes Converter 1.0 → 2.0 Duration: 2 weeks Customer Unhappy Writes Converter 2.0 → 1.0 Duration: 2 weeks Customer Satisfied Result: Mediocre Duration: 4 weeks
  • 10. MeasureHow to write good requirements (1) #1 Use the right approach #2 KISS Images courtesy of Master isolated images / FreeDigitalPhotos.net
  • 11. MeasureHow to write good requirements (3) #3 Requirements: What Specification: How #4 Define Scope! Images courtesy of renjith krishnan / FreeDigitalPhotos.net
  • 12. MeasureHow to write good requirements (3) #5 Quantify if you can (If you can't know why) #6 Atomic and Identifiable Images courtesy of David Castillo Dominici / FreeDigitalPhotos.net
  • 13. complete, clear, realizable, understandable, no contradictions, no redundancy, traceability to source MeasureHow to write good requirements (4) Images courtesy of Master isolated images / FreeDigitalPhotos.net
  • 14. Automate Automate through Modeling Image courtesy of nokhoog_buchachon / FreeDigitalPhotos.net
  • 15. Automate Domain Properties Specification Requirements What? How the world behaves Image courtesy of anankkml, Felixco, Inc and Baitong333 / FreeDigitalPhotos.net How? realize realize Automate through Modeling (2) realize
  • 16. Automate Domain Properties Specification Requirements What? How the world behaves How? Automate through Modeling (3) realize realize justify justify
  • 17. Automate Domain Properties Specification Requirements Implementation What? How the world behaves How? realize realize refine Automate through Modeling (4) justify justify
  • 18. Automate Automate through Modeling (5) What models? - UML - SysML - B / Event-B - VDM - Design by Contract … and many more. Image courtesy of nokhoog_buchachon / FreeDigitalPhotos.net
  • 19. What about … ● Requirements vs. Goals vs. Specification? ● Use Cases? ● Traceability? ● Testing? ...?
  • 20. Visit my talk: 6 June (Thu) 14:15 – 14:50 Room Diamant Thank you! ... and requirements are not boring! Image (Post-it) courtesy of Master isolated images / FreeDigitalPhotos.net