The Pragmatic Programmer, Ch. 7. The Requirements Pit Digging for requirements Identify the...

9
BEFORE THE PROJECT The Pragmatic Programmer, Ch. 7

Transcript of The Pragmatic Programmer, Ch. 7. The Requirements Pit Digging for requirements Identify the...

Page 1: The Pragmatic Programmer, Ch. 7. The Requirements Pit  Digging for requirements  Identify the difference between policy and requirements  Identify.

BEFORE THE PROJECTThe Pragmatic Programmer, Ch. 7

Page 2: The Pragmatic Programmer, Ch. 7. The Requirements Pit  Digging for requirements  Identify the difference between policy and requirements  Identify.

The Requirements Pit

Digging for requirements Identify the difference between policy

and requirements Identify the difference between users

citing examples that represent what they want as opposed to them citing what they must have

Work with the user to think like a user

Page 3: The Pragmatic Programmer, Ch. 7. The Requirements Pit  Digging for requirements  Identify the difference between policy and requirements  Identify.

Documenting Requirements

Developers, end users, and project sponsors make up a large audience

Use Case Diagrams are helpful to each group within this audience

Over-specifying Seeing Further – Abstractions live

longer than details Use a project glossary

Page 4: The Pragmatic Programmer, Ch. 7. The Requirements Pit  Digging for requirements  Identify the difference between policy and requirements  Identify.

Solving Impossible Puzzles The Gordian Knot The Key is to identify the real

constraints from the imagined or pre-conceived ones

Page 5: The Pragmatic Programmer, Ch. 7. The Requirements Pit  Digging for requirements  Identify the difference between policy and requirements  Identify.

Methods

Don’t think outside the box – find the box!

Enumerate all possible avenues Categorize and prioritize

Page 6: The Pragmatic Programmer, Ch. 7. The Requirements Pit  Digging for requirements  Identify the difference between policy and requirements  Identify.

There must be an easier way! Why is it a problem? Why is it hard to solve? Must it be done this way? Must it be done at all?

Page 7: The Pragmatic Programmer, Ch. 7. The Requirements Pit  Digging for requirements  Identify the difference between policy and requirements  Identify.

Not Until You’re Ready

Listening to your inner voice Good judgment or Procrastination Consider your doubts

Page 8: The Pragmatic Programmer, Ch. 7. The Requirements Pit  Digging for requirements  Identify the difference between policy and requirements  Identify.

The Specification Trap

Document specifications accurately, not extensively

Live room to breath, to experiment, to create art

Page 9: The Pragmatic Programmer, Ch. 7. The Requirements Pit  Digging for requirements  Identify the difference between policy and requirements  Identify.

Circles and Arrows

Don’t restrict yourself to only formal methods

Method payoffs Use formal methods, don’t get used

by them