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

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

  • 1.
    Michael Jastram ... and Ido requirements my Blog & Newsletter: formalmind.com /blog Image (Post-it) courtesy of Master isolated images / FreeDigitalPhotos.net
  • 2.
    Requirements are boring Image courtesyof graur codrin / FreeDigitalPhotos.net
  • 3.
    Image courtesy ofDavid Castillo / FreeDigitalPhotos.net
  • 4.
    Do you remember… …and JUnit? ImagecourtesyofMasterisolatedimages/FreeDigitalPhotos.net
  • 5.
    Understand why requirementsmatter Measure whether requirements are realized Try to Automate as much as possible Image courtesy of photostock / FreeDigitalPhotos.net
  • 6.
    Joel Spolsky onrequirements (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 onrequirements (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 onrequirements (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 onrequirements (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 writegood requirements (1) #1 Use the right approach #2 KISS Images courtesy of Master isolated images / FreeDigitalPhotos.net
  • 11.
    MeasureHow to writegood requirements (3) #3 Requirements: What Specification: How #4 Define Scope! Images courtesy of renjith krishnan / FreeDigitalPhotos.net
  • 12.
    MeasureHow to writegood 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, nocontradictions, no redundancy, traceability to source MeasureHow to write good requirements (4) Images courtesy of Master isolated images / FreeDigitalPhotos.net
  • 14.
    Automate Automate through Modeling Imagecourtesy of nokhoog_buchachon / FreeDigitalPhotos.net
  • 15.
    Automate Domain Properties Specification Requirements What? How theworld 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 theworld behaves How? Automate through Modeling (3) realize realize justify justify
  • 17.
    Automate Domain Properties Specification Requirements Implementation What? How theworld 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: 6June (Thu) 14:15 – 14:50 Room Diamant Thank you! ... and requirements are not boring! Image (Post-it) courtesy of Master isolated images / FreeDigitalPhotos.net