Despite all the number crunching that’s involved in planning the development of new app, the actual roadmap – in terms of hours and resources involved – is rather unpredictable. With numerous variables, such as maintenance and integration of legacy applications, sourcing talent, addressing issues in legacy and new apps, and the evolving sentiments of employees and customers, it can be hard to provide value to all the stakeholders involved and run a profitable business at the same time. Clearly, businesses that are agile – whether in sourcing resources on-demand or addressing customer issues – get ahead and stay ahead of their competition. However, this is easier said than done. Raise your hand if any of the following scenarios seem familiar:
First: You are forced to maintain legacy versions of Apps while customers migrate over
You have developed a new version of your app from the ground up, excitedly announced the release, and are all set to help your customers migrate over. However, they are taking their own sweet time. You had envisioned weeks, maybe months, but now it has been years, and the migration is still in progress.
You are stuck maintaining the legacy application because you obviously cannot abandon your customers. You understand that they have their own constraints and are committed to providing them with value irrespective of the version of the app they are using. However, this involves maintenance of the older app for which you must retain resources.
The challenge becomes bigger as your team members lose interest working with the older version. Most of them have migrated over to the newer platform. Some have left. Those that are remaining, are dissatisfied. You are finding it increasingly difficult to find resources to maintain a dying product.
Second: You are torn between ‘hardening’ your new release and working on your next idea
It hasn’t been long since you released your latest product and you are already toying with the idea of developing the next. However, the only challenge is that you will have to move your developers to the new project even while the latest release is ‘hardening’.
It is a difficult choice. Should you move your team to work on the next idea with no dedicated resources allocated to address newly emerging issues in the new product? Or should you wait for your new product to optimize over months or years before moving on to the next idea? In the former, you risk damaging your reputation. In the latter, you risk losing an idea to the competition, or the idea itself becoming irrelevant over the course of time. Irrespective of the choice you make your business suffers one way or the other.
Third: You are unable to get developers excited about data transformation maintenance
Working with consuming customer or vendor data that frequently changes or has inconsistencies require constant data / schema mapping during and post implementation. This requires some technical capabilities but isn’t exactly a fulfilling role for many developers. Moreover, this isn’t really about a new app or legacy app – generally this is ALWAYS an ongoing need. For instance, a new vendor may share data in a new format. Or something may break with certain data sets. The mapping of that new data isn’t really all that difficult, but the needs for it can often fluctuate. It’s hard to scale up quickly and get a contractor or get an existing employee to do these tasks.
A 2016 McKinsey report reiterates this point: “Most companies face a big talent gap when it comes to data management. There is typically limited expertise within IT and business groups about newer data-migration technologies, capabilities, and architectures, as well as approaches to data delivery. And the relevant subject-matter experts, who could help define best practices in data migration and transformation, tend to be as siloed as the data flows they oversee.”