requirements are boring, and other myths (eclipsecon 2013 lightning talk)

20
Michael Jastram ... and I do requirements my Blog & Newsletter: formalmind.com /blog Image (Post-it) courtesy of Master isolated images / FreeDigitalPhotos.net

Upload: jastram

Post on 08-May-2015

181 views

Category:

Technology


0 download

TRANSCRIPT

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

MichaelJastram

... and I do requirements

my Blog &Newsletter:

formalmind.com

/blog

Image (Post-it) courtesy of Master isolated images / FreeDigitalPhotos.net

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

Requirements are

boringImage courtesy of graur codrin / FreeDigitalPhotos.net

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

Image courtesy of David Castillo / FreeDigitalPhotos.net

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

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

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

Understand why requirements matter

Measure whether requirements are realized

Try to Automate as much as possible

Image courtesy of photostock / FreeDigitalPhotos.net

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

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

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

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

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

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

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

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

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

MeasureHow to write good requirements (1)

#1 Use the right approach

#2 KISSImages courtesy of Master isolated images / FreeDigitalPhotos.net

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

MeasureHow to write good requirements (3)

#3 Requirements: What Specification: How

#4 Define Scope!Images courtesy of renjith krishnan / FreeDigitalPhotos.net

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

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

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

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

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

Automate

Automate through Modeling

Image courtesy of nokhoog_buchachon / FreeDigitalPhotos.net

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

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

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

Automate

Domain Properties

Specification

Requirements

What?

How the world b

ehaves

How?

Automate through Modeling (3)

realiz

e

realize

justify

justify

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

Automate

Domain Properties

Specification

Requirements

Implementation

What?

How the world b

ehaves

How? re

alize

realize

refine

Automate through Modeling (4)

justify

justify

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

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

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

What about …

● Requirements vs. Goals vs. Specification?

● Use Cases?

● Traceability?

● Testing?

...?

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

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