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.
   249   250   251   252   253   254   255   256   257   258   259