An Investigation Into the Causes and Effects of Legacy Status in a System
Total Page:16
File Type:pdf, Size:1020Kb
Technological University Dublin ARROW@TU Dublin Other resources School of Computer Sciences 1999-4 An Investigation into the Causes and Effects of Legacy Status in a System with a View to Assessing both Systems Currently in use and Those Being Considered for Introduction Patricia O'Byrne Technological University Dublin, [email protected] Follow this and additional works at: https://arrow.tudublin.ie/scschcomoth Part of the Computer and Systems Architecture Commons Recommended Citation O'Byrne, P. An investigation into the causes and effects of legacy status in a system with a view to assessing both systems currently in use and those being considered for introduction. Staffordshire University, 1999. This Dissertation is brought to you for free and open access by the School of Computer Sciences at ARROW@TU Dublin. It has been accepted for inclusion in Other resources by an authorized administrator of ARROW@TU Dublin. For more information, please contact [email protected], [email protected]. This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 4.0 License An investigation into the causes and effects of legacy status in a system with a view to assessing both systems currently in use and those being considered for introduction Patricia O’Byrne A dissertation submitted in partial fulfilment of the requirements of Staffordshire University for the degree of M.Sc. This research was carried out in collaboration with The Dublin Institute of Technology April 1999 Abstract This dissertation analyses the area of legacy systems and determines the effects that are exhibited in legacy systems, presenting them in a legacy effect determination framework, so that management can ascertain whether the system they have is a legacy system. An analysis of legacy causal criteria is carried out, resulting in a table of legacy causes. A new definition of legacy systems is put forward, by defining legacy status as a status held by a legacy system. “A system exhibits legacy status if it is deficient in terms of its suitability to the business, its platform suitability or application software quality, with the effect that its asset value diminishes, as does its ease of operation, maintenance, migration or evolution.” Legacy status is split into three dimensions, that of system suitability, platform suitability and software quality. These dimensions are analysed and practices shown that enable good quality within them. Solution strategies for handling legacy systems are analysed and broken down into components. These components are analysed in regard to their impact on the legacy causes. A mapping takes place between each strategy component and legacy cause. A legacy causal criteria framework enables management to assess their systems for possible legacy status. This framework can be used on current existing systems or on new proposed systems. This legacy causal criteria framework is cross-referenced to the legacy effect determination framework, allowing management to see the real or potential effects that a weakness in one of the legacy causes may have. These frameworks can be applied both to existing systems to evaluate their legacy status or to potential new systems to evaluate how they will behave in the future. ii Acknowledgements I would like to thank my supervisors Dr. Bing Wu, for his advice, guidance and encouragement along the way and Mr. Denis Kelly for providing me with information and contacts relating to the ESB and for reviewing early drafts of my dissertation. I am also grateful to staff in the D.I.T. and Staffordshire University who listened, read and advised me. My thanks also goes to Vivian Young in the ESB and all of the IT managers and staff in CIE who discussed decisions made about systems and their outcome and issues about which decisions need to be made. My deepest thanks go to my husband Paul who acted as a sounding board and kept the household running and my sons Daragh, Stephen and Brian who tolerated my absences and tiredness due to working on this dissertation, without complaint. I am eternally grateful to my parents, who fostered an interest in learning and a tenacity to complete a task undertaken in all of their children. - iii - Table of contents Abstract ii Acknowledgements iii Table of contents iv Table of tables ix Table of figures x Chapter 1 Introduction 1 1.1 Background 1 1.1.1 Legacy systems 1 1.2 Aim and objectives 2 1.3 Research method 3 1.4 Expected Deliverables and Potential Benefits 4 1.5 Organization of This Dissertation 5 Chapter 2 Effects and causes of legacy status 8 2.1 Introduction 8 2.2 Effects of legacy status 9 2.2.1 Characteristic effects exhibited by legacy systems 10 2.2.2 Derived effects of legacy status 12 Asset value 12 Ease of operation 14 Ease of maintenance 14 Ease of migration / evolution. 15 2.2.3 Asset value 16 2.2.4 Ease of operation 17 2.2.5 Ease of maintenance 18 2.2.6 Ease of migration / evolution 19 2.2.7 Legacy effect determination framework 19 2.3 Causes of legacy status 20 2.3.1 An analysis of causes that have been related to legacy status 21 2.3.2 Methods of assessment 23 - iv - 2.3.3 Derived causal factors 25 2.3.4 System suitability 28 2.3.5 Underlying platform suitability 29 2.3.6 Software quality 30 2.3.7 Summary of legacy causes 31 2.4 New Definition of Legacy Status 32 2.5 Summary 33 Chapter 3 System Suitability 34 3.1 Introduction 34 3.1.1 Definition 34 3.2 Current Practice in the Area 35 3.2.1 Information Engineering 35 3.2.2 Soft Systems Methodologies 37 3.2.3 Strategic Alignment Model 37 3.2.4 Portfolio Assessment 41 3.2.5 Sociotechnical considerations 43 3.2.6 Summary of current practice 44 3.3 Common Problems in the Area 44 3.4 Effects of Problems in the Area 45 3.4.1 Suitability of system to business process 45 3.4.2 Suitability of business process to organizational mission 46 3.4.3 Suitability of the system to the organizational environment 46 3.5 Effects of lack of System Suitability 47 3.6 Conclusion 50 Chapter 4 Underlying Platform Suitability 52 4.1 Introduction 52 4.1.1 Definition of Underlying Platform 52 4.1.2 Open systems 53 4.1.3 The ideal 53 4.2 Current Practice in the Area 55 4.2.1 Achieving the Ideal 55 4.2.2 Development environments 61 4.2.3 Attributes of hardware 62 4.2.4 Attributes of operating systems 63 4.2.5 Attributes of networks 64 4.2.6 Attributes of development environment 66 4.2.7 Attributes of data management 67 4.2.8 Platform Configuration 68 4.3 Common problems 68 4.3.1 Hardware 69 4.3.2 Operating system 70 4.3.3 Networking 71 4.3.4 Development environment 72 4.3.5 Data management 74 4.3.6 Platform configuration 76 - v - 4.4 Effects of problems 76 4.4.1 Hardware 78 4.4.2 Operating System 79 4.4.3 Network 80 4.4.4 Development Environment 81 4.4.5 Data Management System 81 4.4.6 Platform configuration 82 4.5 Conclusion 82 Chapter 5 Software Quality 84 5.1 Introduction 84 5.1.1 Software definition 84 5.1.2 Software quality aspects 85 5.1.3 Software Engineering 85 5.1.4 Software Quality in context 88 5.2 Mechanisms for Improving Software Quality 88 5.2.1 Component quality 90 5.2.2 Design quality 92 5.2.3 Quality of Change Management 99 5.2.4 Discussion on software quality 107 5.3 Common Problems in the Area 108 5.3.1 Component quality problems 108 5.3.2 Design quality problems 110 5.3.3 Change Management problems 111 5.4 Effects of Problems in the Area 111 5.5 Conclusion 113 Chapter 6 Frameworks used in assessing systems 114 6.1 Legacy Effect Determination Framework 114 6.2 Causal Criteria Framework 116 6.3 The Legacy Status Cause / Effect Framework 117 6.4 How to Use the Frameworks – the LACE Techniques 118 6.4.1 Assessing an existing system through effects 119 6.4.2 Assessing an existing system for legacy causes 120 6.4.3 Assessing a prospective system in a preliminary fashion 120 6.4.4 Assessing a solution system for potential legacy status 121 6.5 Usefulness of the frameworks 121 Chapter 7 Components of migration strategies 123 7.1 Introduction 123 7.1.1 Objectives of transition 124 7.1.2 Available transition options 124 7.1.3 Retire 124 7.1.4 Reassess 125 7.1.5 Redevelop 125 - vi - 7.1.6 Renew 125 7.2 Component strategies and their effects on legacy criteria 125 7.3 Time-based Strategy 127 7.4 In-House or Outsource 129 7.5 Assessment 130 7.6 Architecture 132 7.6.1 Components 132 7.6.2 Object orientation 132 7.6.3 Layering 134 7.6.4 Bespoke components 135 7.7 Data Reuse 136 7.7.1 Data wrapping using ODBC 136 7.7.2 Data warehousing 137 7.7.3 Data migration 139 7.8 Code reuse 140 7.8.1 Application wrapping 141 7.8.2 Horizontal wrapping 142 7.8.3 Vertical wrapping 143 7.9 Redevelop 144 7.10 Renew 147 7.10.1 Iterative enhancement 147 7.10.2 Code restructuring 148 7.10.3 Re-hosting 148 7.11 Mapping of Strategy Components against Causal Criteria.