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

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

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