Agile Surgery – Legacy Systems: An impossible Agile Puzzle?

    By Colin Cripps, Agile Consultant

     

    The Agile Surgery events have turned into a very popular series and have been the home of three other great events over the last 18 months. So, for this year’s virtual Leeds Digital Festival the Leeds Delivery Management, Business Analysis and Agile Capabilities came together to put on another one. This time tackling the conundrum of transforming legacy systems using an Agile approach.

    Legacy Systems were often designed some time ago and on occasions can be complex to change. Consequently, the idea of fiddling with them can scare the hell out of companies and clients. Yet at the same time, they appreciate there are many advantages to addressing that legacy system. Quite the conundrum! Luckily, those are the problems we thrive on and so felt very well placed to offer some advice on.

    The talk was introduced some of the most popular reasons for wanting to change a legacy solution – many of which you’ll be familiar with!

    As an ‘Agile’ Surgery, we then explained the advantages of a well-stocked Agile toolkit and how to apply it here. An important point to get across was that no transformation, let alone legacy transformation is the same. There is no single ‘right’ Agile approach – it always depends. To emphasise this our speakers then introduced two case studies which utilised two different approaches.

    The first focused on ‘incremental change’. In this example, a system had been built up with a particular set of purposes in mind and a specific architecture that made responding quickly to market conditions difficult. The code was complex, requiring long test windows and faced frequent production issues - “turning on the light in the bathroom also rang the doorbell” - it wasn’t sustainable.

    Outlining a clear roadmap of small changes involved breaking up the monolith into smaller, manageable chunks that utilised modern technology and de-coupled complex dependencies. Ultimately this allowed a standard Sprint approach (e.g., a two-week timeboxed development cycle) to provide benefit early and target features with a high priority to the client.

     

    The second case study introduced a different approach. Here the team focused on picking the correct tools and jigsawing the right ones together to target the Client’s specific needs of automation, strong architecture, clearer strategy, and modern CI/CD pipelines.

    Here the Agile tool kit was key. The team first aimed to understand the client’s specific pain points and goals. The main pain point for this client was the cost of delivery – it was slow, cumbersome and took a lot of investment, so in demonstrating the value of a targeted, Agile approach that used sprints and rapid iteration, the team quickly won trust.

    This example gave us a chance to describe six tools important to utilise in legacy transformation:

    • Establishing strong and clear Product Ownership that focused on the ‘what’ with a mindset of potential value
    • Strong underpinning architecture that reduced complexity
    • Automation to build in assurance and reduce risk upfront
    • Synchronisation, that aligned practices, processes and behaviour that support people working together
    • A mindset and framework of incremental delivery that allowed small changes often
    • CI/CD tools that provide the ability to check quality and self-inspect regularly.
    Enterprise Agile - Download the eBook