Software migration is no easy feat, even for those most experienced in cloud migration services or legacy migration. Technology is in a time of transition - we are seeing a rush of enterprise software moving to a cloud computing environment. A lot of established businesses have been able to â€˜get away' with using legacy systems that are based on old, outdated software and hardware setups. But no more.
For software vendors, the prize is to offer their products in the cloud, i.e. as on-demand subscription model like Software-as-a-Service (SaaS). By having a SaaS offering a business is in position to take advantage of the demand for businesses looking to consume cloud-based software. So, I have previously presented a technical migration path, but we also need to consider the equally challenging aspects of organisational change.
"If you can't describe what you are doing as a process, you don't know what you're doing." W. Edwards Deming
There are ways to make your software migration process as painless as possible. As long as you keep a few simple things in mind throughout the process - and exercise some patience! - the hard part of your software migration journey will be over before you know it, and you can start on the fun parts of making your new software better and better with every iteration.
1. Don't wait, educate
First and foremost you need to get user buy-in. Take the first opportunity possible to get your employees and clients ready for your new system. It's really important to have everyone on board with the process and to give plenty of notice, so as to cause as little disruption as possible.
2. Don't think you'll get it in one go
If you don't break the project down into iterations or sprints, you will be sorely disappointed. Don't go for an entire system rewrite in one go. More to the point, you won't be able to rewrite your system in one go! An iterative process allows you to identify issues as you go and maintain flexibility in resolving problems. I usually recommend iterations that are purely dedicated to gaining feedback from users before further changes to the software.
3. Don't frustrate the user
Users expect a world class experience. Half of this battle is simply not to annoy them and lower as many barriers as possible. Losing data is a sure fire way to frustrate users, like in the case of the iPhone 6S. The concern that a transfer to a new cloud computing environment will somehow â€˜wipe' the system is a myth. There are effective cloud systems out there that will take your old data and make it work within the new environment.
4. Don't underestimate domain analysis
It's easy to fall into the trap of thinking that since you built the software previously - most likely as a system installed locally on a computer - that you have an understanding of the domain and its a simple process of transferring your knowledge. The reality is that it's not that simple. The new cloud offering will have many opportunities to reinvent your user experience and take your software to the next level. There needs to be dedicated domain analysis, users and experts on the project. They can also double as advocates of the new software and gain user buy-in.
In summary, any change management process is going to have its challenges. Planning, thinking about the problem and considering how it will pragmatically rollout is important to a successful project. Engaging users and stakeholders early can significantly reduce the risk of a software migration process. Like our mascot trying to get the cheese out of the trap, you need to be prepared (with helmets and padding) and have the right tools (a toothpick to ensure a safe distance) - then you will not get caught in the trap!
If you are not sure of the tools available to you, check out our legacy migration resource hub!