requirements are boring, and other myths (eclipsecon 2013 lightning talk)
TRANSCRIPT
MichaelJastram
... and I do requirements
my Blog &Newsletter:
formalmind.com
/blog
Image (Post-it) courtesy of Master isolated images / FreeDigitalPhotos.net
Requirements are
boringImage courtesy of graur codrin / FreeDigitalPhotos.net
Image courtesy of David Castillo / FreeDigitalPhotos.net
Do you remember…
… and JUnit?
Imag
e co
urt
esy
of M
aste
r is
ola
ted
imag
es /
Fre
eDig
ital
Ph
oto
s.n
et
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 Converter1.0 → 2.0
Duration: 2 weeks
CustomerUnhappy
Writes Converter2.0 → 1.0
Duration: 2 weeks
CustomerSatisfied
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 Converter1.0 → 2.0
Duration: 2 weeks
CustomerUnhappy
Writes Converter2.0 → 1.0
Duration: 2 weeks
CustomerSatisfied
Result:Mediocre
Duration: 4 weeks
Writes Converter1.0 → 2.0
Customercomments
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
Bosscomments
Writes Spec v.2Duration: 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 Converter1.0 → 2.0
Customercomments
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
Bosscomments
Result:Great
Duration: 3 weeks, 1 hour
Writes Spec v.2Duration: 20 minutes
Writes Spec v.3Duration: 20 minutes
Implemen-tation
Writes Converter1.0 → 2.0
Duration: 2 weeks
CustomerUnhappy
Writes Converter2.0 → 1.0
Duration: 2 weeks
CustomerSatisfied
Result:Mediocre
Duration: 4 weeks
MeasureHow to write good requirements (1)
#1 Use the right approach
#2 KISSImages 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 IdentifiableImages 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 b
ehaves
Image courtesy of anankkml, Felixco, Inc and Baitong333 / FreeDigitalPhotos.net
How? re
alize
realize
Automate through Modeling (2)
realize
Automate
Domain Properties
Specification
Requirements
What?
How the world b
ehaves
How?
Automate through Modeling (3)
realiz
e
realize
justify
justify
Automate
Domain Properties
Specification
Requirements
Implementation
What?
How the world b
ehaves
How? re
alize
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 DiamantThankyou!
... and requirements arenot boring!
Image (Post-it) courtesy of Master isolated images / FreeDigitalPhotos.net