6 Tips for a Successful Migration Program
03
MAY, 2017
For large enterprises undertaking a migration program, it can be a costly and challenging exercise. With no guarantees that you will arrive at a better end state compared to where you started. Whether it is uplifting legacy technology assets or planning data centre migrations to private or public cloud (or a hybrid) – Here are 6 tips to help plan a successful migration.
1. Start with the problem
Too often IT is guilty of coming up with a solution or technology under pressure of what is in vogue or what their peers are doing in the market. If your IT department is aligned to the business needs, then naturally the technology can be designed to better effectively support the business goals rather than the other way around. The goals maybe to better control costs, to support business growth (or downsizing), or to allow your enterprise applications to be accessible by authorised users, securely and anywhere.
2. Virtualise
If you are late to the party and/or still running legacy on bare metal, you will be limited on your options for migration and reduce orchestration and automation opportunities in this Dev/Ops driven world. Migrating from legacy can be a challenge (although most cloud providers offer Mainframe emulators), but is can be overcome by splitting the client piece (front end that your users interact with) and the back end (which is maybe harder to move or virtualise).
3. Where are we now?
It may seem crazy, but most medium to large organisations struggle to understand exactly what their IT environment currently looks like. Pick a server at random and ask the SME what team/project is using that and why and you may get a blank stare. Knowledge is often maintained in spreadsheets and emails and often only true as of a point in time. Effective planning of your migration requires a deep appreciation of your current IT fabric & the underlying relationships. How does an individual DB server relate to a business process and what is the impact of change on this server to the wider business and who are the stakeholders? Does this business process traverse multiple interdependent systems? Understanding your current IT fabric is a foundation for a successful migration program.
4. Where are we going?
Armed with knowledge of where you currently are, you can begin to plan a future state based on your business goals. This may lead to an end state of hybrid public and private cloud. With the vision in place you can now start to slice the migration into sprints of activity. One strategy is to focus on lower environments one at a time, i.e. look at your lower environment for a system ‘System x DEV Instance’. Decide whether this is a ‘lift and shift’ (if possible) or a ‘build new and decommission old’. A migration program is a great opportunity to identify and permanently decommission unused/idle systems and start reducing your future OPEX.
5. Orchestrate and Automate
Each critical manual step to decommission and spin up a new server should be a target for automation. Each of these sprints of activity will feed lessons learned and areas for automation to be included in the next sprint. The theory being that once you get to migrating the critical production instance, you have a tried and tested repeatable set of steps which are automated to minimize human error. These scripts can then be reused as a part of your auto scaling strategy to build resources when there is increased demand.
6. Align technology costs with the business
A migration is a great opportunity to start fresh and begin understanding exactly who is using what and understanding the associated cost with providing the service. This does not necessarily mean introducing a clunky charge back model, but there is tremendous power in presenting dollar figures to the business team for the cost of providing the IT service. Most reasonable business units will not object to paying for the things they use, after all, if you have gotten the first point correct and aligned IT to the business need, then more IT cost will equate to the business doing well. On the flip side, the business will be quite vocal in ensuring that they are not paying for the things they do not use. e.g. If there is an end to end environment sitting idle for 90% of the time, then let’s make sure it is only active for the 10% of the time. This helps minimise waste improving the value as well as acting as a permanent sanity check on whether IT is aligned to the business.
More information on leveraging ‘EcoSystem Migration Center’ to plan, model and execute a migration program can be found here. If you would like to talk to one of our solution consultants to discuss in more detail, please reach out to us on our contact page.
Relevant Articles
What is Data Driven Testing? An Introductory Guide
Compared to about 100 years ago when I was a junior test engineer, software testing has evolved far beyond running a handful of manual test cases. As systems grow more complex, testers and developers need approaches that ensure coverage, accuracy, and...
What is a Software Release? A Comprehensive Explanation
More than ever, delivering high-quality software efficiently is crucial for businesses. One term that frequently comes up in this context is "software release." But what exactly is a software release, and why is it so important? Defining Software Release A software...
Lower vs Upper Environments Explained and Compared
In the dynamic world of software development, where speed, precision, and quality are non-negotiable, the effective management of IT and test environments is the linchpin that determines the success of projects. Environments serve as the critical stages where...
Deployment Strategies: 7 to Consider and How to Choose
It’s common to hear people referring to their deployment strategy as “DevOps,” but that’s not quite accurate. DevOps is a philosophy and culture, while deployment strategies are more narrowly focused on the actual steps used to deploy software. A deployment strategy...
A Detailed Guide to Test Data in Auditing
Test data plays an important role in the world of auditing, yet it is not always well understood. There’s nuance here that’s important to understand. When auditors need to assess whether financial systems, applications, or controls are working as intended,...
Using Production Data for Software Testing
In the world of software development, testing is an essential process that ensures the quality and reliability of a product before it is released to the public. However, traditional testing methods often rely on artificial or simulated data, which can lead to...