Here are 64 books that Requirements by Collaboration fans have personally recommended if you like
Requirements by Collaboration.
Book DNA is a community of 13,000+ authors and super readers sharing their favorite books with the world.
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.
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.
"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…
Magical realism meets the magic of Christmas in this mix of Jewish, New Testament, and Santa stories–all reenacted in an urban psychiatric hospital!
On locked ward 5C4, Josh, a patient with many similarities to Jesus, is hospitalized concurrently with Nick, a patient with many similarities to Santa. The two argue…
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.
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.
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.
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 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.
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…
A poisonous maiden, a Daoist sex cult, and a violent insurgency.
The polyandrous Yan family in China's rural Shaanxi Province takes in two carpenter brothers. When one brother is convicted of murder after killing their neighbor in a dispute, a constable threatens to expose the family's rumored polyandry and extorts…
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.
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.
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…
Markus Gärtner works as Organizational Design Consultant, Certified Scrum Trainer, and Agile Coach for it-agile GmbH, Hamburg, Germany. Markus, author of ATDD by Example - A Practical Guide to Acceptance Test-Driven Development, a student of the work of Jerry Weinberg, received the Most Influential Agile Testing Professional Person Award in 2013 and contributes to the Softwerkskammer, the German Software Craft movement. Markus regularly presents at Agile and testing conferences all over the globe, as well as dedicating himself to writing about agile software development, software craft, and software testing, foremost in an Agile context.
“Good agile testing is good context-driven testing applied in an agile context.”
The authors of this book summarize their decades of experience in software testing in over 100 lessons they learned. Follow them along different aspects of the tester’s job, as they re-tell various stories collected over the years with some clear guidance to surviving and testing project.
These software testing industry leaders have some timely contextual advice in here – whether you work as a tester on an agile team or in a more traditional fashion.
Decades of software testing experience condensed into the most important lessons learned.
The world's leading software testing experts lend you their wisdom and years of experience to help you avoid the most common mistakes in testing software. Each lesson is an assertion related to software testing, followed by an explanation or example that shows you the how, when, and why of the testing lesson. More than just tips, tricks, and pitfalls to avoid, Lessons Learned in Software Testing speeds you through the critical testing phase of the software development project without the extensive trial and error it normally takes…
I’ve always enjoyed mentoring folks whether new or experienced in programming. Whether it is teaching an intern or a high school robotics student, or onboarding an experienced Java developer, it brings me joy to see people learn. I also love to read. Being able to recommend some of my favorite books can help even more people absorb all of this information.
In addition to Java, you need to know about the Java ecosystem.
Each chapter covers a type of tool like version control, securing binaries, or mobile. Some chapters cover a variety of tools. I particularly liked the overview of Quarkus and Micronaut. I also liked the emphasis of tools vs a role. The analogies were great such as comparing identify/fix/deploy to an oil spill.
The book is 300 pages and easy to carry around. Despite having four authors, the book is very cohesive and reads well.
With the rise of DevOps, low-cost cloud computing, and container technologies, the way Java developers approach development today has changed dramatically. This practical guide helps you take advantage of microservices, serverless, and cloud native technologies using the latest DevOps techniques to simplify your build process and create hyperproductive teams.
Stephen Chin, Melissa McKay, Ixchel Ruiz, and Baruch Sadogursky from JFrog help you evaluate an array of options. The list includes source control with Git, build declaration with Maven and Gradle, CI/CD with CircleCI, package management with Artifactory, containerization with Docker and Kubernetes, and much more. Whether you're building applications with…
Big Ideas... For Small Businesses
by
John Lamerton,
Big Ideas… for Small Businesses is a straight-talking, no-nonsense guide to growing a small business without sacrificing your lifestyle. Written by a former civil servant turned entrepreneur, the book challenges hustle culture and instead champions the idea of an "ambitious lifestyle business" - one that provides freedom and financial stability,…
I’m a software engineer because I’m a builder at heart. I have always had a profoundly curious mind, and always enjoyed tinkering. So at one point in my life, it became evident that I was going to be an engineer. I consider teaching the final step of learning, so whether this means writing an article or giving a talk, or simply sharing recommendations, I make a final effort to share with the community of like-minded people what I have learnt. For this reason, I hope you enjoy reading my book and the ones I recommended.
I've found this book enlightening in many key areas of software development, and as I was reading it, I felt connected with the author (even though I've never met him, I could imagine us having a conversation about software engineering, and agreeing on pretty much everything).
It was a revealing book for me, in the sense that it gave a formal framework to several ideas I've noticed as a practitioner over the years. In that regard, I wish I'd come across this work way earlier in my career.
Widely considered one of the best practical guides to programming, Steve McConnell's original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices-and hundreds of new code samples-illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking-and help you build…
I first learned to program in college in 1970. Since then I’ve spent much time as a software developer, manager, tester, process improvement leader, consultant, trainer, author, and, of course, a user. I quickly learned that I didn’t have time to make all the mistakes that every software developer before me had already made. My training and writing career has involved sharing what I and others have learned with audiences to help them quickly become more effective software development team members, regardless of their project role. This book distills insights and observations both from my own experience and from what I’ve heard from thousands of students and consulting clients.
Many of the most significant principles of effective software development are timeless. They’re independent of the development life cycle or model, programming language, application type, and so forth. Although this book is quite a few years old now, nearly all of its contents are still valid. The 201 principles cover the full spectrum of software engineering: general principles, requirements engineering, design, coding, testing, management, product assurance, and evolution. The descriptions of each principle are concise, whereas my 60 lessons in Software Development Pearls go into a great deal more detail and offer many practical techniques.
There’s an unfortunate tendency among young software people to disregard knowledge from the past as irrelevant to them. That’s not correct. This book can help close significant gaps in any practicing software developer’s knowledge.
This text defines governing principles for software development, assumptions that work regardless of tools used, to keep software projects from costing too much, taking too long and disappointing users.
I’ve been doing large-scale software development at great US businesses from the introduction of the PC to the cloud explosion. From my earliest successes (online banking at US Bank in 1985!) to my biggest failures (Wells Fargo “Core” disaster in 2006), I’ve always sought better ways of doing things. These five books all were important to my learning and remain highly relevant, and I hope you find them useful as well.
This book helped me set my initial approach to software development and I still periodically return to it for grounding.
An MIT project theorized that new-fangled PC software developers knew something mainframe and mini-computer makers didn’t. MIT’s research revealed something else entirely: Microsoft had uniquely effective ideas on how to build complex products in rapidly evolving competitive markets. Here is “agile” before it was put into the Manifesto in 2001, in a more complete form. Ever wonder where the idea of a team comprising functional specialists with overlapping roles, united by a common goal, came from? Or incremental feature evolution with periodic synchronization and constant testing? Early brilliance still of foundational relevance, in a coherent and engaging form.
Drawing on observation, interviews, and confidential data, the authors reveal Microsoft's product development, marketing, and organizational strategies.
The problem is not with the actions young women take but with the toxic, sexist conditions they are responding to.
Tanenbaum found, based on six years of interviews with young people ages 14-30, that young women are navigating a culture littered with gendered dress codes, revenge porn, and sexually explicit…
Markus Gärtner works as Organizational Design Consultant, Certified Scrum Trainer, and Agile Coach for it-agile GmbH, Hamburg, Germany. Markus, author of ATDD by Example - A Practical Guide to Acceptance Test-Driven Development, a student of the work of Jerry Weinberg, received the Most Influential Agile Testing Professional Person Award in 2013 and contributes to the Softwerkskammer, the German Software Craft movement. Markus regularly presents at Agile and testing conferences all over the globe, as well as dedicating himself to writing about agile software development, software craft, and software testing, foremost in an Agile context.
“Good agile testing is good context-driven testing applied in an agile context.”
I recall reading through the authors’ lessons on software testing at about the same time I dived into more agile topics. Lessons Learned in Software Testing helped me keep the connection towards more traditional contexts – more so since I was still working in a more traditional context.
With their more than 100 lessons some of them applied to me, others did not. I am sure, other readers will find the same in their context.
Most companies developing software employ something they call "Agile." But there's widespread misunderstanding of what Agile is and how to use it. If you want to improve your software development team's agility, this comprehensive guidebook's clear, concrete, and detailed guidance explains what to do and why, and when to make trade-offs.
In this thorough update of the classic Agile how-to guide, James Shore provides no-nonsense advice on Agile adoption, planning, development, delivery, and management taken from over two decades of Agile experience. He brings the latest ideas from Extreme Programming, Scrum, Lean, DevOps, and more into a cohesive whole. Learn…