Search
Enter Keywords:
Home arrow Software Project Planning Practices arrow Change Control
Change Control Print E-mail
Change control is method for implementing only changes that are worth pursuing, and for preventing unnecessary or overly costly changes from derailing the project. Change control is essentially an agreement between the project team and the managers that are responsible for decision-making on the project to evaluate the impact of a change before implementing it. Many changes that initially sound like good ideas will get thrown out once the true cost of the change is known. The potential benefit of the change is written down, and the project manager works with the team to estimate the potential impact that the change will have on the project. This gives the organization all of the information necessary to do a real cost-benefit analysis. If the benefit of the change is worth the cost, the project manager updates the plan to reflect the new estimates. Otherwise, the change is thrown out and the team continues with the original plan.

Establish a Change Control Board

The most important part of change control is a change control board (CCB). There are certain people in the organization who have the power to change the scope of the project. Usually there is a senior manager or decision-maker who has the authority to make sweeping changes at will; sometimes there are several people in this position. For change control to be effective, these people must be part of the CCB.

In addition, the CCB should contain people from the project team:

  • The project manager

  • An important stakeholder or user (or someone who understands and advocates their perspective)

  • Someone who understands the effort involved in making the change (usually, this is a representative from the programming team)

  • Someone who understands the engineering decisions that the team makes over the course of the project (a design team member, requirements analyst or, if neither is available, a programmer who participated in the design of the software)

  • Someone who is familiar with the expected functionality of the software and with the behavior being discussed for each individual change (typically a tester)

This last person fulfills a very important role in the change control process. Typically, she is involved in the tracking of changes and defects in the product. When a bug is reported, part of her job is to figure out whether it is a defect (meaning that the software does not behave the way its specification requires it to behave) or a change (meaning that the software behaves as designed, but that this behavior is not what the users or stakeholders need).

Change Control Process

The following script describes an effective change control process:

Name
Change Control Process Script
 Purpose To control changes by evaluating their impact before agreeing to implement them.
 Summary The change control process ensures that the impact of each change is evaluated before the decision is made to implement that change. A change is proposed by anyone evaluating the software. A change control board (CCB), made up of the decision-makers, project manager, stakeholder or user representatives, and selected team members, evaluates the change. The CCB either accepts or rejects the change.
 Work Products
 Input
Issue report in the defect tracking system that describes the change
Output
Modified issue report that reflects the impact of the change and the decision on whether or not to move forward with it
 Entry Criteria
 A change has been discovered, and an issue report that describes it has been entered into the defect tracking system.
 Basic Course of Events
  1. A CCB member (typically a tester) who is familiar with the expected functionality of the software reads and understands the issue report which describes the requested change.
  2. The CCB member familiar with the change meets with the project manager to explain its scope and significance. Together, they identify all project team members who will be impacted by the change, and work with them to evaluate its impact. The project manager updates the issue report to reflect the result of that evaluation.
  3. At the next CCB meeting, the project manager presents the scope and significance of the change, along with its expected impact. The CCB discusses the change, and performs a cost-benefit analysis to determine if its benefits are worth the cost. The CCB approves the change.
  4. The project manager updates the issue report to indicate that the change has been approved, and then updates the project plan to reflect the change. The team members begin implementing the change.
Alternative Paths
  1.  In step 1, if the CCB member does not understand the change, it can be returned to the submitter for further explanation. The submitter may choose to either update the issue report to clarify the change (in which case the script returns to step 1) or drop it entirely (in which case the change control process ends).
  2. In step 3, if the CCB determines that the benefits of the change are not worth the cost, they can reject it. The change control process ends, and no changes are made to the project. The project manager updates the issue report to reflect the fact that it was rejected.
Exit Criteria
The project plan has been updated to reflect the impact of the change, and work to implement the change has begun.

< Prev

Main Menu
Home
Software Project Planning Practices
Review Practices
Product Engineering Practices
For Educators: Lecture Notes and Handouts
Glossary
Praise for "Applied Software Project Management"
News from O'Reilly
Latest Releases from O'Reilly
Contact Us
Buy the Book
"Applied Software Project Management" © 2005 O'Reilly Media, Inc.
Website © 2006 Stellman & Greene Consulting LLC. Photos by Nisha Sondhe.