Enterprise Software selection

09.30.19 03:57 PM By Juan Peredo

 Common mistakes that lead to bad choices

As business needs change, applications grow stale and new software capabilities come about, it is common to replace an existing systems. The search for a new, hopefully more advanced, alternative begins. Committees are formed, user feedback is solicited and a request for proposal is drawn out. A few weeks later vendors are lined up out the door, eager to present their latest and greatest application.


Unfortunately the process sometimes results in slow and painful implementations, not to mention millions lost in applications that barely work. So, given the time and resources invested, what derails this process?


While companies typically do a good job determining business needs for a new software, there are three factor categories that are commonly missed or downplayed during the selection process but that are crucial for ongoing success of an application. The first category is not accounting for the flexibility of the application and how it will grow over time to continue to deliver value to the business. The second category is basing decisions on previous experience instead of relying on data. While experience is important when performing repetitive tasks, it is less accurate when transforming a process or adopting new technology. Finally, the third factor is harder to detect because it is about the assumptions we make while making decisions. Assumptions can lead us to discard viable opportunities without even realizing it. In the next few pages, we will review these categories to explore how they can lead the selection process astray


Growth and adaptability

but first coffee image

Identifying the company's needs in terms of software capabilities is important, but it is crucial to prioritize them properly. Companies tend to exclusively focus on business features needed to solve business issues. However, in the world of digital speed and ever changing customer preference, ignoring or downplaying the software adaptability leads to applications that hamper new business opportunities instead of enhancing them. Below is the list of the top 5 priorities when evaluating an application's ability to grow and enhance the business:

  • Peak time performance: The ability to handle a large number of concurrent users in peak seasons. Can you imagine a retailer's software that shuts down on Black Friday ?

  • Scalability: Can the application easily scale to handle more users? In the age of Microservices and cheap commodity hardware, applications should automatically scale to meet increasing demand.

  • Upgradability: Upgrading applications used to require months of planning and execution. Nowadays, upgrades should be frequent non-events that push out new features faster than ever before.

  • Modularity: Applications that can only be upgraded by replacing the whole code base entail risky and costly endeavours on every upgrade, no matter how small is the change to the code. Applications designed as small, independent pieces can deliver business value quickly and with minimum risk.

  • Feature delivery: Wether buying or creating software, the team building the software needs to deliver new features at the rate needed by the business. Therefore, priority should be given to teams that rely on modularity, automated testing and embrace continuous integration and delivery (CI/CD)

An astute reader could point out that, it is ok to pick a solution does not meet the above requirements as long as the vendor is working on fixing the short comings. However, it is important that needed improvements are documented in writing with the corresponding schedule, legal provisions and consequences for delivery. After all, talk is cheap and not legally binding.

Previous experiences

Using previous experience instead of data to make decisions could skew the process in the wrong direction.

  • Previous relationships: Selecting an application because a relationship already exists with a vendor. While relationships are important, they are not a substitute for a thorough review of the software performance and capabilities.

  • Previous application: Assuming an application will work because we already use other applications from the same vendor. People usually assume:

    • Ease of integration: Assumption that apps can easily be integrated if they come from the same vendor. While this may be true in a few cases, reality is that :

      • Companies customize enterprise software, so integration is not longer out of the box

      • Applications are built by different vendor teams. Also, vendors could just buy an app and rebrand it. As such, one should verify that applications compatibility before signing the contract

    • Better support: Assuming the same level of support will extend to a new app. However:

      • The support teams for different applications are usually different and so is their level of familiarity with each tool. Assuming the same support level from both teams is aspirational.

      • No amount of support can substitute poor/missing features.

    • Previous success: The fact that a vendor's application successfully solved issues in the past has unfortunately no correlation to the ability of a different offering solving a new set of issues.

Assumptions

Using assumptions instead of the necessary data can lead to interesting decisions:

  • No test drive: While 90% of the population would not buy a house sight unseen, many companies wait until after the process is complete and the contract is signed before test driving the app.

  • Vendor size/name: Assuming vendor size/name correlates to how well the app will solve the company's issues. In the current digital age, most innovative solutions come from small, flexible companies. Ignoring this trend may cause the company to miss on potential advantages over the competition.

  • Feature overload: While it is important to evaluate a software based on the features it offers, it is even more important that the software has the right features. It is easy to get swayed by a large feature set, but keep in mind features are only good if they add value

Open source: Ignoring solutions built (or contains) on open source software. This strategy results in lost opportunities given that nowadays:

  • All tech giants include open source software in their product portfolios and contribute to open source projects

  • Most proprietary software contain open source libraries under the covers.

  • Open source is at the core of big data infrastructure.

  • All major AI and Machine learning software is open source or is built using open source libraries

  • Open source software is as secure as proprietary code. Just as with proprietary code, there are some more secure than others. (Google 'Microsoft Windows vulnerability' for an eye opening experience)

Bottom line

As technology continues to speed up our regular, every day lives, it also requires businesses to adapt ever more quickly. Evaluating enterprise software is no longer just about business requirements, but also about speed, reliability and upgradability. The software selection must also evolve to pick applications that can move and adapt quickly to enhance business opportunities, not hamper them. Being aware of the potential pitfalls of software selection is the first step in the path to implementing quality, forward looking applications

Juan Peredo