February 1, 2011

Emphasizing Accountability at the Requirement Level

Requirements Management
Prospective customers often ask me if there is a way to approve all the requirements in a requirement document at once. I usually ask a few questions before responding:
  • Are there multiple document approvers?
  • Does each document approver have an area of expertise?
  • Does the approver verify the content of each and every requirement in the document?
  • Is there a need to have accountability in specific areas of the requirements process, such as design, technical, or software?
What I find is that customers usually ask about approving all the requirements in a requirement document at once because they're used to working with requirements as a single Microsoft Word document. Requirements have often been written as paragraphs that include multiple functions of a product. Because these requirements are in paragraph form and not broken down into manageable and actionable data units, customers find themselves routing entire requirement documents to large groups of people in the organization for review. The reviewers are subject matter experts (SME) who have backgrounds in a multitude of disciplines, but their true expertise typically only covers a small subset of the requirements in a document. So after asking my questions, understanding the history behind the customer's request, and discussing it with the customer I usually hear back "it would be great if each group only received the requirements that they needed to approve." And indeed, with an integrated requirements management solution you can do just that. The first step, and often the most challenging when you're just getting started, is to break the requirements document down into more manageable requirements. Your goal is to get to a point where each requirement covers an individual function point in the product. Breaking the document into smaller requirements allows you to assign an "owner" to each requirement, effectively defining who is responsible for each requirement in the document. When you start managing at the individual requirement level you also improve traceability within the project. You can now process a single requirement through your workflow, evaluate the project-wide impact of changing that requirement, and generate one or more test cases tied to that one requirement. In the end, you've improved your ability to verify that the delivered product meets the requirements from which it was built. In summary, managing individual requirements instead of one big document allows you to send requirements to the appropriate SME for sign off, reduce the volume of requirements that each SME reviews, and increase the quality, accuracy, and efficiency of meeting project requirements.