9
minutes
Floris Schoenmakers

Eli5 article review series: The end of one-time software modernization projects

This week, we reviewed a podcast featuring Sam Corcos regarding the "care and feeding" of software. He introduces the idea that software modernization as a concept stems from a flawed notion that developing software is a one-time project: a check you write once and then never touch again.

There is a wave of application rebuilding and replacement going on. At Eli5, we review articles about software modernization every week to find real value for CTOs, PMs, and POs who have to deal with the modernization of legacy software.

Care and feeding of software

Source: YoutubeFrankwiles

Abstract. The term modernization is often used as a convenient shorthand in the tech industry for "fixing old stuff". However, according to Sam Corcos, the very concept of modernization is built on a fundamental misunderstanding of what software actually is. In a recent episode of the Modern Wisdom podcast, Corcos argued that treating software as a one-time project is a recipe for failure.

Review and insights. The core of the issue lies in the analogy we use for software development. When modernizing software and exploring AI, we found the following core hurdles with the "big bang" modernization vision:

  • The house vs. puppy analogy: Most people think of building software like building a house, where all the work goes upfront with a trickle of maintenance. Software is actually like getting a puppy; you cannot simply not feed a puppy for a year and expect it to survive.
  • The dead puppy: When companies treat modernization as a "one and done" investment, they are essentially buying a new puppy but forgetting to feed it. This leads to the same "dead puppy" result, just rewritten in a newer language like Rust or deployed on a serverless stack.
  • Incurred debt: If you only update sporadically, you spend a massive amount of time simply working down technical debt before you can even begin developing new features.
  • Brittle foundations: Developing on an outdated stack, like end-of-life PHP, means you are building on a foundation that hasn't seen security support in a decade.
  • Lost momentum: By the time a major modernization is finished, the landscape has often shifted again, leaving the "new" system already falling behind.

Sam Corcos highlights that the software development process is misunderstood when viewed as a one-time modernization project. Software is more like a puppy than a house. Without regular "care and feeding," you will still end up with a dead puppy, regardless of the technology stack used. True success comes from viewing software as an evolving, living system.

Full video episode: Care and feeding of software. The end of one-time software modernization projects


The first step to start your modernization journey

Software modernization and architectural rebuilds lie at the heart of Eli5. We solve complexity to deliver direct business value by focusing on pragmatic, cloud-native transitions.

Before you decide whether to wrap your legacy system, buy a new SaaS product, or use AI to build custom tools, you need total visibility into your current tech landscape.

Would you like to book a free brainstorm to discuss your legacy stack? It is the essential first step to turning your technical debt into a scalable, modular future.

Floris Schoenmakers
Partner
current