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

Restatement: Say nothing to say something

This post was inspired by the Ordinary Language Philosophy episode of BBC’s In Our Time, which I recommend highly.

~~~

I tried to write a novel once. I failed before I had even tried. Many of us feel that underlying beckoning to express our deeper meaning into a tome for all to revere, even if “all” is our mom. What makes writing a book difficult?

This question appears to be a heuristic, or substitute, of another question: What makes producing art difficult? In order for us starving artists to answer this, let’s deconstruct the language.

what makes producing art difficult?

Let’s assume, for the sake of this exercise, that there is a “what” we are looking for in the first place. That will force us to actually look for it, as opposed to losing progress to doubt (“Well, maybe it’s not there after all…”). This potentially false belief will get us to step two.

what makes producing art difficult?

Let’s assume, for the sake of this exercise, that this Schroedinger’s cat of a reason that might exist does more than exist: it does something. Specifically, this action involves creating or altering, among other things. “Making” itself as a verb infinitive bears ambiguity and does not carry substantial understanding on its own, as opposed to verbs such as “typing,” “swimming,” or “time-traveling.” The word “making” seems to show up in more idioms, so we will need more context to determine if our “what” “makes it,” or “makes up,” or “makes out,” etc.

what makes producing art difficult?

Such a vast, beauteous word this is. Typically, I think appreciation follows those with more interpretations. In art, pieces with mutually exclusive yet valid interpretations give a sense of godliness to the artist, as if s/he was able to connect foreign concepts together beforehand. Usually, such interpretations emerge after the piece is “produced” for public consumption, so the smart artist wouldn’t say “I saw a can of soup and painted it.” Rather, others would say: “This artist made such a raw, definitive commentary on the juxtaposition of material and social consciousness bringing forward the simplicity of object recognition symbolizing the industry of knowledge-peddling that henceforth empowers liberal utilization of anti-anti-establishment capitalist compartmentalization in a minimalist style.” Yes, yes of course that was my intent, the artist smirks.

Back to producing. Turning backward at our words in tow, we see that the reason we seek has created or altered the action of producing. Forward, we make out on the horizon a noun and an adjective. We are still treading water in a sea of uncertainty, but we have hope. It is possible that the following word is an the object being produced, rather than a way of directly describing the act of producing (“producing quickly”) or an interjection (“producing-HEY THAT’S MY CAR!”).

Note here that producing differs slightly from production, again open to interpretation. I think producing necessitates further explanation, while production more firmly stands alone. Consider the following duality:

A: “Production is down 50% from last quarter.”

vs.

B: “Producing is down 50% from last quarter.”

For sentence A, no further explanation of what is being produced is needed (unless the talkative intern wasn’t CCed on the memo). For sentence B, one is led to ask what is being produced, and validly so. “Production” and “producing” have formed into slightly different spheres of usage in the English language. And we have been given “producing.”

what makes producing art difficult?

Here, things get a bit more complicated. Experts, novices, and everyone in between could give you a different answer about the word “art.” More complexity emerges about reference, meaning, or usage of art. In this time of stunned unknowing, some of us look to history or etymology. Based on one thread of research, our linguistic ancestors couldn’t clearly classify “art” into one meaningful box.

Thus, decide for yourself what art refers to, means to you or the world, and how art is used. Here we see a possible explanation as to why I asked myself about producing a book rather than producing art; I can hold a book and simply understand it as a knowable object, but I can only hold an example of art in my hands, not art in itself. Try holding number 10 in your hands. No, those are your fingers.

what makes producing art difficult?

There is a reason that creates or alters the act of producing art (whatever that is), and as a corollary we are told that producing art is now difficult, due to a reason making it so.

what makes producing art difficult?

We can’t overlook the importance of punctuation here. We need to amend our purpose: “…”, due to a reason making it so, which may or may not exist but that we are assuming exists.

For whatever reason, we are trained to think that to produce means to create something new. However, if our goal in producing something is to create anew, we will be disappointed, because “there is no such thing as a new idea…We simply take a lot of old ideas and put them into a sort of mental kaleidoscope. We give them a turn and they make new and curious combinations.” -Mark Twain.

Ignore the feeling that an idea isn’t original enough, because it will never be. When faced with writer’s block, whether staring at a blank page, a blank canvas, or blank screen, try a different approach. Consider something you know. This is your kernel. Now, deconstruct the kernel, instead of building upon it. It will break apart into several different pieces or concepts. In essence, restate the obvious but in more detail.

Power

The power of linguistic restatement lies in its ability to change faces. Creative geniuses are not creative. Creativity is a myth concocted to slap a label onto an unrepeatable pattern of thought in the mind of a someone with luck, resources, and energy.

So, when faced with any kind of problem try the following exercise:

  1. Write the problem down or explain it to someone. Use words.
  2. Deconstruct the language you use to describe the problem.
  3. Restate the problem with deconstructed pieces.
  4. Pay attention to every passing thought, even distractions. Even the smallest minutiae bear importance.

For example, I was struggling to create a blog post. So, I classified my problem into worlds, deconstructed, and documented. Now I have a blog post.

But have I really said anything?