Enter your mobile number or email address below and we'll send you a link to download the free Kindle Reading App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and .

There is a newer edition of this item:

Without formal, verifiable software requirements—and an effective system for managing them—the programs that developers think they’ve agreed to build often will not be the same products their customers are expecting. In SOFTWARE REQUIREMENTS, Second Edition, requirements engineering authority Karl Wiegers amplifies the best practices presented in his original award-winning text?now a mainstay for anyone participating in the software development process.

In this book, you’ll discover effective techniques for managing the requirements engineering process all the way through the development cycle—including dozens of techniques to facilitate that all-important communication between users, developers, and management. This updated edition features new case examples, anecdotes culled from the author’s extensive consulting career, and specific Next Steps for putting the book’s process-improvement principles into practice. You’ll also find several new chapters, sample documents, and an incisive troubleshooting guide.

No matter what kind of software you build, or what your role in the development process, SOFTWARE REQUIREMENTS, Second Edition, delivers expert guidance and field-tested techniques for engineering software

$32.59
FREE Shipping on orders over $35.
Temporarily out of stock.
Order now and we'll deliver when available. We'll e-mail you with an estimated delivery date as soon as we have more information. Your account will only be charged when we ship the item.
Ships from and sold by Amazon.com.
Gift-wrap available.

{"currencyCode":"USD","itemData":[{"priceBreaksMAP":null,"buyingPrice":32.59,"ASIN":"0735618798","isPreorder":0},{"priceBreaksMAP":null,"buyingPrice":19.67,"ASIN":"0735622671","isPreorder":0},{"priceBreaksMAP":null,"buyingPrice":45.59,"ASIN":"0201702258","isPreorder":0}],"shippingId":"0735618798::1aT0yG4TXUO4U0EJ5aEN1WnnPvhioFW8RXKtx%2F%2BesjrkGJf0h7Xv07Rw1838eykDKtnkd3pUVjPKpRs9JauyJIJhx4T1YOJFj7ZQUHFPg8M%3D,0735622671::mwut3VHxttybtwToQWmz4jx6qEJ0BUdMGXV4uNHS1U2TWi9RsNpNxEx9xhKqMeOvj3N2OYJdBiQt88zE5YPIbN1oOyB5yXV1%2FTSsvlHwx6z5Eu%2BC5%2BG0vA%3D%3D,0201702258::DPdUgqHlxPHfzvDPS0H1%2BYfuHNVYk41d7RH6ejRrnYThxyFN4tbvsXZkbj7N7JoFMwa49K8hkWy4EOwgS00q8rmvkoveN38hOO0zbCFk2%2FU%3D","sprites":{"addToWishlist":["wl_one","wl_two","wl_three"],"addToCart":["s_addToCart","s_addBothToCart","s_add3ToCart"],"preorder":["s_preorderThis","s_preorderBoth","s_preorderAll3"]},"shippingDetails":{"xz":"availability","xy":"availability","yz":"same","xyz":"availability"},"tags":["x","y","z","w"],"strings":{"showDetails":"Show details","differentAvailabilityAll":"Some of these items ship sooner than the others.","addToWishlist":["Add to Wish List","Add both to Wish List","Add all three to Wish List","Add all four to Wish List"],"shippingError":"An error occurred, please try again","differentAvailability":"One of these items ships sooner than the other.","preorder":["Pre-order this item","Pre-order both items","Pre-order all three items","Pre-order all four items"],"addToCart":["Add to Cart","Add both to Cart","Add all three to Cart","Add all four to Cart"],"showDetailsDefault":"Show availability and shipping details","priceLabel":["Price:","Price for both:","Price for all three:","Price For All Four:"],"hideDetailsDefault":"Hide availability and shipping details","hideDetails":"Hide details"}}

Editorial Reviews

About the Author

Karl E. Wiegers is a leading speaker, author, and consultant on requirements engineering, project management, and process improvement. As Principal Consultant with Process Impact, he conducts training seminars for corporate and government clients worldwide. Karl has twice won the Software Development Productivity Award, which honors excellence in productivity-enhancing products and books.

Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry.
> Shop now

More About the Author

Karl Wiegers is Principal Consultant with Process Impact (www.processimpact.com) in Portland, Oregon. He has provided training and consulting services worldwide on many aspects of software development, management and process improvement. Karl holds a PhD in organic chemistry from the University of Illinois. Prior to starting Process Impact in 1997, he spent 18 years at Eastman Kodak Company as a research scientist, software developer, software manager, and software process improvement specialist.

Karl's most recent book is "Software Requirements, 3rd Edition", co-authored with Joy Beatty. This is a major enhancement of the bestselling second edition, which is a standard text for business analysts, requirements engineers, and other practitioners. Previously, he wrote a memoir of life lessons called "Pearls from Sand: How Small Encounters Lead to Powerful Lessons" and several other books on software development and management. Visit www.PearlsFromSand.com to get more information, follow the blog, and submit your own pearls of wisdom to share with the world.

Karl's professional goal is to create books, articles, training materials, templates, and other materials that can help improve the effectiveness of any individual or organization that develops software. You can download many of these items at www.processimpact.com/goodies.shtml. He is the author of eight books and nearly 200 articles on many aspects of software, chemistry, and military history. His training seminars are available as eLearning courses at www.processimpact.com/elearning.shtml.

When not at the keyboard, Karl enjoys reading military history, tasting (okay, drinking) wine, playing guitar, and writing and recording music. Check out his recipes at www.processimpact.com/recipes.shtml and his songs (if you dare) at www.karlwiegers.com/songs.

Most Helpful Customer Reviews

How do you know if you have good software requirements? Some use the simple technique of checking if the requirements definition is complete, clear, and consistent. Every book on requirements engineering has some variation of this theme and in this book, you are advised to check if the requirements statement is complete, correct, feasible, necessary, prioritized, unambiguous, and verifiable.If you haven't used techniques like this one before, it is definitely a good idea to pick up a solid book like this one on the best practices in requirements engineering. There are several good books in the market on the topic of software requirements and this is one of the best ones out there.I found three other books that complement this one - Requirements Engineering by Kotonya and Sommerville (used more as a textbook), Managing Software Requirements by Leffingwell and Widrig (part of the Object Technology Series), and Effective Requirements Practices by Ralph R. Young (comes with a CD-ROM).If you are a project manager, business analyst or anyone that has a lot to lose because of bad requirements, you will benefit tremendously from this current book being reviewed. The book is divided into three parts - What and Why, Development, and Management of Software Requirements. The part names are self explanatory. This book is very readable and is full of best practices that stand true to their name!The unique things about this book - in chapter 2, the author outlines the Requirements Bill of Rights for Software Customers and the Requirements Bill of Responsibilities for Software Customers. When I first read this, I felt like every customer has to read this before attempting a software project.Read more ›

This book faces a lot of competition from other books, which are supposed to tell you how to manage software projects in general, and the requirements gathering process in particular.However, what sets this book apart from the vast majority of others is its absolute relevance (as opposed to being an arbitrary textbook). For example, this book recognizes the fact that often enough process improvements are deferred due to political reasons alone. The more you read it, the more you realize it addresses the same problems you have encountered while managing the requirements process.But what really sets this book apart is that it actually tells you how to solve these problems, by offering feasible solutions that could be easily implemented, gradually, in real life scenarios. This, basically, means that the book could actually HELP you.

I'm somewhat of a software engineering/process geek. I find the process of creating a product more interesting than the actual code these days (though I like to code). Wiegers' book is THE bible, in my opinion, for eliciting and maintaining requirements.He covers the issues involved in gathering requirements and keeping them up to date, often offering multiple ways to resolve issues. Wiegers, unlike many academic oriented books, fully acknowledges the political and cultural difficulties that arise when trying to institute a requirements program. Much of his advice is practical and he gives good pointers on the highst ROI practices, so you can inject a little at a time, rather than trying to change culture wholesale.I'd give a 4.5 out of 5 if I could, due only to the "Next Steps" sections at the end of each chapter. The "Next Steps" are supposedly be small steps you can take to start using the advice Wiegers offers. Unfortunately, most of the steps start with "Take a page/chapter from your current requirements document...." I've worked at few companies that even have a requirements document, so I'm not sure how useful the "Next Steps" really are.But, that complaint aside, this book is the best combination of reference information for techniques and advice on how to use them on the job.

When it comes to the development life cycle, there are generally two broad schools of thought: rigorous, waterfall approach; and the agile, iterative approach. This text sits in the heart of the rigorous, waterfall approach.Iterative approaches are proven to be more effective at eliciting requirements, a fact which is somewhat embraced in the author's discussion of use cases; however, Jacobson originally envisioned use cases to replace other requirements documents as a central element in elicitation, rather than just being a quick diversion.In reality, most of us strike a middle ground. Projects can't be run in most organizations without rigor, and Software Requirements is a thorough treatment or requirements development and management. The well-organized book is a quick read, and is filled with prescriptive advice, risks, sample forms, and checklists that can be applied to your requirements effort. No wonder the author won a Software Productivity Award for the effort!

In my opinion the hardest part about programming is gathering and analysing a complete, accurate and verifiable set of user requirements.

Unfortunately, good software requirements are also key to a project's success.

Those good at programming have laser-like focus and great analytical skills - usually traits associated those who are tend to be introverted / thinking and judging-oriented (cf. Myers-Briggs). Such people often find they have a tough when it comes time to gathering requirements e.g. listening and talking with users, understanding what they want, gaining their trust etc. - usually traits associated with those who are extroverted / feeling and perception-oriented.

As a person with some Introvert / Thinking and Judging tendencies, this book was the book that set me right and gave me a process I could follow and reference at any time during the requirements phase.

With the process and templates in place I can focus more on listening to what is being said and more importantly what is NOT being said (e.g. implicit or non-functional requirements)