Best Practice: Manage Change

Managing change is more than just checking-in and
checking-out files. It includes management of workspaces, parallel development,
integration, and builds.
A key challenge when you're developing software-intensive systems is that
you must cope with multiple developers, organized into different teams, possibly
at different sites, working together on multiple iterations, releases, products,
and platforms. In the absence of disciplined control, the development process
rapidly degenerates into chaos. In the Rational Unified Process, the Configuration
& Change Management discipline describes how you meet
this challenge.
Topics
Coordinating the activities and artifacts of developers and teams
involves establishing repeatable procedures for managing changes to software and
other development artifacts. This coordination allows a better allocation of
resources based on the project's priorities and risks, and it actively manages
the work on those changes across iterations. Coupled with developing your
software iteratively, this practice lets you continuously monitor changes so
that you can actively discover, and then react to problems.
See the Workflow
Detail: Manage Change Requests for further information on this topic.
Coordinating iterations and releases involves establishing and releasing a
tested baseline at the completion of each iteration. Maintaining traceability
among the elements of each release and among elements across multiple, parallel
releases is essential for assessing and actively managing the impact of change.
See the Workflow Detail:
Manage Baselines & Releases for more details.
Controlling changes to software offers a number of solutions to the root
causes of software development problems:
- The workflow of requirements change is defined and repeatable.
- Change requests facilitate clear communications.
- Isolated workspaces reduce interference among team members working in
parallel.
- Change rate statistics provide good metrics for objectively assessing
project status.
- Workspaces contain all artifacts, which facilitates consistency.
- Change propagation is assessable and controlled.
- Changes can be maintained in a robust, customizable system.
Copyright
© 1987 - 2001 Rational Software Corporation
|