A Systematic Approach to Choosing the Best Technology/Vendor

The Ultimate Tech Shopping Spree

Eyal Trabelsi
Bigabid’s Brain

--

Developers today have high expectations from the technologies they use, seeking amazing features, speed, reliability, and affordability. While there’s no such thing as perfect technology, there is one that’s the best fit for a particular purpose.

However, choosing the right technology and vendor can be daunting, given the plethora of options available. An incorrect choice can adversely impact delivery times, satisfaction levels, hiring, and capabilities to some extent.

In this blog, we will explore some essential factors to consider when picking the right technology and vendor, using a simple recipe to help you make an informed decision.

Simple Recipe

To simplify the process of choosing the right vendor/technology, I propose a straightforward recipe:

  1. Start by mapping your needs, resources, and constraints.
  2. Search for potential solutions and eliminate any that don’t meet your requirements.
  3. Evaluate the remaining promising solutions.
  4. Make a decision — to go or not to go?

It’s important to structure the process of choosing the right vendor/technology. you can reap significant benefits without investing an excessive amount of time and it doesn’t have to suck.

It is important to carefully consider the amount of time you dedicate to the process of selecting the right vendor or technology, and this should depend on how critical the project is to your business. Ultimately, the key is to strike a balance between the time invested and the importance of the project, so that you can make a well-informed decision that will support the success of your business.

In the next section, we will drill down to map your needs, resource, and constraints.

Step 1: Map your needs, resources, and constraints

The first step in choosing the right technology or vendor is to map out your needs, resources, and constraints.

Keep in mind that your specific context will ultimately determine the best solution, so it’s critical to define your current and near-future needs and the resources you’re willing to invest.

  • Needs — Define your business and technical requirements for the technology or vendor 🍽️.
  • Resources — There are a lot of resources you should consider including:
    - Time to value and maintenance 🕰️.
    - Team expertise and size 🧑‍🤝‍🧑.
    - Total ownership cost and the cost of mistake 💰.
  • Constraints — There are a lot of resources you should consider including:
    - Integrations 🤝.
    - Scalability and performance📈.
    - Cloud/On-prem ☁️.
    - Compliance & licenses 📜.
    - SLAs 📌.
    - Ownership 👨‍💼.

# Pro Tip 🏅There is no perfect solution. The context will dictate the solution that fits best.

# Warning ⚠️ Boring or not, Don’t skip this part.

In the next section, we will drill down to searching for potential solutions.

Step 2: Search for potential solutions

The second step in the process of selecting the right vendor/technology is to search for potential solutions. However, before embarking on this search, it’s essential to familiarize yourself with technical terms and buzzwords to ensure that you can effectively evaluate potential options. Once you have this foundational knowledge, you can begin researching potential technologies and vendors.

To avoid being overwhelmed by too many options, it’s important to narrow down your search scope:

  1. Considering whether you want to buy or build: 💰 vs 🛠️
  1. Considering whether you want to all-in-one or best-of-breed: 🧰 vs ⚒️

In order to further refine our options, we aim to narrow down our choices. To achieve this, we will utilize the list of constraints provided earlier.

# Pro Tip 🏅Use the strictest constraints, to filter out most options effectively.

# Pro Tip 🏅 Have some Israeli hozpa, which involves asking people for their opinions on the technologies they use. This approach can provide valuable insights into the real-world effectiveness of different solutions and help you filter out options that are unlikely to meet your needs.

In the next section, we will drill down to the last step, making the decision.

Step 3: Evaluate the remaining promising solutions.

To evaluate the remaining promising solutions, there are a number of steps you should take.

  • Start by speaking with the vendor or users: 🗣️ This will help you gain a deeper understanding of the solution’s capabilities and limitations.
  • Do some “Hello World” tutorials:💻 This will help you get a sense of how the solution works in practice.
  • Do more through POCs if needed:💡 This will help you to evaluate the solutions’ viability, feasibility, and usability to determine their potential for success.
  • Asses the interaction with the vendor/technology: 🌐 This can include interactions like releases, support, community, pricing, and so on.

# Warning ⚠️ Don’t be swayed by buzzwords, jargon, or big names — even if Google uses a solution it might be for a very nuanced use case, or as a POC.

Step 4: Making the Decision — To Go or Not to Go

To make a decision about whether or not to go, create a comparison table of the potential options. Take into account your requirements, constraints, and the results from any POCs. Additionally, keep your future goals in mind and prioritize flexibility in your decision-making process.

# Pro Tip 🏅 There is no perfect solution.

# Warning ⚠️ Estimate the cost of a mistake. Remember that it’s often easier to onboard a solution than to offboard one.

It’s important to maintain a professional demeanor and avoid getting caught up in politics or letting your ego drive your decisions. Politics can be frustrating and unproductive, and excessive ego can lead to poor decision-making. Additionally, it’s important to be aware of human bias and take steps to counteract it.

In the next section, we will list some human biases we should avoid.

Prepare for human bias

Prepare for human bias in technology and vendor selection by being aware of the following biases:

  • “Not Invented Here” syndrome: 🚫 The tendency to reject external solutions in favor of building an internal solution. This bias can stem from a desire for control, fear of change, or a belief that the internal team can do it better. However, it can lead to wasted time and resources and may result in a less optimal solution.
  • Bandwagon Effect (popularity): 📈 The tendency to choose a technology or vendor simply because it is popular or widely used. This bias can be driven by a belief that the popular solution must be the best. However, just because a technology is popular does not necessarily mean it is the best fit for your needs.
  • Complexity Bias: 🧩 The tendency to prefer complex solutions over simple ones, often due to the belief that more complexity equals more capability or innovation. However, complexity can lead to higher costs, long implementation times, and greater potential for failure. It is important to carefully consider whether the added complexity is truly necessary for your specific needs.
  • Novelty Bias: 🆕 The tendency to favor new and trendy technologies over established ones, often due to the belief that newer is better. However, newer technologies may have more bugs, fewer resources available for support, and may not have been widely tested in real-world scenarios. It is important to weigh the potential benefits of a new technology against the risks and uncertainties.

Last words

In this article, we’ve provided a recipe for selecting the right technology or vendor for your business. By carefully mapping out your needs, resources, and constraints, and exploring potential solutions, you can make an informed decision that aligns with your goals. It’s important to keep in mind that there may not be a perfect solution, but rather a solution that fits your specific context and needs. Focus on finding the fittest solution for your organization, and you can make the selection process less daunting.

I hope I was able to share my enthusiasm for this fascinating topic and that you find it useful. You’re more than welcome to drop me a line via email or LinkedIn.

--

--

Eyal Trabelsi
Bigabid’s Brain

Data architect at bigabid with a passion for performance, scale, python, machine learning and making software easier to use.