| systems | transactions | Legacy | business | Database | modernization | code |
  • Sitemap
  • Contact
  • Acronyms
  • Chapter 1. The Legacy Crisis
  • 1.1 Modernization Challenges
  • 1.2 How Did We Get Here?
  • 1.3 The Legacy Crisis
  • 1.4 Evolving Legacy Systems
  • 1.5 Software Reengineering
  • 1.6 Incremental Development and Deployment
  • 1.7 Summary
  • 1.8 For Further Reading
  • Chapter 2. The Beast
  • 2.1 The Retail Supply System
  • 2.2 Recent History
  • 2.3 Summary
  • Chapter 3. Risk-Managed Modernization
  • 3.1 Risk Management
  • 3.2 Summary
  • Chapter 4. Developing the Business Case
  • Previous Section Next Section

    Chapter 1. The Legacy Crisis

    graphics/clock1.gif

    The significant problems we face cannot be solved at the same level of thinking we were at when we created them.

    Attributed to Albert Einstein

    From the moment a software product is released, the race against time and aging begins. The cliché that "legacy code is code written yesterday" is increasingly true. As the pace of technology development increases, so too does the pace of technology obsolescence. Software modernization attempts to evolve a legacy system, or elements of the system, when conventional evolutionary practices, such as maintenance and enhancement, can no longer achieve the desired system properties.

    Software modernization is more challenging than most software engineers, including seasoned veterans, suspect. Many modernization efforts fail. The Standish Group research shows that 23 percent of projects are canceled before completion, while only 28 percent finish on time and budget with expected functionality [Standish 01].

      Previous Section Next Section
      systems   transactions   Legacy   business   Database   modernization   code   architecture   elements   Figure   components   models   programming   incrementally   software   efforts   objectoriented   development   costs   applications   operations   functionality   because   modernized   objects