Abstractions and interfaces have been my two lodestars as an engineer, and naturally, I bring this mindset into my product owner role. Recently, I’ve been pondering the concept of a “tool” and how it’s frequently mistaken for a mere collection of “working software”.

Here are the key attributes that, in my view, distinguish a tool:

  1. Usability - A tool isn’t just about the existence of features, it’s about the easy and intuitive application of those features. It should cater to the user’s needs, reduce their workload, and increase their operational efficiency.
  2. Reproducibility - A true tool can consistently reproduce its outcomes, maintaining the same level of quality and efficiency each time. It is not a one-off solution but a sustainable process that can be relied upon repeatedly.
  3. Coherence - A tool should exhibit consistency in its concepts. Users should intuitively understand the direction a complex tool will take with minor configuration changes.

An analogy that springs to mind is an orchestra as a complex tool. An orchestra isn’t mealy about a collection of musical instruments but about a synergy between them. To the skilled conductor, it provides a platform for effortlessly harnessing specific instruments (usability) to produce harmonious music (coherence) with unvarying excellence (reproducibility).

It’s not about the sheer number of working features; it’s about how those features are deployed and utilized. Remember, the measure of a tool lies in its ability to be a force multiplier for skilled individuals and the best tools get out of your way fast.


Original post on LinkedIn: View the LinkedIn post