Anecdotal evidence from surveys suggests a steep rise in the number of software development migration projects in 2015; is this a new trend in development? Migration projects typically make good financial sense for companies that have already invested in proven application software and the stores of data they provide. This is true even if there are many different applications with independent databases, thanks to a new generation of big data business intelligence tools that can access multiple independent databases simultaneously, synchronize and enable the comparison to other data sets, thus providing big data insights. These tools give new life to old systems which might otherwise need to be replaced. Although data tools can help, they are there only to assist with the migration project development for which there is no quick fix.
A New Trend in Development: What is the Purpose of Migration Projects?
Typically the purpose of migration projects is to create new applications and technology to leverage existing stores of data from legacy systems, a low-cost alternative to replacing them. In addition, both automated code conversion tools and web based test automation tools greatly reduce the effort of development.
From a business management perspective the decision to retain legacy systems provides an additional question, as whether to rewrite old legacy applications to get the new required features or by migrating to new technology (a layer of new technology laying upon old legacy systems). This question has become increasingly straight forward, determined by a simple set of questions the result of which are increasingly pointing towards migration as the way forward.
- What is the ROI of the application once live?
- Is the original code overly complex or just ugly? The former would mean that the code would certainly benefit from a rewrite, the latter would have convertible business logic and thus would better suit conversion option, to a new application (migration).
- What is the project Time frame? How long until the system is operational? Time equals money. Rewrites typically take much longer but reduce the code maintenance cost. When will the infrastructure require replacement / upgrading? If the lifespan of existing infrastructure is limited it might be time to migrate.
- Does the existing code work? If it isn’t broke don’t fix it. If the code works then there is no reason to rewrite it, under this scenario a new application for migration is the way to go.
- What is the code really for? When it comes down to the business purpose, in many cases developers may not understand what the code is for. A business analyst must be involved in deciding the business application requirements.
- Is there a commercial of the shelf solution that would replace the functionality of the old code?
There are far more potential disadvantages than advantages to rewriting old code, the rewrite might provide a better design and data visualization, potentially being more efficient; however a rewrite takes significantly more time and effort and consequently is far more costly. Migration of code via an automated conversion tool only converts the old functionality and logic however additional functionally can be added thereafter, requiring far less effort than rewriting old code.
Whatever your decision on the path to take, codeBeamer ALM is essential for businesses with long term application development plans, tracking changes in code transparently and providing a method of collaboration for all concerned with the application under development.
See how to integrate codeBeamer ALM in your Development Environment.