And kudos to the business leaders behind these apps, who recognize the importance of having a digital strategy. Giving your users another channel (or channels) through which to engage with your product or service just makes sense.
What doesn’t make sense, though, is developing an app without first taking into consideration your legacy IT systems…the technology your business already has in place that may need to integrate with your new software, so that everything works together efficiently and effectively (vs. creating a new layer of work in the form of “work arounds”).
Unfortunately, at Worry Free Labs, we see a lot of this. Businesses that put their digital efforts on the fast track without simultaneously considering their legacy IT systems. They come to us only after they realize their shiny new application is great in theory, but failing to deliver the value they’d anticipated.
In terms of legacy IT, what should you be considering (or doing) as you build your next app? Here are a few things.
- Create a comprehensive list of all legacy software and processes. Then, determine which ones:
- Integrate with your new app “as is”
- Require rethinking and/or rewriting
- Need to be scrapped (with a plan in place to address gaps)
- Carefully consider security. Adding a new app means creating new interfaces and connections into critical user data. This also means there are more vectors for bad guys to attack. If you are in healthcare, this is especially critical. You need to architect the overall system in a way that is HIPAA-compliant and protects you from liability. However, the same level of precaution and countermeasures should be taken for financial and education industries.
- Consider implementing a microservices-based architecture. This can speed time-to-market for new features, but it may come at a price. (You don’t want your architecture to be so monolithic that your release management team has to update the entire system just to push a few new features in your apps.)
- Respect the axiom of Conservation of Complexity. Microservices may reduce complexity in some areas of the architecture, e.g. allowing for apps to be updated on a more aggressive cycle independent of your legacy systems. However, that complexity will pop up somewhere else – usually, in the case of microservices, in the release management process. If you implement microservices, make sure you are prepared to recruit and support a talented, dedicated release management team.
To learn more about this blog topic or to chat with one of our experts in mobile strategy, design, development, and management, Contact Us. (And don’t forget to follow us on LinkedIn for more great content!)