Requirements and Change Management
The initial product requirements provide the product baseline. Our project planning will be focused upon delivering meeting these requirements. In a phased development process, we will prioritize the requirements (shown earlier) and deliver iterations. This staged delivery allows us to gain additional insight into the product. We may learn things that necessitate changes to the original requirements. We must manage these changes to secure the design integrity. This is especially true for system development where change to one component may have implications on other sub-systems and subsequently the overall system.
- Identify the change needed
- Identify the consequences of the change
- Cost – material
- Time (schedule / delivery)
- Cost – NRE (Non-Recurring Engineering)
- Risks associated
- Document and review the consequences
- 4Accept change
- Update documentation
- Requirements,
- Configuration Management plan,
- Schedule
- Contracts
- Update documentation
- Execute to deliver the changes
- Confirm change has been made
- Verification the change request has made it into the product
- Contractual confirmation
Obviously, if the proposed change is not accepted, then all actions after the accept change (step 4) are not needed. If the change is accepted, we will update the requirements each with new designators and links to the upper level requirements and ultimately the project scope.
Appropriate change management is not just a phone call to the developers and the change happens. We have written about some of the consequences of this method of change management in our configuration management posts on the blog. Sometimes this method may seem the most expedient, and perhaps it even works – occasionally. However, it is playing roulette with your project and your customer to not manage this properly. More harm than any potential good can come from cutting corners for the sake of speed.