3 Ways to Prevent Software Lock-In

Technology is in a constant state of flux, and the overwhelming number of choices make flexibility difficult. Here are some ideas for keeping your IT options open.

software-development-tools

Over the past year, the world has undergone many restrictions. Yet not all limitations involve stay-at-home orders and handwashing; for IT professionals, especially those charged with technology purchases, it can be equally challenging to get caught in software lock-in.

Lock-in occurs when the cost or effort of moving away from a particular choice, such as a platform or vendor, outweighs the business benefits of doing so. It’s easy to succumb to a lock-in situation, especially when business pressures or short-term considerations win out over long-term thinking. Organizational momentum, pricing concerns, groupthink or lack of vision can produce a particular direction that sets the software paradigm.

Eventually, priorities shift. Soon the enterprise decides to take advantage of a cheaper platform or more feature-rich software. Perhaps IT wants to divorce itself from a vendor that is not delivering. The pain of moving, however, is simply too great—and as a result, smart technology evolution comes to a halt. That is the state of being locked in.

Multiple Levels of Vulnerability

Software lock-in can manifest within the platform itself, as well as within the larger IT ecosystem. Cloud providers, for example, can create lock-in when a software is part of a larger stack owned by the provider. The solution in question may only run, or run optimally, on that stack.

Another case is when software is tailored for a single operating system. In some cases, different versions of an application are designed for different operating systems, with no crossover or other accommodation possible. For IT organizations wishing to change systems, however, the result is the same.

Platforms that utilize proprietary scripting and languages to deploy functionality can cause roadblocks if a change in platforms is needed in the future, as these skills essentially become throw-away skills. To be sure, nearly every software platform requires some degree of training depending on its complexity and changing from a heavily proprietary solution will result in an expensive retraining effort.

Finally, some applications try to do too much by attempting functionality that extends far beyond their original purposes. This can make it harder for IT departments to remove or replace existing solutions.

How to Fight Lock-In

With a few techniques in place, software lock-in can be minimized. Starting with the earliest stages of software adoption, here are three ways you can limit your exposure:

First, be educated. Be proactive about asking questions that will pinpoint potential lock-in situations in your architecture or application stack. Look for the trade-offs you will be making and recognize the impact of your purchase decision upfront.

Look for context. Consider the ramifications of future changes to your environment; i.e., if you move from an on-premises to cloud architecture, if you change cloud providers, if you move your computing workload to a different OS or if you change your database management system.

Maintain a healthy skepticism. The buying process is a great time to play devil’s advocate. Business conditions change constantly, and your company’s priorities may be significantly different just a few years down the road. Don’t be shy about evaluating the environment your infrastructure, and your people may be dealing with in the future.

What to Look For

Software that is designed to prevent lock-in will likely have identifiable traits. Portability is important—so a flexible solution will often be built with Java or a similar programming language that supports easy integration with adjoining software in your environment. It will also offer extensions that can be coded using familiar developer languages such as JavaScript, CSS or HTML.

Versatile solutions should run optimally on multiple operating systems as well as on-premises or on any cloud provider, to accommodate changing needs. Different classes of software will have different characteristics to prevent lock-in; for analytics software, look for products that run direct queries against organizational data at its source, live and without the need to ingest data first. Outputs should be non-proprietary and accessible by other analytics tools, and user access should be provided via a web browser interface, rather than through a proprietary desktop tool.

No software decision can be entirely futureproofed. Success in the tech world requires innovation; the sheer creativity of IT, combined with the unpredictability of business, makes some level of constraint inevitable. Yet, with awareness and foresight, such situations can be minimized. With a few rules in place, lock-ins can be avoided—and agility, the most important characteristic of IT excellence, can be affixed instead.