© John F. Dooley 2017

John F. Dooley, Software Development, Design and Coding, https://doi.org/10.1007/978-1-4842-3153-1_4

4. Requirements

John F. Dooley

(1)Galesburg, Illinois, USA

The hardest single part of building a software system is deciding what to build. No other part of the conceptual work is as difficult in establishing the detailed technical requirements, including the interfaces to people, to machines, and to other software systems. No other part of the work so cripples the results if done wrong. No other part is more difficult to rectify later. Therefore, the most important function that the software builder performs for the client is the iterative extraction and refinement of the product requirements.

—Fred Brooks1

Before you start ...

Get Software Development, Design and Coding: With Patterns, Debugging, Unit Testing, and Refactoring 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.