Leave a better legacy
In any commercial environment every enterprise decision creates unseen technical debt. How can you deliver technological value safely and in line with present process against years of legacy?
This page is a collation of learnings in researching, developing and delivering software cloud migration through people, process and technology. We hope it assists you in earning your organisation out of this debt.
9 Steps to Migrating to Cloud Systems:
The Legacy Modernisation Manual
There is a common perception that migrating a legacy system to the cloud is a risky and costly exercise.
While this can certainly be true when not done correctly, in our experience there is a process that can be followed to migrate to the cloud on time and on budget.
This manual will address some inescapable truths about migrating legacy systems, how to modernise small and large systems and how it’s helped a Government Department execute on its digital transformation roadmap.
It’s important to note that if you’re undertaking a modernisation project and are basing it solely off the existing legacy system, it will only be as good as the legacy system. This is the rule garbage in, garbage out. While the technology needs to be modernised, so too will the custom functionality.
Excel and Relational Databases:
If your organisation is running business critical applications on Excel or a relational database like Access then this migration method is for you.
The approach is to gather knowledge about the old application (bottom right) and then build a new application (top right) from this.
Step 1: Document the requirements of the old application to create a backlog for the new application. Remove old requirements that are no longer needed.
Step 2: Reverse engineer the schema from the old database. Clean up the schema to remove any garbage.
Step 3: Design the User Interface (UI) to satisfy the requirements from the backlog.
Step 4: Develop and test the new application.
Step 5: Deploy and migrate the data. Since you started with the old schema, a migration path is possible.
For larger systems that have been built bespoke, they may be so large that they can’t be migrated in a single project. As a result, we must divide and conquer
The steps are similar to those described above but for a few additions.
Step 6: Using the Codebots technology, model and create a worker bot.
Step 7: Add an interceptor between the old application and its database to forward all requests to the worker bot.
Step 8: If possible, add an observer to the legacy application that is able to forward other request data to the worker bot.
Step 9: Use an isolation checker or anti-corruption layer to ensure the data integrity of the new application. It’s possible that some requirements have been missed and its important to do a delta between the databases and make sure it’s what you expect.
We understand that it may be unreasonable to have your internal team conduct legacy modernisation projects of this size without impacting business operations. WorkingMouse acts as a skilled legacy migration provider to help deliver on strategic objectives without compromising day to day operations.
In 2019, the Department of Transport and Main Roads (TMR) commenced a proof of concept with WorkingMouse to determine the value associated with their unique migration methods in conjunction with the Codebots technology.
TMR’s goal is to progress their digital transformation by modernising the Q-Ride Scheme from an offline Excel system to a cloud-based, full-stack application with OpenAPI specification documentation.
The Department’s in-house expertise is in Java. In order to align with their expertise, WorkingMouse delivered the application in Java using a Spring server-side and Angular client-side.
WorkingMouse created a modern, microservice-ready Java application deployed into AWS cloud. The initial proof of concept was delivered in 4 weeks with a further 8 weeks to have it ready for production. The application has a CRUD User Interface, data migration capabilities, advanced governance controls, and full API documentation.
The project was delivered as part of the Department’s broader digital transformation strategy and can now be connected to upstream and downstream systems, allowing for reporting and ease of dissemination of information.
Because the delivered application was modelled, the Department now has an extensible application that can grow with their requirements. Business operations change so it’s crucial that the technology that supports them can change too. One of the inescapable truths mentioned above is that knowledge is always missing. We mitigated the risk by documenting and modelling at every stage.
It was important for TMR to find a services partner that has a process that meant they wouldn’t have to re-build again in 2 years time.
The Continuous Modernisation Playbook
This book looks at the strategies and tactics you can use to modernise your legacy system and move towards a mode of continuous modernisation.
‘Bots that Code’ is packed with strategies that helped Police NSW modernise 7 legacy applications.
Theory is great, but what’s the point if you can’t actually use it in practice.
This book doesn’t take you down the path of theoretical unknowns.
In fact, the strategies we discuss have been used by some of Australia’s largest organisations.
The Department of Defence, Police NSW and many others have implemented these strategies to modernise their legacy systems.
We answer the #1 question every CTO should be asking. How do you avoid the legacy trap?
Other Legacy Modernisation Case Studies
Department of Defence
The Department of Defence is one the largest Government agencies in Australia. WorkingMouse helped improve visibility across their procurement spending by consolidating a number of disparate systems into a centralised application.
Police New South Wales
The NSW Police Force is one of the largest police organisations in the English speaking world. To help the Police NSW on their digital transformation journey, WorkingMouse modernised some of their current legacy systems.
Technology insights Webinar:
‘Low-code: The good, the bad and the ugly’
Low-code has ignited the enterprise world on fire and attracted a lot of attention to Model-Driven Engineering (MDE). It has been able to empower citizen developers to build apps with minimal input from professional software developers.
While we enjoy the attention to MDE, it stops short of fulfilling the vision of how far MDE can go. Like driving a car around in 1st gear, there are ways we can shift gears and take the high road and elevate innovation even further.
This keynote looks at how low-code is only just the beginning and how other technologies have the power to unlock a door to future success.
Dr Eban Escott received his Doctorate from UQ (2013) in Model-Driven Engineering and his Masters from QUT (2004) in Artificial Intelligence. He is an advocate of using models as first class artefacts in software engineering and creating not just technologies, but methodologies that enhance the quality of life for software engineers.
Download the slides
- Model engineer audience rate low code 4.2 our of 5 as ‘Better than Sliced Bread’
- “Access to developers is a bigger threat to success than access to capital” Stripe Report, 2021
- Despite being a $13.8 Billion Segment (Garner, 2021) - Low code is only the first gear of unlocking success.
- Low code vendors are forced to obfuscate code level control by abstraction to satisfy the many.
- Meta-model rates as top option to gain control.
- Evolution of a Meta-Model bot and how it delivers and goes beyond the 1st gear of low code.
- Dev-Ops and Model Driven development.
Blog series: Cloud Migration
How the Use of Legacy Systems Impacts Your Customers’ Experience
By Alice Spies - 01 February 2022
Observations and Learnings From a Cloud Modernisation Scope
By David Burkett - 14 January 2022
How Can IT Teams Prepare For Workplace Modernisation?
By Shivam Arora - 07 January 2022
How to rescue your software application
By Josh Beatty - 21 August 2020
You may also be interested in our Way of Working: Principles of quality Software
The speciﬁc processes, collaboration patterns, practices, tools, and principles that we use to ensure our agile projects are delivered successfully.
Book an initial consult