On Friday, February 21, I presented “Strangle Your Legacy Code” at Mini-SPA, a one-day event in Leeds, UK. I wasn’t in Leeds, but my talk was. The abstract:

Given an ancient codebase that makes refactoring risky and expensive, how do you clear a path to continued delivery? The old wisdom says the best time to plant a tree was 20 years ago, and the next best time is today. But if you already have a gnarled old source tree, preserve your software investment by planting a Strangler: a pattern for reaping continuous value from your existing system while growing new functionality alongside it. We’ll define our terms, meet some legacy code and its Strangler (both open source), then test-drive new features into the system. You’ll leave with a powerful strategy for extending the useful life of working, valuable software — especially when it’s hard to change.

Two questions came in at the end:

  1. What architecture do I suppose is most often Strangled? My best guess is web applications, both because there are so many of them and because web proxying is well understood.
  2. How did I intercept network calls to the SMTP service? qmail’s SMTP daemon has no network code in it, relying on inetd or tcpserver to map client-connected sockets to stdio. That’s why I could type into it interactively simply by running it from the command line.

”Strangle Your Legacy Code” is usually an interactive workshop, one of many I’m happy to offer your team.

Work with me

Would your org benefit from a rare combination of technical coaching and influential conversations? (Take other people’s word for it, not mine.) A corporate client recently said “AMAZING! I wish you could spend even more time with us” after the first of many two-hour whole-team sessions. It’s not too late to book me for Q2 or Q3. Let’s talk about what fits for you.

Would you personally benefit from an individualized session with an experienced, inquisitive, and empathetic conversation partner? Maybe you’re facing a challenging situation at work, a learning opportunity in some code — or both. An individual client recently went from “frustrated” to “energized” in the span of an hour. I’d love to make myself useful to you. Get in touch.