The only
constant is change
Projects often fail
because of a failure to manage change. Changes impact deliverables,
schedules, budgets, staffing, technologies, geographies, etc. Certain
types of change can be controlled, but all too often there are no
controls over changes; only the ability to anticipate, respond and adapt.
Project managers
must institute appropriate change controls for the project at hand. I
should note that this page is not about software change management, nor
is it about requirements change management. I am addressing the
dynamic nature of the world and the likelihood that for most projects,
something will change. Change will render the initial plan(s) moot or at least
badly in need of updating. This is true for small as well as for
large projects.
Managing Change
It is the project and program
management team's responsibility to watch for external changes, and to manage
the impact(s) of such changes.
Scope/Requirements
Changes to the requirements of a project impact the scope -- the amount
of work -- and have an impact across all aspects of the project. Such
changes are a reality so the key is to
manage changes to requirements.
Schedule
By
their very nature, schedules are predictive approximations. The better
understood the application and environment, the more accurate schedules
can be. None-the-less, schedules are likely to change. Project
managers should strive to keep projects on schedule but they must also
predict, adapt, modify, adjust, and then explain schedule changes.
Project managers are charged with evaluating the overall accuracy of
the schedule and communicating the project status, in among other metrics,
by adherence or deviation of the project.
The size (as measured by staff-hours
and projected elapsed time) of the project often drives the level of detail
needed in a project plan. Regardless of the complexity of the project plan
or schedule, changes in the environment will cause changes in the schedule.
The project manager must ensure the team, the stakeholders, and management are
kept apprised of the impacts of changes.
Budget
The
project manager is often responsible for executing against a budget as
well as schedules and requirements. Often times, schedules and budgets
are inversely related: holding to schedule costs more than budgeted,
holding to budget causes schedule slips. The project manager must, with
other appropriate stakeholders, find the correct balance.
Almost invariably, change means
greater cost. It's rare to have change reduce cost. Change
management involves ensuring the sponsors of the project ... those paying for it
... understand the impact of changes on the budget. Where changes can be
controlled, such as added requirements, budget impacts are part of the change
analysis and may result in a decision to forego or defer the changes. The
project team, led by the project manager, must also be prepared to brainstorm on
ways to hold to the budget despite the impact of changes.
Also see EVM.
Implementation
The code implementing a project will change as requirements change, problems are found in testing, or algorithms
improve through experience. Project managers must ensure such code changes are managed and
orderly.
Contingency planning is closely related to change
management. Successful project managers keep open a range of options
and lead the project team in adapting to changing conditions.
Contingency planning is, in a way, a subset of business continuity planning and
disaster recovery planning. Being able to respond to drastically changing
conditions and to still succeed is the hallmark of having done good contingency
planning.
Problem Tracking
Even the best developers, working from the clearest requirements,
specifications, and designs will introduce problems. Compound this with
incorrect, incomplete, or omitted requirements, and any other form of
development error. There will be problems and there need to be
changes. Managing change includes formal problem tracking. Basic
metrics about quality and readiness to release can be found from the
results of problem tracking.
Software
Change Control
A brief mention of this important topic is necessary.
Many a project has come undone because of poor or absent software change control
(also know as software configuration management). There are many tools and
products aimed at this issue but it is not within the scope of this website to
address them.