The best books about defining software requirements

Who am I?

Defining and managing the requirements for a software system is hard! I’ve been interested in improving how projects handle their requirements for more than 35 years. I realized how important this was when I saw how many projects—including my own—struggled and failed when they neglected to build a solid foundation of well-understood and clearly communicated requirements. I’ve personally used nearly all of the techniques described in my book Software Requirements, and I got always better results when I applied those techniques. My books, articles, training courses, presentations, and videos on requirements have been helpful to thousands of business analysts worldwide for many years.

I wrote...

Software Requirements

By Karl Wiegers, Joy Beatty,

Book cover of Software Requirements

What is my book about?

The award-winning Software Requirements is one of the most popular books in this domain. Coauthored with Joy Beatty, it comprehensively addresses the full spectrum of requirements development and management. It provides the broadest coverage of any requirements book.

This pragmatic book is based on my many years of personal experience with requirements as well as having consulted and taught at more than 100 companies. It provides dozens of practical techniques, templates, and work aids for requirements elicitation, analysis, specification, validation, and management. Many real-life stories illustrate how these techniques have been applied effectively. The topics covered also include business rules, data requirements, visual modeling, nonfunctional requirements, and requirements reuse. Other chapters address how to handle requirements on agile, enhancement, data analytics, embedded systems, outsourced, and packaged-solution projects.

Shepherd is reader supported. When you buy books, we may earn an affiliate commission.

The books I picked & why

Book cover of Mastering the Requirements Process: Getting Requirements Right

Why did I love this book?

Suzanne and James Robertson have been writing insightful books on software requirements for many years. This book covers all the important topics, including understanding the real problem, different techniques for exploring solutions, and numerous ways to communicate requirements effectively. I especially like their treatment of quality attribute requirements and defining “fit criteria” to judge whether a solution adequately addresses them.

The book includes a comprehensive requirements specification template to guide writing a rigorous and complete specification on projects for which that is valuable. I also appreciate their use of visual models both to communicate with the reader and to guide the reader in communicating requirements to project stakeholders. I do prefer my book Software Requirements, but this is an excellent choice as well by two authorities in the field.

By Suzanne Robertson, James Robertson,

Why should I read it?

1 author picked Mastering the Requirements Process as one of their favorite books, and they share why you should read it.

What is this book about?

"If the purpose is to create one of the best books on requirements yet written, the authors have succeeded."

-Capers Jones

Software can solve almost any problem. The trick is knowing what the problem is. With about half of all software errors originating in the requirements activity, it is clear that a better understanding of the problem is needed.

Getting the requirements right is crucial if we are to build systems that best meet our needs. We know, beyond doubt, that the right requirements produce an end result that is as innovative and beneficial as it can be, and that…

Book cover of Requirements by Collaboration: Workshops for Defining Needs

Why did I love this book?

Exploring requirements is more about communication than computing. Requirements elicitation often involves discussions between business analysts and user representatives or other project stakeholders in either one-on-one discussions or group workshops. Requirements by Collaboration presents a wealth of practical tools and techniques for planning and leading requirements development workshops. It’s packed full of useful tips, checklists, questions to ask, and activities to perform to make workshops effective and successful.

I especially like Gottesdiener’s “collaboration patterns,” eight techniques that a workshop facilitator can employ to help the group achieve its objectives. The pattern called Decide How to Decide is the first one that any group of collaborators should use: exactly how will we make decisions? If you expect to lead, or even participate in, requirements workshops, read this book first.

By Ellen Gottesdiener,

Why should I read it?

1 author picked Requirements by Collaboration as one of their favorite books, and they share why you should read it.

What is this book about?

"I spend much time helping organizations capture requirements and even more time helping them recover from not capturing requirements. Many of them have gone through some motions regarding requirements as if they were sleepworking. It's time to wake up and do it right-and this book is going to be their alarm clock."

- Jerry Weinberg, author of numerous books on productivity enhancement "In today's complex, fast-paced software development environment, collaboration-the intense peer-to-peer conversations that result in products, decisions, and knowledge sharing-is absolutely essential to success. But all too often, attempts to collaborate degenerate into agonizing meetings or ineffectual bull sessions.…

Book cover of The Quest for Software Requirements

Why did I love this book?

Most discussions about requirements focus on functionality, which is what the users most obviously observe in a software system. However, user satisfaction also depends heavily on nonfunctional requirements, such as various quality characteristics the system exhibits: usability, availability, reliability, security, scalability, maintainability, and others.

The Quest for Software Requirements is the only book that focuses on nonfunctional requirements. It provides many questions a business analyst could ask during requirements elicitation to understand the stakeholders’ expectations for those all-important quality attributes. That’s an often-neglected aspect of requirements exploration that frequently leads to deficiencies that can be expensive to correct later in development or after the product is released. This book can help you avoid those unpleasant outcomes.

By Roxanne E. Miller,

Why should I read it?

1 author picked The Quest for Software Requirements as one of their favorite books, and they share why you should read it.

What is this book about?

Overlooked or poorly defined nonfunctional software requirements are widely recognized to be among the most expensive and difficult errors to correct after a softward system has been implemented. This book presents over 2,000 suggested questions to help master the elicitation of these hard-to-identify, yet vital, requirements. Its proven step-by-step techniques, insightful tips and tools, easy-to-use checklists, examples of nonfunctional requirements, and requirements-gathering questions, will assist the reader in developing and installing software requirements.

Use Cases: Requirements in Context

By Daryl Kulak, Eamonn Guiney,

Book cover of Use Cases: Requirements in Context

Why did I love this book?

I recognized the value of use cases the first time I used them successfully on a project. Some years later I developed a 1-day training course on use cases. I read four of the most popular use case books then available, cover to cover, one right after the other. Use Cases: Requirements in Context did the best job of presenting a practical approach to applying the use case technique. 

Shifting the requirements focus from system features to a usage-centric viewpoint provides many benefits, and use cases are the best way I’ve found to approach that. They provide an organizational structure for grouping related information relating to how users will interact with the system to perform tasks. This book describes a solid way to apply the use case technique.

By Daryl Kulak, Eamonn Guiney,

Why should I read it?

1 author picked Use Cases as one of their favorite books, and they share why you should read it.

What is this book about?

This book describes how to gather and define software requirements using a process based on use cases. It shows systems analysts and designers how use cases can provide solutions to the most challenging requirements issues, resulting in effective, quality systems that meet the needs of users.

Use Cases, Second Edition: Requirements in Context describes a three-step method for establishing requirements-an iterative process that produces increasingly refined requirements. Drawing on their extensive, real-world experience, the authors offer a wealth of advice on use-case driven lifecycles, planning for change, and keeping on track. In addition, they include numerous detailed examples to illustrate…

Book cover of User Stories Applied: For Agile Software Development

Why did I love this book?

Many agile projects employ user stories as a way to represent requirements rather than a more traditional approach combining use cases and functional requirements. I favor the latter approach for several reasons. Nonetheless, user stories are well established in the agile development world, and if you wish to learn about them, there’s no better author to read than Mike Cohn. Cohn describes how to craft user stories well and how they fit into the agile development process.

By Mike Cohn,

Why should I read it?

1 author picked User Stories Applied as one of their favorite books, and they share why you should read it.

What is this book about?

Thoroughly reviewed and eagerly anticipated by the agile community, User Stories Applied offers a requirements process that saves time, eliminates rework, and leads directly to better software.

The best way to build software that meets users' needs is to begin with "user stories": simple, clear, brief descriptions of functionality that will be valuable to real users. In User Stories Applied, Mike Cohn provides you with a front-to-back blueprint for writing these user stories and weaving them into your development lifecycle.

You'll learn what makes a great user story, and what makes a bad one. You'll discover practical ways to gather…

5 book lists we think you will like!

Interested in software, project management, and agile software development?

9,000+ authors have recommended their favorite books and what they love about them. Browse their picks for the best books about software, project management, and agile software development.

Software Explore 54 books about software
Project Management Explore 11 books about project management
Agile Software Development Explore 17 books about agile software development