The document discusses requirements and how to write them effectively. It recommends understanding why requirements matter, measuring whether they are realized, and trying to automate requirements as much as possible through modeling. It provides tips for writing good requirements, such as keeping them simple, defining their scope clearly, quantifying objectives when feasible, and ensuring they are complete, clear, and avoid contradictions. Automating requirements through modeling and formal specification can help realize, refine, justify, and test requirements throughout the development process.
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
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
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
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