Technologist

Options Thinking & The Last Responsible Moment

As intelligent humans with mental faculties honed by years of training and experience, we subconsciously know the good from the bad. We usually make good decisions in line with our long term goals. But there are times when we regret our decisions – for either making or NOT making them. It can be related to an investment or a property or a job switch or so many other things in life. We learn from our mistakes and get better. In the process, we update our mental models to assess situations better and make smarter decisions in the future.

In this blog post, I will share my understanding of two tools from Mary & Tom Poppendieck’s “Lean Software Development: An Agile Toolkit”. They are “Options Thinking” and “The Last Responsible Moment”. While the book is focused on software development, these two tools form a potent combination that can help us analyze situations objectively and make decisions that are aligned to any goals in our life.

Lets start with some definitions:

  • Option (in financial domain) – A contract that offers the buyer the right, but not the obligation, to buy or sell the underlying asset at an agreed-upon price during a certain period of time or on a specific date (https://www.investopedia.com)
  • Last Responsible Moment – The instant in which the cost of the delay of a decision surpasses the benefit of delay; or the moment when failing to take a decision eliminates an important alternative (https://www.leanconstruction.org)

While option has a similar (and simpler) English definition, I chose to use the definition from my professional domain, as it  highlights the right vs obligation connotation. And we buy a financial option by paying a premium.

There are several situations that highlight options thinking:

  • Book non-refundable airline tickets at a lower price OR book relatively expensive ones that provide an option to cancel later
  • Reserve hotel rooms at lower rates by paying the entire non-refundable amount upfront OR reserve at higher rates by just providing a valid credit card number with an option to cancel till a cut-off period without incurring any expense
  • An Indian software company that expects US Dollar receivables from clients in the future can encash the proceeds at prevailing exchange rates when it receives them OR hedge against possible future rupee appreciation by buying FX options after paying a premium

In all these cases, the choices in italics are more economical BUT we are committed to them. The price difference between them and the relatively expensive alternatives is the cost of delaying the decision. For example – if we need to cancel our travel, the non-refundable ticket will result in a much bigger loss than the one with cancel option. And one such need to cancel might wipe out all the savings we accumulated over several years by diligently selecting the choice without options!

Does it mean the more expensive alternatives completely protect us from a loss given we have paid a premium? NO. Imagine our travel plan changed but we forgot to cancel the hotel reservation before the cut-off time, then we will be charged for one night. Or Indian Rupee appreciated by 15% against the US Dollar and the FX Option is in the money but the company forgot to exercise it before the expiry date, then the option becomes worthless. These crucial moments when an alternative is eliminated will be the Last Responsible Moment.

So, this is what I have learnt about the process of making decisions that we will not regret later:

  • Set our vision and goals – Different individuals have different priorities and what is important for one need not be the same for another. So, we need to set our own vision based on what we want to achieve in life and define our goals appropriately. This will create clear guiding principles for us and help avoid distractions caused by ubiquitous marketers and ill-intentioned well-wishers.
  • Understand the situation and list out the alternatives – It can take anywhere between a few seconds to several days to identify all possible alternatives that are aligned to our vision. The time it takes depends on the time we have to decide and the amount of learning we need to go through to fully understand the situation. We should avoid going with our gut feel as I have already explained that our gut feel need not necessarily deliver the best results.
  • Decide as late as possible – This is where options thinking comes into play. Some alternatives might appear more expensive in the beginning. But as we progress, we might realize that the cheaper one cannot deliver the required results but will hurt our reputation or even cost our job. It does not mean the costlier alternatives are always the best! It all depends on the situation and we need to decide after analysis if it will be worthwhile to keep our options open by paying a premium.
  • Make the decision – Keeping our options open should not result in analysis paralysis. We should always be cognizant of the last responsible moment and make our decision before we lose the potentially best alternative.

Finally, I see some people NOT wanting to deal with this complexity at all and just go with the flow. This is essentially favoring status quo and might appear to work some times. Remember, the leaders who create history are the ones who take risks and challenge the status quo instead of just going with the flow. If we expect time to automatically provide a solution, we will not be a leader and will likely be letting some one else decide for us!

Net-net, if we want to be a futuristic leader, we cannot just wait for time to provide a magical solution. We need to actively analyze situations to come up with alternatives in line with our vision, keep our options open and decide at the right time!

Let them figure out

As a parent or a manager or even an individual, we become leaders and make decisions from time to time. There are different leadership styles to deal with situations and these two quotes drive my philosophy:

  • Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime.
  • That which does not kill us makes us stronger – Friedrich Nietzsche

These quotes are in conflict with the widely prevalent leadership style of being over-protective. Being over-protective gives the leader an illusion of control as the leader tends to make most of the decisions. And the team feels happy about having a strong leader who will always back them up irrespective of the situation. And it is more appealing when you consider the possibility of hero worship!

But there are several pitfalls for the team. Teams that are led by over-protective leaders tend to:

  • Be perennially dependent on the leader and cannot act independently
  • Think they will be backed up even if they make mistakes and become reckless
  • Will not understand risk – reward dynamics
  • Do not take accountability for their actions and results
  • Eventually be left unprepared for the future – it is a tough world out there!

Does this mean it is fine NOT to back up our team all the time? Absolutely NO. There will be times when the team needs the leader to back them up to the hilt, particularly when they have put in their best effort but could not achieve expected results due to factors beyond their control.

Teams have to make several decisions every day being fully aware that there is risk involved in each one of them and that they can be judged the wrong way if desired results are not delivered. Failure to back them up when required or reluctance to pick up the battle during critical times will result in the leader losing trust of the team.

So, what can a leader do? Coach people on the basics, let them figure the rest on their own, let them learn through their mistakes and get strong in the process. All of this will build a good team and leadership – continue challenging them and pushing the limits to make them stronger. But when the need arises, step in and support them!

Ultimately, it all boils down to what the situation demands and leaders should use their judgment and decide what should be done – let the team be on their own vs. push them hard vs. step in to support.

Thinking, fast and slow

I have read several thought provoking books but this one by Nobel prize winner Daniel Kahneman gives insights into our very own thought process itself. We keep hearing about stepping back to rethink and are encouraged to “think through” before acting – this book explains why they are required.

All my life, I was under the impression that intuition is a talent and a gift. After reading this book, I realized that we should be careful about our intuition and that common sense typically produces ordinary results!

My biggest learning from this book is that there are two systems that help us think and make decisions:

  • System 1 – the fast paced “automatic operation” or “intuitive thought” driven by amygdala, a primitive part of our brain.
  • System 2 – relatively slow paced “controlled operation” or “deliberate thought” driven by neo-cortex, the most distinctively human feature of our brain.

While invoking system 2 for any decision will ensure thorough analysis and reduce mistakes, we may not always have the luxury of time and energy required for it. So, we will have to rely on intuition for a number of day to day decisions. And this is where understanding the two types of intuition comes in handy.

  • Expert intuition: Thousands of hours of practice leads to expertise – Malcom Gladwell’s “Outliers” explains this well through the 10,000 hour rule. While this rule is contested by some, it is still a good framework for understanding expertise. Now, any situation where we need to make a decision will invariably provide a cue that an expert will sub-consciously detect. This cue gives the expert access to information stored in memory and the information provides the answer. Expert intuition is just recognition!
  • Heuristic intuition: When faced with a difficult question, we often substitute the original question with an easier one without noticing the substitution. The resulting easier question will be one for which we readily have an answer, which will invariably be based on our biases. I have observed many leaders form “perceptions” about people and now I understand it should be because of their heuristic intuition!

Whenever I have an intuition or gut feel nowadays, I ask myself if this is due to expert intuition or if this is influenced by heuristics or biases. Expert intuition is good – in fact, what is the point of earning expertise through hard practice if we are not going to use it! But heuristic intuition is bad, leading to bad decisions that leaders in particular should avoid as it can adversely impact their people! So, the healthy alternate is switch to slower, more deliberate and effortful form of thinking whenever we suspect heuristic intuition.

This book is a beauty and took more than a couple of months for a slow reader like me to complete. It will be a long blog post and will take several hours for me to write about everything I learnt. So, I will summarize with some quick pointers to key concepts:

  • Law of least effort – if there are several ways of achieving the same goal, we will eventually gravitate to the least demanding course of action. Laziness is built deep into out nature.
  • Cognitive Ease – when we are in a good mood, we are likely to be casual and superficial in our thinking. Don’t get “carried away”!
  • Jumping to conclusions is efficient if the conclusions are likely to be correct and the costs of an occasional mistake is acceptable, and if the jump saves much time and effort. It is risky when the situation is unfamiliar and the stakes are high.
  • The law of small numbers – statistics can help when the sample size is large enough and comprehensively representative. Conclusions made based on small numbers will not be prudent as they assume a simpler world than reality and ignore that many facts are due to “chance”.
  • Regression to the mean – whenever someone produces extraordinary and outstanding results, an element of chance is likely to be one of the reasons. Over a period of time, the results will converge towards the average.
  • Illusion of understanding – hindsight information is often misunderstood as prophetic knowledge. A number of books that analyze past events and postulate a recipe for future success have fallen flat over a period of time. A classic example will be “Build to last” – the gap in corporate profitability and stock returns between the outstanding and the less successful firms studied in this book shrank to almost nothing subsequently! How about this? – the CEO of a successful company is likely to be called flexible, methodical and decisive. If the firm slips the next year, the same executive will be called confused, rigid and authoritarian! The same actions can be conveniently depicted in positive or negative terms creating an illusion of profound understanding of the presenter!
  • Prospect theory, loss aversion & the endowment effect – These are profound concepts:
    • Reference points exist – A specific amount of money does not have the same value for everyone. A person earning $1000 a month will be a lot more excited about $100 than someone who earns $10,000 a month. This explains why hikes are measured in % rather than absolute amounts!
    • Losses loom larger than gains – we give up on gains more readily than incur losses. A reason why people cling on to losing propositions for long and end of losing even more rather than exit early to cut losses!
    • A luxury becomes a necessity over a period of time as we get used to it.

There is a lot more to read and learn from this book, which is currently #1 best seller under Cognitive Psychology eTextbooks in Amazon. I have just provided an appetizer here and the book will be the main course. And I promise the main course will be much better than the appetizer. Go for it!

Sapiens & Home Deus: Amazing duo

The first book I read on anthropology was Guns, Germs & Steel, way back in 2005. While I enjoyed the insights and talked about it for a long time, it was not yet time for me to develop my reading habit. So, it took half a dozen years before I started on the next anthropology book – Collapse, incidentally by the same author Jared Diamond. By this time I was quite deep into reading non-fiction and a steady stream of great books enriched my knowledge across history and anthropology. Special mention among them would go to The Naked Ape and Origin of Species for being focused on anthropology.

By the end of 2017, I became a believer of science and encountered two enlightening books by Yuval Noah Harari that took my understanding to the next level. Sapiens gave concrete shape to the vague idea I had around how humans came to rule the world. And its sequel Home Deus painted a plausible picture of what future holds for us! It was sheer awesomeness to realize that the beginning of history was only 70,000 years ago with cognitive revolution. And how lucky we are to have gotten the accidental genetic mutations that changed inner wiring of our brains! It is difficult to comprehend that before cognitive revolution, history was just biology, with human life following predetermined pattern like any other animal – dictated by instructions encoded in their DNA!

One should read the book to appreciate the profoundness. The insights at the end of the book are compelling, comparing conventional thinking with contemporary science.

Conventional Thinking Data Science
I am an individual Organisms (including us) are algorithms
My authentic self is completely free My decisions are shaped by genes and environmental pressures
I know things about myself that no one else can discover An external algorithm can theoretically know me better than I know myself

Now that I am wiser, what next? Time to embrace the prophecy and prepare for the future! I started learning TensorFlow and instantly understood that the future of programming is in machine learning. As I started appreciating science, I also realized that Mathematics enables science. Math skills are becoming increasingly key to success in computer science and programming.  And Math skills are fundamental to machine learning! Lot more to learn and that keeps life interesting!!!

Project Euler

After updating my personal programming environment in August 2017, I was looking for opportunities to keep myself in touch with technology. That’s when one of my colleagues mentioned about Project Euler – a series of challenging problems that require mathematical and programming skills. It is named after Leonhard Euler, a Swiss mathematician, physicist, astronomer, logician and engineer, who made important and influential discoveries in many branches of mathematics, such as infinitesimal calculus and graph theory.

What started as a sub-section on mathschallenge.net in October 2001 has become an independent domain with more than 780,000 registered users having solved at least one problem. The site currently has 623 problems with a new problem added every fortnight. While most of the problems are straightforward, it is practically impossible to solve them without a computer because of the large numbers and computations involved. So, it is a marriage of mathematics and programming – bingo, what I was looking for!

Now then, one can choose to use any programming language to solve the problems. With Java and Python in my toolkit, I started with solving the problems using both of them. After just a couple of solutions, I realized that Python was way more effective and efficient. A solution in Java typically took twice as much time as Python due to several reasons – code verbosity, compilation / run time, functional programming and relatively vast math libraries available in Python, among others. So, I quickly dropped Java and stuck to writing code only in Python. Every problem expects a specific number as an answer, you type it in the answer box and eureka – you got it!

I don’t consider myself a quick programmer, my forte is discipline, patience and perseverance. I may take twice or even longer time than others to complete anything. But once I put my mind onto something, determination takes over and I invariably get it done. I usually don’t expect my programs to compile and run perfectly the first time. But the Project Euler answer box accepted my response as the right one in the first attempt for several problems. After all, I am a better programmer that I imagined!

I started with solving the first problem on 25th August 2017 and was solving at least 8 problems every weekend initially. That was when the difficulty level was at 5%. As the difficulty level went up, the rate of solving problems kept going down. That’s fine, I am not a Math genius and I was learning new Math concepts and Python libraries. By October 20th, I had solved 57 problems that put me in the Top 5% in terms of the number of problems solved.

My solutions are usually the brute force type. The purists will not like them. I will get there one day when I put my mind to it. For now, I just enjoy the excitement of seeing me getting the right answer.

Finally, why am I posting this now? After 20th October, I went into hibernation from Project Euler with my weekends taken up for the brevet season starting November 2017 to January 2018. After a gap of five months, I solved a couple of problems during the last week of March 2018 and this time wanted to jot down my experience before it becomes too stale. With the complexity level of problems having significantly increased and with so many conflicting priorities requiring my attention, I am not sure how many I will get to solve.

There are so many things to do and so little time in hand… Santh – that’s life and learn to deal with it!!!

Books 2017

As I wrote the blog on books I enjoyed in 2016, the realization stuck that I had slipped from reading habit during the previous year and a half. After finishing more than two dozen books each in 2013 and 2014, I had read only a couple of them in 2015. While I thought it was primarily due to extensive time spent during the weekends for cycling / running / recovery time, it also coincided with my taking up a new job towards the end of 2014. It took another year to sense knowledge debt building up again as my effectiveness as a speaker and motivator for my teams diminished a bit. When I read a book on leadership or anthropology, I immediately relate it to events around me and apply some of the learnings. This happens sub-consciously and I realized it only when while introspecting on recently diminished effectiveness.

In April 2017, I made efforts to restart my reading habit and made one of the best investments in recent times when I bought Kindle Paperwhite. I would later know from “The Everything Store” on strategic thought process from Jeff Bezos and Amazon that went in building an eBook Reader that would be affordable with a comprehensive book store behind it. I can vouch for it after using it for about ten months. You can pretty much find any English book ever published  and at a price that is most competitive! With backlight, I can now read without disturbing the rest of my family and e-ink technology lets Kindle run for days together on a single charge! I might sound like an Amazon marketer, but really admire the value Kindle brings with it!!!

I started with “Great by Choice”, a book by Jim Collins whose “Good to Great” was one of the books that got me interested in non-fiction. It was on familiar Jim Collins style and I could relate to some of the principles that I always followed in my life. No wonder I am great! – just kidding. It was just reassuring to know that some of my principles are good for long-term success. The quote from Roald Amundsen, the first man to The South Pole will always be etched in my memory: “Victory awaits him who has everything in order – luck people call it. Defeat is certain for him who has neglected to take the necessary precaution in time; this is called bad luck”.

From “Great by  Choice”, I got reference to another couple of fantastic books that demonstrated Jim Collin’s theory about the best leaders being more disciplined, more empirical and more paranoid. They were the next books I read – “Scott And Amundsen: The Last Place on Earth” and “Into Thin Air: A Personal Account of the Everest Disaster”.

It was then time for “Losing the Signal: The Untold Story Behind the Extraordinary Rise and Spectacular Fall of BlackBerry”. I got this from reading recommendations given by one of the senior leaders in my organization.

After my Europe trip, I wanted to know more about the history of Europe and particularly on what happened to Roman Civilization. It took almost four months to complete all the six volumes of “The Decline and Fall of the Roman Empire” written by Edward Gibbon in 1770. A true classic like “The Origin of Species” by Charles Darwin and worth the effort.

After immersing in history for several months, I wanted to read about some contemporary achievements and went back to the reading recommendations. I read books on two of the modern great companies on Technology space – “The Everything Store: Jeff Bezos and the Age of Amazon” and “The Google Story”. In between, I also finished “Hit Refresh: The Quest to Rediscover Microsoft’s Soul and Imagine a Better Future for Everyone” within a few weeks of Satya Nadella releasing it. All of them reinforced the need for discipline, work ethic and team work – there is no short cut to success! That rounded up 2017, a fulfilling year for reading good books. As I write this, I already finished reading “The Great Convergence” that I got referred from Hit Refresh. More about that when I write about by 2018 experience.

My reading list from 2017:

Hit Refresh: The Quest to Rediscover Microsoft’s Soul and Imagine a Better Future for Everyone Satya Nadella
The Google Story David A. Vise
The Decline and Fall of the Roman Empire (Edited and Abridged): Abridged Edition Edward Gibbon
The Everything Store: Jeff Bezos and the Age of Amazon Brad Stone
Losing the Signal: The Untold Story Behind the Extraordinary Rise and Spectacular Fall of BlackBerry Jacquie McNish
Sean Silcoff
Into Thin Air: A Personal Account of the Everest Disaster Jon Krakauer
Scott And Amundsen: The Last Place on Earth Roland Huntford
Great by Choice: Uncertainty, Chaos and Luck – Why Some Thrive Despite Them All Jim Collins

My Programming Toolkit

I got back to being a technologist in early 2013 after years of focusing on my career as a “Technology” Manager. I got to do some coding in Python at work but more interesting was the time I spent over weekends playing around with open source languages and tools at home.

This is when I read “The Pragmatic Programmer: From Journeyman to Master” by Andrew Hunt and Dave Thomas – a book I should have read at the beginning of my career. It nevertheless gave me several “aha” moments as I connected with the basic mistakes I committed as a programmer. In particular, I enjoyed the chapters around “The Basic Tools”. I remembered how I always used vi as my code editor and carried my personalized vimrc profile along with unix-like command like interface for Windows.

I created my own development environment and enjoyed the weekends and holidays working on my personal pet projects. This carried on for about 2 years but after I signed up for a new job, I started to focus on setting up things at work and could not spend time on my personal technology projects. After about three years, I logged back into my personal development environment. I started with upgrading Eclipse and VirtualBox to latest versions. Surprisingly, I did not feel as rusty as I did three years back.

The list of installed software I had documented helped a bit but realized it will be more helpful for future to also document the nitty gritties involved while going through the setup. Hence this blog!

My tools:

IDE: Eclipse – having started my career as a Java developer and wanting to setup my personal development environment with 100% open source stack, Eclipse was a natural choice. I was amazed at how the ecosystem had matured over the years, with excellent plug-ins to deal with all development needs. A far cry from the days I was a programmer when I had to write code using gvim, compile on the commandline and debug using print statements!

Editor: vi (Vrapper plug-in) – I believe in “The Power of Plain Text” and appreciate an editor that forces discipline. During my early programming days, it was annoying to use vi with the constant switching between editing and command modes. But after I got used to it, I am yet to find a basic editor to beat it! Vrapper plugin brings in the power of vi to Eclipse code editor.

Source code version control: git – EGit plug-in provides git integration for Eclipse. I started my career with cvs but this is one area that has evolved over the years with git emerging as the leading open-source distributed version control system.

Language plug-ins:

Java: JDT – Eclipse started with Java and I always installed it with JDT by default.

Python: Pydev

PHP: PHP Development Tools (PDT)

Virtualization: Oracle VirtualBox – helped me get back in touch with unix / linux. And also enables to test java programs in linux environment. I have Ubuntu desktop on my virtualbox.

Unix-like command line interface: Cygwin

Git repository sharing: SCM Server

Desktop sharing: TeamViewer

Document editor: LibreOffice

LAMP stack runtime: XAMPP

The books I enjoyed reading

My reading habit with non-academic books started as a small boy when I ended up with three dozen “Phantom” comics novels that was gifted by one of my seniors when he shifted out of town. I avidly finished reading the entire lot during my summer vacation. As a teenager, I remember reading a few Hardy boys novels but that was all.

I finally took to reading habit when I was about 21 and in my fourth year of engineering. My first novel was a fiction “Negotiator” by Frederick Forsyth. The very next book was Ayn Rand’s “The Fountainhead”. It took several hours across several weeks to finish the book and I became a Ayn Rand fan. I followed it up with her “Atlas Shrugged”.

Between 1999 and 2001, I was into fiction novels and should have read about two dozen of Frederick Forsyth, Ken Follet, John Grisham and others. After that my interest in books and particularly fiction tapered off. For the next 10 years, I was a sporadic reader and my reading was limited to non-fiction. I read whenever I stumbled upon an opportunity to pick-up a book. A few books I remember from that time are “Good to Great” by Jim Collins and “The Black Swan” by Nassim Nicholas Taleb.

I started as a keen reader again in 2011 as I wanted to explore my interests in Anthropology. It changed to Agile, Software Development and Leadership in 2013. I would have read more than 50 books during the three year period from 2011-14.

As I started with my interests in running and cycling coupled with a new job in November 2014, my reading routine took the back seat once again. But I put in the effort to list down more than 100 books that I remembered reading since 1997. I have listed some of my favourites under Anthropology, Agile, Software Development and Leadership. I hope I get sufficient time to grow this list over the years.

The ones I enjoyed…

Anthropology:

Guns, Germs, And Steel: The Fates of Human Societies Jared Diamond
Collapse: How Societies Choose to Fail or Survive Jared Diamond
Origin of Species Charles Darwin
The Naked Ape: A Zoologist’s Study of the Human Animal Desmond Morris

Agile:

Succeeding with Agile: Software Development using Scrum Mike Cohn
Agile Software Development: The Cooperative Game Alistair Cockburn
Lean Software Development: An Agile Toolkit Mary Poppendieck
Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation Jez Humble
Dave Farley

Software Development:

The Pragmatic Programmer: From Journeyman to Master Andrew Hunt & Dave Thomas
Clean Code: A Handbook of Agile Software Craftsmanship Robert C. Martin
Design Patterns Erich Gamma & Team
The Mythical Man Month Fred Brooks

Leadership:

The Fifth Discipline: The art and practice of the learning organization Peter Senge
The Human Side of Enterprise Douglas McGregor
The Speed of Trust: The one thing that changes everything Stephen M.R. Covey
Good to Great:Why Some Companies Make the Leap…and Others Don’t Jim Collins
Drive: The Surprising Truth about What Motivates us Daniel H. Pink
Outliers Malcom Gladwell
The other 90% Robert Cooper
The Black Swan: The Impact of the Highly Improbable Nassim Nicholas Taleb
Out of the crisis W. Edwards Deming
The Innovator’s Dilemma: When New Technologies cause great firms to fail Clayton M. Christensen
How to get your point across in 30 seconds or less Milo O. Frank
Team of Teams: New Rules of Engagement for a Complex World Stanley A. McChrystal