What software should I use?: Making digital decisions with incomplete information

Innovative technologies drive the world, and the question of what software tool to use to provide digital services and products is becoming more complex than ever. A technology or multiple technologies can be built, packaged, and used as a tool, which can be defined as “a device or implement…used to carry out a particular function.” However, what cripples our decision-making abilities is the sheer number of software options available on the market.

The internet has decentralized the ability to provide value, so a one-person start-up can build a solution that fills a significant gap and becomes hugely popular. We no longer wait only on large corporate behemoths to produce tools with bigger Research & Development funding. Instead, the number of “implements used to carry out a particular function” is rising rapidly, which is enabling entrepreneurs to build solutions and go-to-market faster.

Certainly, a dabble of both ingenuity and luck would help us with our digital quandary. What principles can we learn from today’s modern world, with an overabundance of choice?

Software tools are now marketed and sold for a particular function. Our prehistoric ancestors never stared wide-eyed at rows of neatly ordered and different colored stones, lit up by bright neon lights blinking: “3 hunting tools you can’t live without!”

More choices means more anxiety, and less likelihood to choose the best tool for the job. Once many tools leveraging “X-factors” saturate the market, we lose certainty in the metrics that we rely upon to indicate which option “feels” right, such as if we recognize its name or if we read a particular article a few minutes ago. Instead, we become paralyzed.

So, here I’ve outlined logical steps to overcome “choice anxiety” and pick the best tool.

Step 1. Ideal State Analysis

Separate yourself from any specific tools themselves, and instead consider the need for a tool itself. What problem in a function are you trying to solve? What improvement in a function are you trying to make?

Outline two lines of thought: the function in its current state without the tool, and the function in an ideal state with the tool. Imagine a state in which nothing breaks, all stakeholders are on board, users learn immediately, time stands still, and costs are no issue.

Quantify the difference in results between the two functions. Generally, whichever has a greater benefit-to-cost ratio is the function you want. If the function with the tool has the bigger ratio, then continue to step 2.

Step 2. Realistic State Analysis

Conduct more concrete cost/benefit and risk analyses using probable outcomes instead of ideal outcomes. Make special note of the stakeholders involved in the decision-making, implementation, and maintenance process of the function. What’s the more likely state after the tool has been implemented, given any known hindrances and obstacles over time? Expect that certain shortcomings will arise from both user and tool in the learning process.

Surely, this outcome will be less appealing than the ideal state. But it should also bring you closer to knowing whether you can reach that state.

Quantify the realistic state and determine whether your team can reach it feasibly. If not, then you may be better of staying with the current process. However if so, continue to step 3.

Step 3. Create Ideal Criteria for Success

Write down the data points that are most likely to indicate a successful implementation, and thus lead to the winning tool. For example:

  • People (Will people buy-in? Can they use it?)
  • Implementation (Can we fit this into our function?)
  • Integration (Does the tool play well with other tools?)
  • Maintainability (Can we support the tool and function over time?)
  • Cost (Can we fit the price of the tool into our budget?)
  • Scope (Does the tool address our need?)
  • Risk (Will the tool cause risk we cannot accept?)
  • Reliability (Does the tool work consistently?)
  • Measurability (Can we track metrics for performance?)
  • Scalability (If the function expands, can the tool expand with it?)

Make these data points your vague success criteria to move forward. Whichever tool fulfills the most important success criteria in the best way will be your winner.

Then, prioritize the most important items over less important items, depending on your goals and risk aversion. Once your data points are ordered, employ Stuart Russell’s technique of rational meta-reasoning:

“Maybe you want to say [the technique is] one algorithm, but it’s an algorithm that figures out what is the value of the possible computations I could do, and then it does the most valuable one, and that’s the algorithm. That’s it.”

In other words, figure out what data points are most likely to lead to valuable conclusions, and then compare these more valuable data points in step 4.

Step 4. Research Sources and Gather Elements

Find tools and place them in a “short list” of 3-10 options. Use your success criteria to quickly eliminate non-contenders, such as those that will not integrate with other aspects in the function. Use the following methods to find the tools:

  • Google, other search engines: “what tool should I use for ____?”
  • alternativeTo: “Crowdsourced software recommendations”
  • Tech forums and magazines
  • Social media
  • Coworkers
  • Business intellectual capital and subject matter experts
  • Job postings of competition (what are they using or hoping to use?)
  • External consultants
  • New product/technology aggregators

After employing these methods, drill down further within these sources to draw out the data points from the following elements:

  • Reviews/Comparisons
  • Community support
  • Popularity
  • Technical documentation
  • Compatibility
  • Degree of trust in the source

These elements, when qualified, quantified, and compared, differentiate one tool from another and allow you to evaluate the fulfillment of your success criteria.

Consider especially the last item in this list: the degree to which you trust the source of the data. It is worth vetting sources, cross-checking data, and ensuring that each source’s opinions generally align with others.

As a rule of thumb, cross-reference as many elements that contribute to success criteria as you can. If a blogger says he had trouble adding setting up the tool using a particular configuration, search other sources for this same issue. Consider the time that issues are reported, because developers update software rapidly, meaning last month’s bug may be this month’s feature.

Step 5. Meet with Stakeholders (optional)

Meet with stakeholders involved in the function and the decision to use the tool. Those who will implement and maintain the tool will want to give input, as well as those who oversee the entire function’s operation. Offer your success criteria and gather feedback, which may come in the form of previously-unknown requirements or limitations.

You may choose to show a short list of tools in addition to the success criteria, but focus your attention on the functional need for a tool. This is because a tool itself does not make the money; rather the functional need that the tool addresses makes the money. As a corollary to this, the tool is generally more interchangeable than the functional necessity that requires it.

Step 6. Iterate Realistic Criteria for Success

Apply the information recently gleaned from stakeholder meetings and research to update success criteria.

Iterating constantly is a staple of modern development work. Apply feedback to your work as often as possible, rather than waiting until the finish. When the curtain drops and you present your final choice, you want no chance that smiles turn to frowns. Similarly, you should be updating your success criteria priority order as well.

ToolBlog20171128

The data you gather won’t be complete, but today’s leaders must make decisions with incomplete information.

Step 7. Research Tools, More Deeply

Using the updated criteria, start research again to reduce the list of feasible tools. Prioritize tools above others and trim the list to a top 3.

Use this time to take advantage of open source software or free demos of paid options. Good software should provide something like a free 30 day demo without cost. While you begin working through the setup of each option, consider the level of difficulty; if one of your success criteria involves training others to develop and maintain this tool, then the easier the setup, the better.

Step 8. Update Stakeholders with the Short List

Engage stakeholders with new criteria and results based on those more specific criteria. Draw out any additional requirements or limitations that arise after diving deeper.

Step 9. Iterate Success Criteria and Continue Testing

Continue until you reduce your list until…

Step 10. Decide

Choose the winner and use it. Sometimes a good idea on a Tuesday is better than a great idea on a Friday. Keep your success criteria in mind, because if some new information arises, you may need to reset to step 3 (readjusting your success criteria). But even if that happens, it’s much easier to start over on day 10 than on day 100.

Extra Credit: Document the reasons for your choices, so anyone revisiting the decision in the future, including you, can understand your decision-making process.

Advertisements