[ Summary | Objectives & Results | Work Packages Deliverables PartnersEC Projects | Re-Engineering Links ]

D3.3a Evolution Planning

Executive summary

This report is aimed at consultants who are assisting clients in the reengineering and evolution of their commercial data processing systems. It provides general advice on making a business assessment of whether or not to reengineer a system, reengineering strategies which may be adopted, methods of risk management and estimating for evolution.

The introduction describes the processes which are used in evolution planning and introduces the context for the work, namely the RENAISSANCE reengineering method. We present a set of questions and answers which explain who might use the RENAISSANCE method and the techniques described in this document, why system evolution may be the best option for a business, what we mean by system assessment and evolution strategies and the relationships between system reengineering, business process reengineering and the reverse engineering of software.

We assume that a client has a portfolio of legacy systems and wishes to prioritise these for evolution. In Chapter 2, we describe a general approach which is based on assessing the business value of the system, the environment in which the system is used, and the technical characteristics of the system itself. Ideally, the highest priority systems are those of high business value but with technical deficiencies that make them expensive to maintain. However environmental factors, such as the obsolescence of hardware are often the drivers of reengineering.

Four different approaches to system reengineering are covered in Chapter 3. Revamping is applied to systems which use character-based interfaces. It involves converting the user to a graphical interface on a C client. Restructuring is applied when the program structure has been degraded by regular maintenance. It involves reorganising and rewriting parts of the program to make it more maintainable. Re-architecturing is used when the system is converted from a centralised form to a client-server architecture. This involves moving parts of the data processing from the server to client systems. Finally, re-design with reuse is adopted when it is most appropriate to re-develop the system but where major sub-systems are reused in that process.

Chapter 4 is a general introduction to risk management and the application of risk management techniques in evolution planning. Risk management is used to inform the reengineering and what strategies should be adopted. We describe the process of risk management, identify the top-10 risks which are likely to affect reengineering projects and discuss eleven contributing factors which affect these risks.

Finally, we include a chapter which describes size and cost estimating for system reengineering. This chapter describes an algorithmic approach to cost estimation so it is intended for use in organisations with a reasonably high level of technical maturity. We discuss how existing models for size estimation may be adapted for use in reengineering projects and present a systematic technique for using this sizing information and other cost items to derive an estimate for project costs.


CSEG 1996
The RENAISSANCE Project