What if we looked at legacy infrastructure in IT through the same lens? Too often, tech teams rush to discard mainframes and legacy infrastructure, immediately aiming to build something shiny and new. However, just as the Saqqara was revolutionary at the time of the built, and acted as the origin point of Egypt’s 96 other pyramids, mainframes that we now classify as ‘legacy’ were the epitome of innovation when first set up. Like the thousands of blocks that built the pyramids in Saqqara, mainframe applications have thousands, even millions of lines of code. Each serves a very specific purpose: a purpose that has probably outlasted the developer who first wrote the code. Only once this purpose is examined and understood, can enterprises move onto successful app modernisation.
Learning from a Pharaoh’s thought process
Organisations have been rushing to modernise their IT infrastructure in the last decade, and the race to digitally transform has picked up even more since the beginning of the 2020 pandemic. Caution is important here, as decisions made in a rush today may end up hindering progress for decades to come.
What if we moved away from terms such as ‘app modernisation’ and ‘digital transformation’? Instead of associating our approach to making applications timeless with ‘transform’ and ‘overhaul’, it may be beneficial to just focus on extending software to generate valuable business outcomes. Map the goals of a tech project, and then work backwards to understand what you need to achieve it. Imagine how your most business-critical applications would look like in a decade. Would they be simply structured, easy to understand, highly-functional, low-effort to evolve?" App modernisation shouldn’t be approached ‘tool-first’, ‘technology-first’, or ‘pattern-first’. Don’t start mingling with tools and technologies without first clearly understanding what you are trying to build, and why you are building it. For example, an event-driven or microservice architecture does not make sense for all projects. Taking a step back to understand the business goals first is essential. Then a proper notional architecture can be derived before the right tools and frameworks should be selected to achieve these .
Most modernisation projects are focused around fixing a certain problem IT teams have identified by adopting a not necessarily related technology. In reality, modernisation for our customers is about making new requirements possible, saving cost, scaling capacity, increasing stability and security, at a higher speed. It digitally provides them a competitive edge while boosting business growth. The key to success lies in first understanding the truly desired outcomes of the modernization work and keeping them prioritized. Defining early qualitative objectives and measurable key results is a spot-on practice to guide transformation journeys. Without such a compass, it is extremely easy to get lost in the depths of our majestic monolithic construction or swamped in a never-ending analysis-paralysis. This mindset empowers companies to successfully approach brownfield transformations, as well as greenfield cloud initiatives. While the root causes of the core concerns are often obvious, proper solutions are not. Monolithic problems cannot be solved with the same thinking used to create them.
Ensuring a timeless approach to app modernisation
There are four elements of a successful application modernisation initiative. The first is to begin having the end in mind, aligning all stakeholders on goals and non-goals. It is key to start small: even if your portfolio contains thousands of apps. Start with a single business unit and a handful of applications that matter, where a huge impact could be made. Test-driven development, continuous integration and continuous deployment can then be used to reduce manual processing time and increase determinism through automation. It is also important to just plan enough to start, learn on the job, informing strategy and building new skills through hands-on effort, and loops of rapid feedback and result measurement. Lastly, break things down – iterate quickly and continually on thin slices of complex systems focussing on high-level architecture before technology. Following these tenants enables tech teams to quickly focus on the right things and deliver impactful, iterative results.
Recently, VMware Tanzu worked with a large European public sector customer to support them with the modernisation of a mainframe application being over 30 years old and requiring several millions of euro yearly as maintenance and running cost. This involved reworking software and processes impacting millions of citizens and tens of thousands of officials. The challenge was to find a way to start rewriting the monolith to a cloud-native area, with a modern programming language, without impacting the implementation changes required by the latest legislation. By using the approach outlined above, in only a few weeks, the customer was able to get the first components of the mainframe rewritten in Java and running in production. The path from code change to production has been reduced from four weeks to 30 minutes. Several engineers and developers have been empowered to further modernize the application, as if they would be building a new one, delivering value in shorter development cycles on a weekly basis – with no downtime.
Now, back to Egypt
In the years following the Saqqara, many Pharaohs based their monuments on the same concept, look and approach. Over time, other innovations were incorporated - including etching hieroglyphs on the stones - and plans modified.
Just as historians and archaeologists approach the Egyptian pyramids, empathy and context are crucial tools for app modernisation. The end game for archaeologists is not to put beautiful relics in museums, but to really understand the story, culture and the motivations of the people who built them. Similarly, CIOs must first understand the mindset of developers and technology teams at the time of the initial concept, to truly be able to embody a fresh mindset for app modernisation.