One of the challenges of software solutions is that, sooner or later, you end up migrating and upgrading systems. The two activities may seem separate, but often, you must do both. A good solution provides an easy path, whether to a new version of the solution or one created by another vendor. However, there are often some expectations on the part of the customer for smooth upgrades. That includes limited customizations and timely updates. It is unrealistic to expect a vendor to build a product you can easily migrate off of ten or more years in the future. Technology changes too quickly.
Migrating And Upgrading Systems Are The Same
The difference between a migration and an upgrade is in expectations more than reality. An upgrade almost always requires some amount of migration. That is due to modern systems working with and storing so much data. A smooth upgrade will provide a migration path that is invisible to the administrators and users. Unfortunately, that is often challenging to accomplish. At times, new features and even performance improvements or tuning can require substantial architectural changes.
Your phone applications and the simpler forms of desktop applications tend to stick with solving less complex problems. That allows for a less complicated solution and easier upgrades. On the other hand, Software As A Service (SAAS) solutions are often very complex, and even the abstracted SAAS approach can require a migration or upgrade that impacts users. In particular, you will run into this when the solution integrates with other systems or allows for imports and exports of data.
Architecture Is Critical
One way that software is like a building is that the foundation is an essential part of how it handles the passage of time. Software architecture gives us a foundation we can assess to help determine how easy (or difficult) migrating and upgrading will be. It is a facet that often requires a highly technical eye to evaluate it. On the other hand, some intelligent questions can often quickly unearth architectural weaknesses. Think of them as ways to take it for a test drive. The bonus for us is that the requirements we want from an assessment are also a way to examine an upgrade.
Questions To Answer For Your Solution
The following list provides some questions to ask about a solution you are considering and the ones you need to answer for a successful migration or upgrade.
- How do we back up our data and settings for the system?
- Can users and their environments be transferred/maintained?
- What integrations will require an update or reset? (Do I need to find that old user ID and password?)
- How are the users handled during a migration? (Training? Online Help?)
- Can a migration be done in steps or all at once?
- Can the migration be done in parallel with the old system?
- What happens to historical/past transaction data?
- How hard or easy is it to “swap out” the platform? (Operating System, Database, Core Frameworks)
These questions are an essential part of planning for any form of migration or upgrade. Thus, they are also an excellent way to assess a product before performing one of those actions. It is hard to think about future upgrades during the selection process. However, that is the best time to educate yourself on the effort you will need when that day comes.
If the questions above have you stumped, then now is the time for you to get answers. Migrating and upgrading systems is one of those tasks where you are better off forewarned than finding out amid the activity where the risks are. You can avoid critical issues with some planning and adjustments. If nothing else, you can plan for the worst and minimize the costs and risks of a troublesome upgrade.
About RB Consulting
Please schedule a time to discuss your next project with us and see if we are your perfect partner. We take these relationships seriously and are happy to point you in the right direction if we are not a good fit. Years of being on both sides of these relationships have taught us a lot. That initial call is free, and there are no obligations. You have nothing to lose.
Our experience has taught us a lot about the pitfalls and challenges of custom software. Likewise, we have an e-book that can help you explore all the steps in building software, including a few templates. However, we ask that you share an e-mail address so we can send you a copy. We will add you to our monthly newsletter, but you can unsubscribe anytime. Your data is not shared with anyone else. Learn more about our book here.