Of late, as Technology landscape is changing quite drastically and more frequently, it’s significant to identify the right question, how modern is my legacy app? Or how legacy is my modern app? As one thinks about it a new thought process gets created at the back of one’s mind or gives a call-back to an existing one which is trying to demarcate the legacy way of engineering Software to the modern way.
Technology is fast catching up with Hollywood themes and what seems like a modern way of engineering Software at this moment is becoming legacy in a much shorter time than before. When Technology is accelerating at this pace, it seems logical to find answers to significant questions – how modern is my legacy app? And, how legacy is my modern app? – as we enter the new world wherein every “thing” will be connected to the Internet, yes, the world of IoT, the world where Artificial Intelligence powered “Agents” trying to hijack the human’s mundane activities as personal assistants, and, as personal assistants for the Enterprises (may be Cortana for Business or Siri for Business, being just the basic Software layer) which in turn could be the beginning of the Dawn of the planet of Machines in reality. Though all this sounds cool and more realistic than before, it sends chill down my spine sometimes as I try to extrapolate various such aspects to take a peek into the future – the only question that needs to be answered here is, now how far that future is?
Alright, getting back to the original point, it goes unsaid that just because an existing App/Product does not use the cutting-edge Technologies does not make it Legacy. Then how do we define Legacy or Modern-ness of an App?
Consider the below scenarios:
The App/Product in question serves the business goals including its UX/UI and it is built on Modern Technologies if not the cutting-edge ones – the LoB stakeholders are quite happy. As a CIO/Product Stakeholder, leveraging the cutting-edge technologies like machine learning and its related scenarios, live analytics, predictive analytics etc. such that those insights could assist the CIO Offices or Product Stakeholders make better decisions complying with the new business agility scenarios, which would in turn help creating a better Enterprise and/or Product Strategies that directly optimize the RoI as the App/Product embraces the cutting edge Technologies and methodologies.
In this case, the App/Product may not get legacy if not migrated (or refactored) but the Enterprise would have missed out an opportunity to make proactive and smart decisions to run the business effectively.
So here the real question to ask is, how legacy is my Modern App? This would drive the overall migration strategy and the needed plan of action.
The App/Product serves the current Business goals and is built on moderately new technologies but needs refactoring from the overall Architecture and Design to accommodate the new Enterprise Strategy.
In this case, the App/Product might get Legacy if not re-architected and hence, in its current state, in the light of the new Business strategy, the App/Product could be termed Legacy.
So the right question to ask here seems like how modern my legacy app is? This would drive the overall migration strategy and the needed plan of action.
The App/Product does not or moderately serves the Business goals and the overall Enterprise Strategy. In this case, the App/Product has become Legacy for some time now and needs to be re-written from scratch leveraging modern or cutting-edge Technologies, which in turn would optimize RoI, with time. As of today, the business is at revenue loss.
In this case, both the questions – how legacy my modern app is? And how modern my legacy app is? – are in valid. There is nothing modern about the App (irrespective of the Technologies it is using) and a rewrite or re-imagination is probably the only option.
It is worth to note that in all the above scenarios, what has driven the decision of the degree-of-Legacy-ness or modern-ness of an App/Product is the Enterprise Strategy that has direct impact on the overall bottom line, and not the new Technologies or the cool-ness associated. This essentially drives the questions, how legacy my modern app is, and, how modern my legacy App is?
Also the Enterprise Strategies seem to have been heavily influenced by both Cloud computing and Consumerization of IT (which comes with its own set of challenges), and the CIO offices or Product stakeholders are not waiting longer to modify the Strategies and ride this new wave of “opportunity” that’s supposed to propel the Products or Enterprises into the world of XXXXXXX 2.0, 3.0 or whichever version it is being termed as.
In any case, identifying the right migration or a re-imagination strategy for the App/Product as per the above mentioned scenarios is the key to move forward. In my next post we take a closer look at those aspects.