Real World Software Architecture

Real World Software Architecture is dedicated to providing information and experiences from the field of Software Architecture.



Subscribe with RSS or ATOM Add to Google

Links

  • Home Page
  • Real World Software Process Engineering
  • Suggested Reading
  • .NET Dev and Arch Collection
  • SEI Essays on SA
  • Software Architecture
  • Bredemeyer
  • wwisa
  • Product Line Engineering
  • PLEES
  • Software Product Lines
  • MSDN Architecture Center
  • patterns & practices






Friday, October 05, 2012

Mastering the Requirements Process: Getting Requirements Right Book Review

Today we have a lot of different software development processes to choose from. We have Scrum, XP, the Unified Process, the Rational Unified Process, the Open Unified Process, the Enterprise Unified Process, Lean Processes, DSDM, TDD, Cleanroom, RAD, Spiral, and Waterfall. I am sure there are plenty more. Those are just the ones I can think of sitting here waiting on the train.

All the different processes out there have one thing in common, not getting requirements right is their Achilles' heel. Wrong requirements mean a lot of rework at best, and complete project failure in the worst scenarios.

The Volere Requirement Process described in this book can be used with any of the processes listed above. Every process needs to gather requirements.

After starting with some fundamental truths about requirements gathering and an introduction to the Volere Requirement Process the author digs into the detail of the process's activities and resulting artifacts. I have listed the chapters below. The titles give you an idea of the variety of topics covered.

1. Some Fundamental Truths
2. The Requirements Process
3. Scoping the Business Problem
4. Business Use Cases
5. Investigating the Work
6. Scenarios
7. Understanding the Real Problem
8. Starting the Solution
9. Strategies for Today’s Business Analyst
10. Functional Requirements
11. Non-functional Requirements
12. Fit Criteria and Rationale
13. The Quality Gateway
14. Requirements and Iterative Development
15. Reusing Requirements
16. Communicating the Requirements
17. Requirements Completeness
A. Volere Requirements Specification Template
B. Stakeholder Management Templates
C. Function Point Counting: A Simplified Introduction
D. Volere Requirements Knowledge Model
Volere: Requirements Resources

The authors really give a lot of great advice on techniques for eliciting (they refer to it as trawling) requirements. They have outlined some great ways to interact with the project stakeholders that will get them thinking about the requirements that need to be met. It is clear the authors understand how difficult it can be working with stakeholders. The elicitation techniques account for stakeholders who have no idea what they are looking, to those that think they know what they want but need convinced otherwise, because they don't have a full picture of the context yet.

The attention given to non-functional requirements was great. I have seen some requirements books that mention them but stay within the context of functional requirements. This book has a full chapter on them and treats them throughout the rest of the book as first class citizens. The reason I mention this is, that as a software architect, the non-functional (quality attributes) are what I am interested in during the architecture phase.

One of the things I really like about the book is that it includes the entire Volere Requirements Specification in one the appendices. My one gripe with the book is that you have to pay $55 to download the electronic version of the template from the author's web site.

The authors do a really great job of covering the full requirements gathering process using a case study. They cover a ton of deliverables and they cover them in depth.

One of the other things I found really cool was the Requirements Knowledge Model. It shows the collected knowledge you gain throughout the requirements process It also provides a common language to use for managing and communicating requirements.

The reason I found this to be so cool is that the number one thing documenting a system does for me is give me the detailed knowledge I need to understand it. More problems are usually found trying to communicate a system to different stakeholders than are found just running it.

Overall I found this book easy to read and understand. The authors have a great writing style.

If you have anything to do with requirements, no matter the process, this book belongs on your shelf.

Mastering the Requirements Process: Getting Requirements Right


For more book recommendations check out my .NET, iOS, and Java Architecture and Development Book Recommendations for 2013

posted by tadanderson at 12:17 PM

0 Comments:

Post a Comment

<< Home

Previous Posts

  • SOA Patterns Book Review
  • Major New Wifi Issues with iPhone 5 and iOS 6
  • Presentation Patterns: Techniques for Crafting Bet...
  • SOA with REST: Principles, Patterns & Constraints ...
  • An Enterprise and Software Architect's Tools of th...
  • Windows 8 runs best on my MacBook Pro
  • OS X Mountain Lion Pocket Guide Book Review
  • OS X Mountain Lion: The Missing Manual Book Review
  • Test-Driven iOS Development Book Review
  • The iOS 5 Developer's Cookbook: Core Concepts and ...



Powered by Blogger