|
Staged Requirements Management
Kishore C.S. (March 2000)
One of the major challenges in Software Development is to manage feature creep. This
happens in any software development life cycle and is most common cause of delays in
project delivery. Ultimately the customer is to be satisfied and customer keeps stating
his requirements though the product has reached advanced stage of development. Recognizing
this need to meet requirements and at the same time meet delivery schedules the contract
between Customer and Supplier needs to have a good Requirements Management
Clause that is agreeable to both.
This document gives an approach to identify and structure this crucial aspect
In a typical project user states his most critical system requirements first and
gradually as the requirements analysis and development stage emerges more requirements
will be surfacing. This typically happens if the requirements management process is
completed in short time frame. Both customer and supplier should evaluate the status of
requirements before concluding that requirement stage is completed.
The following are the stages suggested and the requirements that must be identified in
each stage.
| Stage |
Attributes of this Stage |
Requirements that should be finalized |
| Stage A |
During contract and Requirements Stage |
- All High Risk Functional Requirements must be stated.
e.g. System Requirements, Performance Requirements, Security Requirements, Usage
Requirements, Data Volume Specifications, Data Migration or Implementation related
requirements, Functional Coverage and Business Processes to be covered |
| Stage B |
During Analysis and Design Phase |
- Implied requirements should be identified through analysis.
e.g. Implicit business processes that need to support main business processes will be
identified during Analysis Stage
- Medium Risk Functional Requirements
Various User Interfaces should be reviewed and approved during this stage. |
| Stage C |
Design Review |
Business Model validation should throw any
referential integrity, concurrency related requirements and sign off should be completed. |
| Stage D |
Development |
Any requirement that qualifies in the Stage A,
Stage B, Stage C coming at Stage D is high risk to the project and should lead to Contract
Review. Requirements that can creep in at this stage should be aesthetic changes to user
interface or supporting requirements that result in minor changes in Logical Model.
e.g. Modifying user interface to change layout can be acceptable. Adding additional
attributes to existing Logical model should be acceptable. But any change in Key
Attributes of Logical Model will quality for design change. |
| Stage E |
Testing |
No Functional requirements should change at
this stage. |
| Stage F |
User Acceptance Testing |
Main Objective of this stage to ensure the
product is as per stated requirements. However during this stage the user may identify
changes to product. The contract should provide by appropriate guidelines to accept
product as it is and give enhancement project to the development team. This clause should
be added keeping in mind the recognized truth that identifying all requirements and
meeting them in one stage is nearly impossible task. If in the first stage itself there is
an agreement that there will be two version releases the feature creep can avoided in
first version and second version will be a highly useful version to users. |
Conclusion:
Having an understanding of feature creep and how it should be accepted into an ongoing
project is necessary for a healthy relationship between customers and suppliers in
Software Projects. This understanding between both the parties will avoid any bitterness
and both work together as a team and finally deliver a product that will have long term
benefits to the customer. Bring discipline into feature creep and deliver good
quality software.
Back
|