Change Management within Software Projects
Maintaining the orderly evolution of a project after launch
Overview
Concept
Change management is the streamlined approach to handling changes in software.
Changes are typically required for one of a few reasons:
- New features
- Bug fixes
- Maintenance due to changes in dependencies
Five Phases
Concept
Work on any given change request goes through each of several phases
- Submission
- Validation
- Assessment
- Feasibility
- Implementation
Phase 1: Submission
Most change management systems allow their stakeholders to submit ‘change requests’ using a form.
- The form is often filled out in response to stakeholder feedback
- All metadata details of the change request are logged - date/time, author, type, status, etc.
Phase 2: Validation
The change request is then determined to be valid or invalid and the result is logged in the change request document.
Common reasons for invalidity of a change request:
- high-level business reasons
- duplicate of previous change request
- results from end-user or stakeholder misunderstanding of product functionality
Phase 3: Assessment
The time, effort and ultimately cost of implementing the change is estimated.
- this is usually handled by the development team.
- includes estimates of work for all components/systems that may be impacted by proposed changes
Phase 4: Feasibility
Is the change worth doing… now?
Questions typically asked to help answer that question:
- what is the impact of not making the change?
- what are the benefits of making the change?
- how many end-users will be affected by the change?
- what is the cost of making the change?
- when is the proper time to implement such a change?
Phase 5: Implementation
If deemed feasible, the developers implement the change the usual way.
The status of the change request is updated as necessary.
Conclusions
Thank you. Bye.