- Pranjal Mittal
As a software engineer having worked at Intel, and an early engineer at GoodRx and then a software development engineer at Amazon, there is one problem that I’ve consistently dealt with personally and have seen teams deal with, over and over again and that is how do we find and utilize the best software for solving our problems?
During the due-diligence process an individual or a team selecting a software has to understand the pros and cons of different options, consult with different departments within their organization, maybe hold review meetings in the cases where there is a large contract to be signed.
There are websites that have emerged today that give information about various software tools, and also allow users to see software reviews. However, picking software today solely on the basis of reviews is not the ideal way of picking software. That is because what works for an organization with a specific use case and a given tech stack may not necessarily work for your use case and your tech stack. Each software stack varies, and today, with the accelerated migration of software to the cloud, it is becoming increasingly common to see stacks deploy multiple underlying micro-services and depend on an increasing number of SaaS tools. Given this, today, one has to understand how to effectively integrate a piece of software into their stack amongst many other things. So to summarize, here are the key questions any business deciding to use a software should ask:
Does this software solve the problem(s) that I’m looking to solve?
You may be wanting to do email marketing as well as you want a software that allows you to create a landing page to capture leads before a launch. In this case it’s better to pick software that does both to reduce the number of tools in your stack and keep things simple.
Does this software have pre-built libraries around it that would assist in the integration and make it easier for us to adopt it in our technology stack?
Your Technology stack could be using GoLang for example. In which case, if you are adopting a new software then you may want to check for the existence of GoLang libraries around it.
Does this software require any manual integration effort in addition to existing integration tools and plugins and what is the level of effort?
More often than not software tools require manual integration to make them gel well with your technology stack and make sure data is flowing into and out of the software for it to be usable. For example, Datadog is a great Application Performance Monitoring software that could help you uncover performance bottlenecks in your application, however, it’s not plug and play. There are integrations to be performed to effectively utilize APM within your stack. In some cases these integrations can take a few days vs in other cases such integrations may take several months.
Does this software have good documentation and support available?
Using software sometimes requires integration and performing integrations effectively requires good documentation. A good documentation can reduce an integration effort from months to days and makes a big difference.
Does this software solve other problems that we may be looking to solve in the future?
Deciding to use a piece of software just for what it does today is not a good long-term strategy. Given that software integration is usually a costly effort. One must devise a long-term strategy and understand whether the software in question really meets the needs of today and tomorrow for the organization.
If it is a SaaS offering that you are considering, then does the pricing model fit our budget today and in the future as we grow the number of customers?
In cases where the software you are utilizing is offered as a SaaS (Software as a Service), you may need to think whether the pricing model makes sense for you today as well as in the future as you scale. For example: If your use case involves rapidly adding live agents for customer support, a customer support SaaS that charges by the number of agents may turn out to be an expensive contract.
If it’s an open source software, then is it’s open source license suitable for our needs?
Sometimes open source licenses prevent modifying a piece of software to offer it as a proprietary software or service. GNU GPL licensed software is such an example. A large organization, utilizing any open source software must consult with their legal teams on whether an open source software tool makes sense for their use case or not. Open source has transformed the products and software stacks we see today. In many cases adopting open source software can result in big time and cost savings and does make sense. In some cases using open source software may add operational overhead such as managing deployments and updates which may distract an engineering organization from its primary objectives. A decision must be made on a case-by-case basis also factoring in the quality of the open source software.
About the Author: Pranjal Mittal is the Founder of TaggedWeb.com, he is a former Intel, GoodRx and ex-Amazon Software Engineer and did his Masters in Computer Science at Oregon State University and Bachelors at Indian Institute of Technology, B.H.U. Varanasi. At TaggedWeb, our mission is to help you find and utilize the best-fit software for your needs.
Visit TaggedWeb Software Search to find useful software and TaggedWeb Solutions Search to find useful solutions such as software integrations, consultations, usage support and more. If you are a Software Sales Manager, you may be able to submit your software or SaaS servives for a free listing on TaggedWeb.com (given the software/service meets a minimum quality bar). Visit TaggedWeb.com -> List your Software.