Modernizing Legacy Systems


Book Description

Most organizations rely on complex enterprise information systems (EISs) to codify their business practices and collect, process, and analyze business data. These EISs are large, heterogeneous, distributed, constantly evolving, dynamic, long-lived, and mission critical. In other words, they are a complicated system of systems. As features are added to an EIS, new technologies and components are selected and integrated. In many ways, these information systems are to an enterprise what a brain is to the higher species--a complex, poorly understood mass upon which the organism relies for its very existence. To optimize business value, these large, complex systems must be modernized--but where does one begin? This book uses an extensive real-world case study (based on the modernization of a thirty year old retail system) to show how modernizing legacy systems can deliver significant business value to any organization.




Working with Legacy Systems


Book Description

The IT industry is obsessed with new technologies. Courses, books, and magazines mostly focus on what is new. Starting with what a legacy system looks like to applying various techniques for maintaining and securing these systems, this book gives you all the knowledge you need to maintain a legacy system.




Working Effectively with Legacy Code


Book Description

Get more out of your legacy systems: more performance, functionality, reliability, and manageability Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it? If the answer to any of these questions is no, you have legacy code, and it is draining time and money away from your development efforts. In this book, Michael Feathers offers start-to-finish strategies for working more effectively with large, untested legacy code bases. This book draws on material Michael created for his renowned Object Mentor seminars: techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control. The topics covered include Understanding the mechanics of software change: adding features, fixing bugs, improving design, optimizing performance Getting legacy code into a test harness Writing tests that protect you against introducing new problems Techniques that can be used with any language or platform—with examples in Java, C++, C, and C# Accurately identifying where code changes need to be made Coping with legacy systems that aren't object-oriented Handling applications that don't seem to have any structure This book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.




Re-Engineering Legacy Software


Book Description

Summary As a developer, you may inherit projects built on existing codebases with design patterns, usage assumptions, infrastructure, and tooling from another time and another team. Fortunately, there are ways to breathe new life into legacy projects so you can maintain, improve, and scale them without fighting their limitations. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Book Re-Engineering Legacy Software is an experience-driven guide to revitalizing inherited projects. It covers refactoring, quality metrics, toolchain and workflow, continuous integration, infrastructure automation, and organizational culture. You'll learn techniques for introducing dependency injection for code modularity, quantitatively measuring quality, and automating infrastructure. You'll also develop practical processes for deciding whether to rewrite or refactor, organizing teams, and convincing management that quality matters. Core topics include deciphering and modularizing awkward code structures, integrating and automating tests, replacing outdated build systems, and using tools like Vagrant and Ansible for infrastructure automation. What's Inside Refactoring legacy codebases Continuous inspection and integration Automating legacy infrastructure New tests for old code Modularizing monolithic projects About the Reader This book is written for developers and team leads comfortable with an OO language like Java or C#. About the Author Chris Birchall is a senior developer at the Guardian in London, working on the back-end services that power the website. Table of Contents PART 1 GETTING STARTED Understanding the challenges of legacy projects Finding your starting point PART 2 REFACTORING TO IMPROVE THE CODEBASE Preparing to refactor Refactoring Re-architecting The Big Rewrite PART 3 BEYOND REFACTORING—IMPROVING PROJECT WORKFLOWAND INFRASTRUCTURE Automating the development environment Extending automation to test, staging, and production environments Modernizing the development, building, and deployment of legacy software Stop writing legacy code!




Legacy Systems


Book Description

In Legacy Systems: Transformation Strategies, leading IT and business architecture consultant William Ulrich presents a step-by-step, phased roadmap to legacy transformation that maximizes business value, while minimizing cost, disruption, and risk. Transformation strategies, organizing disciplines, techniques, and tools reduce the risks of deploying the component-based architectures you need to stay competitive while maximizing the business value of core systems that work.




Migrating Legacy Systems


Book Description

Information systems that resist modification and don't support organizational requirements are a critical business problem. The authors present a step-by-step strategy for complete IS migration to a new environment and discuss the potential problems and alternatives that may arise in the process.




New Legacy System


Book Description

Calif¿s. budget crisis has made plain that scarce revenues will put a premium on managing public resources better than ever if state gov¿t. is to meet its obligations and realize its vision for serving its people. The best mgmt. practices rely on sound info. tech. (IT) systems that can deliver up-to-date data about operations to decision-makers, who can act upon them to improve programs and services. In the last 8 years, Calif. has made great strides in delivering critical IT tools to its managers. Yet Calif. is still far behind other states that are using data to drive performance, due to fear of another big system failure. This report argues that it is time to push past those fears so that Calif. leaders can change the culture of gov¿t. by building the state¿s IT capacity. Illus.




The Renaissance of Legacy Systems


Book Description

Many antiquated or legacy systems are still in operation today because they are critical to the organizations continued operations or are prohibitively expensive to replace. This book guides practitioners in managing the process of legacy system evolution. The author introduces a comprehensive method for managing a software evolution project, from its conception to the deployment of the resulting system. The book helps managers answer two critical decisions: What is the best way to evolve a particular legacy system? and How can the legacy system be migrated to a selected target architecture?




Beyond Legacy Code


Book Description

We're losing tens of billions of dollars a year on broken software, and great new ideas such as agile development and Scrum don't always pay off. But there's hope. The nine software development practices in Beyond Legacy Code are designed to solve the problems facing our industry. Discover why these practices work, not just how they work, and dramatically increase the quality and maintainability of any software project. These nine practices could save the software industry. Beyond Legacy Code is filled with practical, hands-on advice and a common-sense exploration of why technical practices such as refactoring and test-first development are critical to building maintainable software. Discover how to avoid the pitfalls teams encounter when adopting these practices, and how to dramatically reduce the risk associated with building software--realizing significant savings in both the short and long term. With a deeper understanding of the principles behind the practices, you'll build software that's easier and less costly to maintain and extend. By adopting these nine key technical practices, you'll learn to say what, why, and for whom before how; build in small batches; integrate continuously; collaborate; create CLEAN code; write the test first; specify behaviors with tests; implement the design last; and refactor legacy code. Software developers will find hands-on, pragmatic advice for writing higher quality, more maintainable, and bug-free code. Managers, customers, and product owners will gain deeper insight into vital processes. By moving beyond the old-fashioned procedural thinking of the Industrial Revolution, and working together to embrace standards and practices that will advance software development, we can turn the legacy code crisis into a true Information Revolution.




Modernizing Legacy Applications in PHP


Book Description

This book will show you how to modernize your page-based, include-oriented PHP application by extracting and replacing its legacy artifacts. We will use a step-by-step approach, moving slowly and methodically, to improve your application from the ground up. Each completed step in the process will keep your codebase fully operational with higher quality. Please note that this book is about modernizing in terms of practice and technique, and not in terms of tools. We are not going to discuss the latest, hottest frameworks or libraries. Most of the very limited code we do add to your application is specific to this book. When we are done, you will be able to breeze through your code like the wind. Your code will be fully modernized: autoloaded, dependency-injected, unit-tested, layer-separated, and front-controlled.