Adam Hawkins presents the theory and practices behind software delivery excellence. Topics include DevOps, lean, software architecture, continuous delivery, and interviews with industry leaders.
Hello and welcome to Small Batches with me Adam Hawkins. Iām your guide to software delivery excellence. In each episode, I share a small batch of the theory and practices along the path. Topics include DevOps, lean, continuous delivery, and conversations with industry leaders. Now, letās begin todayās episode.
I had friends come over on new years eve. We played one of those get-to-know-you type of games. People draw cards and choose someone to answer the question. Someone asked me: āWhatās a word or phrase youāve said the most last year?ā
Two answers immediately came to mind. So, in this episode Iāll share my answers and how adopting them have shaped my daily work.
First, some house keeping. Iāve done a bunch of work on the Small Batches website. Now, you can find all the guests and their episodes on a single page. Shoutout to John Willis for being the most frequent guest.
Also, the most popular episodes have been updated with links to related episodes. Oh, there is a brand new design too! So check it out at SmallBatches.fm.
Second, my give-away for a free copy of _The Wiring Organization_ ends in two days! So if youāre listening to this before February 1st, then thereās still time to enter.
Iām giving away free books every month in 2024. Follow me on LinkedIn to keep updated on these giveaways. Next month Iām giving away a copy of _Demingās Journey to Profound Knowledge_.
Alright, now onto my answers. I have two. First: viable. Second: go and see.
Iāve said āviableā countless times over the last year. I keep using it every day. This word changed my approach to problem-solving. Why is that?
Consider the dictionary definition. Viable, adjective, āCapable of success or continuing effectiveness; practicableā.
I picked up this word from my lean studies. There were two books in particular: _Managing to Learn_ and _Lean Product and Process Development_. Both books write about āidentifying multiple viable optionsā.
Two key words there: multiple and viable.
Viable is crucial because it forces the speaker to consider the factors to succeed. Hereās an example I see play out every day.
There are two engineers deciding how to do something. One says: āI have a good solution. Letās migrate the app from Kubernetes to Lambdaā. The other says: āYa, that sounds good. Letās get started.ā
The operative word in this exchange is āgoodā. How many times have people proposed āgoodā solutions that donāt actually address the core problem or challenge. Imagine the conversation going like this.
One engineer says: āI have a good solution. Letās migrate the app from Kubernetes to Lambda.ā. The other engineer responds: āIs that viable though? That sounds like a cost play. We have a scaling problem. Also, any idea on how long that would take?ā. The first engineer pauses for a moment: āHmm, youāre making me reconsider. I did not consider that. Plus, weād have to carve out the time on the roadmap against other competing priorities. I donāt think is a viable option. What can you think of?ā
The point here is disconnecting ideas from their fitness for a given problem or challenge. That greatly improves the bluework of coming up with ideas then _separately_ assessing their viability against relevant criteria.
Criteria may be cost, time, effort, bureaucracy, or whatever the trade-offs are. Thinking in viability terms puts the ideas and evaluation criteria on two different sides. From there, itās easy to come up with a menu of ideas, then test them for viability. This is the best way to solve problems.
Let me give you another example. I have participated in multiple problem-solving exercises where I do not fully understand the core domain. This is fun for me because I suggest ideas _without_ knowing if theyāre feasible, let alone viable. Bits and pieces of my ideas may be useful when combined with other ideas. That creates new options to check for viability.
One last example before moving on to the second phrase. Iām a position to assess business development opportunities. Determining viability requires multiple stakeholders, like turning two key to launch a missile. This is great for me because I use viability on one side to reduce the problem-space. For example, letās say we have a six month time horizon. If a proposed business development deal takes one year, then thatās immediately not viable. There is no sense in investing engineering time into spikes or probing these opportunities because theyāre not viable on the business side. The concept of viability allows me to goalie before it comes to my engineering teams.
I sincerely challenge you to bring the word āviableā into your daily problem-solving work. Youāll be surprised how different people define viabilityāthus making the implicit mental models explicit; plus encouraging everyone to come up with menu of viable options.
So what happens if you canāt determine if something is viable? Well, then you need to go and see.
There is much meaning in this short phrase. The TL;DR version is go to the _gemba_ and observe for yourself.
Whatās āthe gembaā? The gemba is the place where the actual work happens. The second part is _observe for yourself_. You, thatās youāthe person with eyes, a mouth, ears, and a brainācollect the facts _yourself_.
āGo and seeā cannot be delegated. Quite the opposite. It requires a deep commitment to learning and curiosity to go and see while comprehending whatās happening.
Hereās an example. One of my teammates pulls the andon cord, surfacing a problem on the website. I respond: āThank you for identifying this problem. I need to go and see what the problem is. Can you show me on Zoom?ā
This small interaction accomplishes several important things. First, it reinforces the value of identifying problems. This is a core lean tenant: the obstacle is the way, stop, and solve problems. Second, it demonstrates that I am interested in solving this problem by showing I want to understand the problem _for myself_. Third, it creates the opportunity for learning. My understanding of the problemābe it the cause or impactāmay be completely different than my teammates. Thatās the opportunity to reconcile our mental models, then propagate that refined mental model forward to others pulled into the problem-solving.
Hereās a different example. Iāve been in many meetings where people are talking about numbers, KPIs, or any type of time series data that I simply donāt understand or I want to know _how_ they came up with those numbers. So, Iāll say: āTime out for a minute. I donāt understand. Can we go and see how you got those numbers?ā Then someone will open a spreadsheet or some biz ops dashboard to explain the background information. I have learned so much with this simple question.
The crucial trait is curiosity. For this I pull from one of the masters: Fujio Cho. He was chairman of Toyota Motor Corporation, and man behind āThe Toyota Wayā.
He explained: Go and see, ask why, show respect.
All right, thatās all for this batch. I challenge you to bring āviableā and āgo and seeā to your gemba.
Now I need your support to keep this podcast viable. Iāve setup a patreon to support this podcast and its cousin, Software Kaizen. Your support ensures I can continue producing Small Batches episodes like this one, guest interviews, and long-form written content on Software Kaizen.
There is only a single tier on Patreon to start. I will provide exclusive content for paid subscribers, though I am not sure what that is just yet.
So go to SmallBatches.fm/101 for links to my patreon and more resources on viability and go-and-see thinking.
I hope have you back again for the next episode. So until then, happy shipping.