Computational thinking! - How Product Leaders can benefit from it.

Computational thinking! - How Product Leaders can benefit from it.

See more article from me on my website: https://gokultirumalai.com

There are many skills that Product Leaders find indispensable for success, some of them would be Research, Problem Solving, Prioritization, Strategic thinking, Delegation, Marketing & Communication.?Ask a Product Leader how they handle any of these and you will hear about a plethora of Frameworks & Tools.?Ask a bit more, and you will hear that a Product leader needs to be both a thinker & Doer who wears different hats all the time.??

Mankind is racing to replicate the human brain in a computer to handle almost everything on planet earth - without human intervention.?But one seldom realizes that the computer, or more specifically Computational Thinking, can be adopted by humans in almost all aspects of life.?I’m not talking about using the computer… but using the way a computer is designed to think to aid human thinking!

Firstly, for those who are new to Computational Thinking: It is a systematic approach to solving problems in a way that can be handled by a computer or a human or both.


Well think of it… a computer can’t find a solution by guess work!?One expects it to use the available inputs, solve the intended problem and provide the intended outputs or solutions.?Take Google maps for example:?When you enter From (Source) and To (Destination), it needs to take those inputs, solve many problems (evaluate available paths, traffic congestion, road blocks, etc.), and finally provide a few shortest paths between the two that meet a predefined set of assumptions.?This enables the users to choose the path they prefer and start navigation.

In order to solve problems in the simplest and most predictable way, the process is split into 4 parts:

Brain diagram showing: the 4 parts of Computational Thinking

  1. Decomposition: Break down large data and problems into smaller problems.
  2. Pattern Recognition: Observe similarities or patterns in the data & the problems.
  3. Abstraction: Select or focus on the relevant details while ignoring the irrelevant ones.??
  4. Algorithm: Develop step by step solutions to each of the smaller problems.

One may not need all parts of Computational thinking all the time… but having a mindset like that helps tremendously!


Here are 3 examples in a product journey where one can use Computational thinking.

1. Finding the Unmet needs (Problem Identification):??

It all starts with the needs!?When exploring a problem area, the Product Leader is usually looking for Unmet Needs of the customer.? This stage often involves researching the market, talking to customers/stakeholders, and analyzing the competition.?This phase tremendously benefits from Pattern Recognition and Abstraction.?When we gather the unmet needs, they usually exhibit patterns or similarities.?Recognizing patterns in the data we collect helps us to correlate the unmet needs.?Also, once correlated, we can abstract them into one or more high level problem statements.?Doing so helps us relate them to similar existing solutions or even come up with new ones.

Here is an example (and you don’t need to understand the technology I describe):?About 15 years ago, I was working on an Ethernet Switching protocol called “Rapid Spanning Tree Protocol” that needed extensive configuration to find an alternate path for the network data traffic if an existing data path fails.?My Japanese customer complained about the complexity, the delays introduced in finding new data paths (well it was not rapid enough for his network :-) ), and wanted a much simpler and predictable way to find an alternate data path in the network.?After some elaborate discussions, I recognized the patterns in his unmet needs and abstracted it to mean that “I want a simple toggle/switch from a predetermined first path to a predetermined second path if the first path fails”.?As simple as it seems, that led me to a patent that did exactly that with minimal configuration that brought down the network outage from around 2 seconds to 50 milliseconds.??

The reason I was able to get to the solution and the patent idea was that the abstraction (leaving out the protocol details and focusing on the core need) made me look at it differently without bias!


2. Assumptions -> Hypotheses -> Validation:

One of the primary roles of a Product Leader is to gather assumptions about a product and get them validated.? This not only prevents making wrong product decisions, but also helps to prioritize the right set of features.?This is where Decomposition helps.?Many of the solutions are complex to validate as a whole in one shot.?It is easier to validate solutions to problems by Decomposing them into many smaller assumptions.?This would be a team effort where all stakeholders engage in unfettered thinking and list down all assumptions.?It helps the team gather all the assumptions: {Value - Growth}, {High Risk - Low Risk}, {Urgent - Not-Urgent}, {Quantitative - Qualitative}, {Subjective - Objective}, {Internal - External}, {Relevant - Irrelevant}, etc. The assumptions would then be converted to hypotheses that can be validated.?At the end of this Decomposition exercise, the team will be able to find Patterns in the Hypotheses.?This will help the team abstract them into different buckets, create Personas for validation, and delegate each set of abstracted hypotheses to the right stakeholders for validation.?

Diagram showing a loop: Problem to Computational Thinking to Solution to Validated Learning.  Then back to Problem.

In his book “The Lean Startup”, Eric Ries talks about the “Build, Measure, Learn” loop and how it can foster continuous innovation.?Instead of testing a lot of assumptions, Eric Ries talks about Validated Learning to systematically figure out the right thing to build by selecting a few assumptions to validate.?The Decomposition exercise would be critical to get the right assumptions to be validated.??


3. Delegation

A Product Leader needs to correctly identify, delineate and delegate tasks… most often without authority.?When one needs to influence without authority, where the roles and responsibilities of subgroups overlap and needs tight coordination, one needs to be accurate.?The delegation should not seem like the Product Leader is influencing the solution.?At the same time, it should not be vague allowing for scope creep or misinterpretation.?This is where Abstraction helps tremendously.? If the Product Leader gets the abstraction right, the delegation will be successful.??

Accurate abstraction is an art.?One gets better with practice.?I have found that the most effective way to find out if your abstraction is accurate is to ask the delegated person to explain it back to you in their own words.?You will save a lot of time and effort by doing this.


OK.. Algorithms??Why is that helpful?

The Algorithm part of Computational thinking would be the final part of our thinking process This will be the step by step execution of the tasks.?But one cannot get into execution unless the sequence of each of the steps are clear.?The Algorithm part will be right only if the other parts of Computational Thinking have been carried out correctly.?Successful Product Leaders do this systematically.


In Conclusion:

????Well, if I can give you one takeaway about Computational thinking, it would be this: Human beings are curious by nature.?That curiosity is what gets us to identify and solve problems.?If we embed Computational thinking into that curiosity to solve problems, it will be more systematic, efficient and effective.?But remember one thing: Never get into the Algorithm phase without first covering the other parts of the Computational Thinking process.? This may seem like a cliche - Don’t put the proverbial cart before the horse.?Good Product Leaders will always keep the sequencing of the steps to the last!



要查看或添加评论,请登录

社区洞察

其他会员也浏览了