Page 254 -
P. 254
9.1 Evolution processes 237
Change Identification
Process
New System Change Proposals
Figure 9.3 Change Software Evolution
identification and Process
evolution processes
At that stage, the software moves from evolution to servicing. During the servic-
ing phase, the software is still useful and used but only small tactical changes are
made to it. During this stage, the company is usually considering how the software
can be replaced. In the final stage, phase-out, the software may still be used but no
further changes are being implemented. Users have to work around any problems
that they discover.
9.1 Evolution processes
Software evolution processes vary depending on the type of software being main-
tained, the development processes used in an organization and the skills of the peo-
ple involved. In some organizations, evolution may be an informal process where
change requests mostly come from conversations between the system users and
developers. In other companies, it is a formalized process with structured documen-
tation produced at each stage in the process.
System change proposals are the driver for system evolution in all organizations.
Change proposals may come from existing requirements that have not been imple-
mented in the released system, requests for new requirements, bug reports from system
stakeholders, and new ideas for software improvement from the system development
team. The processes of change identification and system evolution are cyclic and
continue throughout the lifetime of a system (Figure 9.3).
Change proposals should be linked to the components of the system that have to
be modified to implement these proposals. This allows the cost and the impact of the
change to be assessed. This is part of the general process of change management,
which also should ensure that the correct versions of components are included in
each system release. I cover change and configuration management in Chapter 25.