Changes are dangerous. It’s often very easy to loosely describe a change in just a few sentences which, if implemented, would require an enormous effort (and a lot more detailed description). The sales people and product managers still need to figure out what the client needs, but in order to make an informed decision about a change they have to do a real cost-benefit analysis — and that’s where change control comes in. Change control is a process that the project team puts in place to force each change to be evaluated on its actual costs and benefits before the team begins implementing it. A good project manager should watch out for a particularly insidious problem: nobody making decisions about what goes into the project. The buck should stop somewhere — either one person or a team (like a steering committee) should have final say over what goes into the project. It’s easy for people in an organization who should be making decisions to simply look at the project manager and think, “She’s an expert, she knows about the project, so why can’t she decide what goes into the product?” What’s especially problematic about this situation is that, with nobody paying attention to what goes into the software, the team will simply end up gold-plating and the scope will creep.
Luckily, we have tools for handling both problematic changes and scope vacuums. 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.
One thing to keep in mind is that each change should be recognized by the team as an explicit change in direction. Someone authorized the project, and the money to pay for it is coming out of a budget somewhere. The person or people who made the decision to fund the project should also be making the decision to extend it. It’s really not within the project team’s rights to take on changes that the stakeholders have already agreed to.