The Problem of Requirements

Ask software developers what they know to be true about the requirements they get from users. They will often say:

  • Requirements are incomplete.

  • Requirements are usually wrong.

  • Requirements (and users) are misleading.

  • Requirements do not tell the whole story.

One thing you will never hear is, “not only were our requirements complete, clear, and understandable, but they laid out all of the functionality we were going to need for the next five years!”

In my thirty years of experience writing software, the main thing I have learned about requirements is that …

Requirements always change.

I have also learned that most developers think this is a bad thing. But few of them write their code to handle changing requirements well. ...

Get Design Patterns Explained: A New Perspective on Object-Oriented Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.