Book Image

Working with Legacy Systems

By : Robert Annett
Book Image

Working with Legacy Systems

By: Robert Annett

Overview of this book

The IT industry is constantly evolving with the introduction of new technologies. While it is important to keep up with advancements, maintaining legacy systems is equally necessary to ensure that the infrastructure of your organization functions to the best of its ability. Sound knowledge of techniques that can be used for maintaining legacy systems can help you avoid common pitfalls. The book begins with a quick overview of what a real legacy system looks like, how it works, and common issues that may be faced when trying to maintaining it. You'll then explore the architecture of a legacy system in detail and understand each of its components. As you progress, you'll discover a variety of techniques for analyzing a legacy system and how to apply them. Once you get to grips with the security constraints associated with legacy systems, you'll explore ways to secure them. Finally, you'll be able to easily make changes in legacy systems to enhance their performance. By the end of this book, you’ll have developed the skills and confidence to work with legacy systems and efficiently maintain them.
Table of Contents (7 chapters)

Preface

Note

About

This section briefly introduces the author and the coverage of this book.

About the Course

There comes a point in everyone's IT career when they become responsible for a legacy system. This is inevitable and I call it the 'Penelope Principle.' Like the Peter Principle (where people are promoted to their level of incompetence) and the Dilbert Principle (incompetent workers are promoted to where they can do least damage – management), this should be accepted and worked with rather than being fought against. It is stated thus:

"All IT workers will be promoted into a position where they become responsible for a legacy system" (The caveat is "unless the worker is so useless, they can't hold down a job and keep getting fired before this occurs." This, of course, does not apply to any reader sensible enough to buy this book. (And, yes, I do know this is the 'No True Scotsman' fallacy)).

Hopefully, you are nodding your head vigorously at this point (having bought this book, this is highly likely) and the purpose of this book is to help you deal with the situation you have found yourself in.

Why is this the case? In Chapter 1, Definition, Issues and Strategy I will spend a short while defining exactly what we mean by a 'legacy system,' but it comes down to success and longevity. The commercial IT revolution started in the 1970s when vast numbers of manual processes and physical records were placed into mainframe systems. Subsequently, these systems have not only been improved but entire new industries have been created. There are vast benefits to having information systems in electronic form and this effect was magnified by the internet revolution of the 1990s. Some systems don't add value and are scrapped, but most do and are therefore used until it becomes cost-effective to replace them.

This means there are a LOT of IT systems out there involved with every aspect and function of society. This has been happening for almost 50 years, so the number of 'old' systems outnumbers the 'new' systems many times over. In the same way that it's impossible to exist without being affected by an IT system, it's impossible to avoid legacy ones. Even if you have the world's largest group of developers and an infinite budget in a brand-new organization, you'll still have to integrate with legacy systems and eventually your own green-field projects will become legacy.

If you have a position of responsibility within an organization, you will have to deal with legacy systems.

However, the IT industry is obsessed with new technologies and new projects. University courses, books, magazines, and conferences focus on what is new and assume you always start with a clean slate. This isn't what occurs in the real world, and I hope what follows fills some of this gap. This book is not intended to present a formal methodology but is aimed at all the Penelope's out there who need a guidebook to help them with their first legacy system.

Robert Annett ([email protected])

About the Authors

Robert Annett has been a developer since 1995 and has worked in industries from energy management to investment banking. Much of his work has involved upgrading and migrating legacy systems, with the occasional green-field project (involving integration to legacy systems, of course). He has worked in the IT industry long enough to realize that all successful systems become legacy eventually.

Learning Objectives

  • Perform static and dynamic analyses of legacy systems

  • Implement various best practices to secure your legacy systems

  • Use techniques such as data cleansing and process cleansing to stabilize your system

  • Apply structural changes to your legacy system to make it highly available

  • Identify and resolve common issues with legacy systems

  • Perform various tests to secure your legacy systems

Audience

Working with Legacy systems is ideal for IT professionals who want to understand the workings and maintenance of legacy systems. Prior knowledge of working with legacy systems is not needed to read this book.

Approach

Working with Legacy systems takes the learning-by-doing approach to explain concepts to you. It uses practical and hands-on practice sessions to understand the workings and maintenance of legacy systems. Prior knowledge of working with legacy systems is not needed for this book.

Acknowledgements and Thanks to:

  • Simon Brown for encouraging me to write this in the first place

  • Richard Jaques for reviewing an early copy of the book, making suggestions, and pointing out a few embarrassing typos

  • Robert Smallshire for reviewing an early copy of the book and giving direction on the target audience

  • Graham Lee for reviewing an early copy of the book and keeping me amused via Twitter

  • David Hayes for the review and comments on structure