Sunday, February 8, 2009

Useful Requirements Definition

Overview
This post describes the guidelines for a superior Requirements definition

Guidelines for requirements management:

1. Make short requirements
2. Make testable requirements
3. Make precise requirements
4. Make unique requirements
5. Manage requirements traceability in all ALM aspects (management, development, QA)
6. Define requirements workflow in order to manage requirements lifecycle effectively
7. Use hierarchy to manage a set of requirements by category (functional, security, general, safety, etc.)
8. Manage relations between requirements
9. Distribute requirements in different releases

Benefits of good requirements management:

1. Assisting in customer needs traceability. Basically, the SRS (Software Requirements Specification) will provide feedback to the customer
2. Setting clear expectation between development teams
3. Preventing scope deviations
4. Reducing development efforts
5. Providing the input for the testing team, in the validation and verification process
6. The first stage of requirements definition forms the basis for the project’s effort estimation
7. Good software management decompose the problems into component parts which are easy to understand, trace and cover by other ALM artifacts

The lifecycle of requirement definition process
Requirement first revision
“User shall be able to pay in several payment terms”

The revised requirement
“System will have a payment form, and user shall be able to enter this form and select a specific payment term”

This requirement can be broken down to several sub requirements, so we will use hierarchy to manage this set of requirements:

1. HEAD: Payment Module
1.1 REQ-112: Payment form
1.2 HEAD: Payment methods
1.2.1 HEAD: Credit card
1.2.1.1 REQ-114: Pay by Visa
1.2.1.2 REQ-115: Pay by Amex
1.2.2 REQ-116: PayPal

No comments:

Post a Comment