Lessons from the Mountains: Retrospectives and the Secret Sauce of High Performance Teams
In this episode of "How Many CTOs Does It Take?" podcast, hosts Scott Porad and Brad Hefta-Gaub explore the art and impact of retrospectives in engineering teams. Drawing on their experiences in both software and high-stakes environments like mountain rescue, they discuss the value of retrospectives for continuous improvement, building trust, and uncovering root causes of both successes and failures. The conversation covers practical frameworks for running retros, the importance of psychological safety, and the challenges of accountability and follow-through. They also debate the strengths and limitations of the "five whys" technique and share real-world anecdotes about incident response, team culture, and the unique dynamics of remote work.
- 00:00 Introduction and Banter
- 00:28 Cocktails, Bathtub Drinks, and Whiskey
- 01:40 Welcome to the Episode: Retrospectives
- 02:05 Retrospectives in Agile and Mountain Rescue
- 04:11 The Overlap Between Debriefs in Rescue and Software
- 04:30 Core Values: "Get Better Every Day"
- 04:50 Growth Mindset and Team Improvement
- 05:00 Retros for Every Error?
- 06:40 The Value of Interrogating Successes
- 08:40 Types of Retrospectives: Sprint, Project, Incident
- 09:30 Practical Framework for Sprint Retros
- 14:25 Accountability and Tracking Retro Action Items
- 18:05 Handling Big, Complex Retro Outcomes
- 18:40 Real-World Example: Staging Environments and Edge Cases
- 21:40 Tech Debt, Investment, and Team Process
- 23:40 Building Trust for Effective Retros
- 25:43 Incident Retros: Blameless vs. Egoless
- 27:15 Tone, Timeline, Five Whys, and Root Cause Analysis
- 32:00 The Role of Incident Commander
- 33:15 The Five Whys
- 34:10 The Challenge of Branching Root Causes
- 37:44 Working Agreements, Action Items, and Continuous Improvement
- 39:14 Retros and a Culture of Trust
- 40:04 Building Trust on Remote Teams
- 41:14 Call to Action and Outro
Resources:
- How Many CTOs Pod: https://howmanyctospod.com
- Scott Porad: https://www.linkedin.com/in/scottporad/
- Brad Hefta-Gaub: https://www.linkedin.com/in/bradheftagaub/
#TechPodcast #EngineeringPodcast #DevTalks #PodcastForDevs #HowManyCtos #Podcast #Ctos #CtoPodcast #Technology #Engineering #SoftwareDevelopment #Entrepreneurship #Leadership #Management #EngineeringLeadership #TechnologyLeadership #EngineeringManagement #EngineeringProductivity #TeamVelocity #DevCulture #TeamCulture #EngineeringCulture #Retrospectives #BlamelessRetrospectives #EgolessRetrospective #Agile #ContinuousImprovement #RootCauseAnalysis #FiveWhys #IncidentResponse #GrowthMindset #TeamTrust #BuildingTrust #SDLC
Brad: I always try to say, like, look, what really matters is we need to try to figure out what the root cause is.
But many things probably went wrong and they all have their own root causes.
Scott: place yesterday that do you like cocktails do you have a cocktail guy have
Brad: A hundred percent, dude.
Scott: you been to this place called cannon on 12th avenue by seattle university i'd
Brad: Yes, that's a classic.
The
Scott: never been there's a classic how long has it been there oh
Brad: 20 years.
Scott: really well
Brad: More than 20 years, maybe.
Scott: i went there for the first time last night and i ordered a gin drink
And they literally serve it in a bathtub-shaped cup.
Brad: love it yep that's one of their yep that's one of their their things i think they also have like uh
they got like a drink that's like the they serve in a um blood bag
Scott: I didn't see that.
I saw a drink they served
Brad: yeah
Scott: in a Chinese takeout thing.
So it was super fun.
We had a really old whiskey.
Well,
actually, it wasn't that old. It was just 23 years old.
I wanted the whiskey that was like 130 years old, but I couldn't bring myself to spending $2,000 on a single drink whiskey.
Brad: Yeah, that's special occasion whiskey.
Scott: Yeah,
I don't know if there's an occasion special enough in my life for that.
Brad: It's all a matter of scale,
I guess.
Scott: That's right.
Brad: Welcome to another episode of How Many CTOs Does It Take podcast.
I'm Brad Hefta-Gaub and my co-host.
Scott: My name is Scott Poirier.
Brad: Awesome.
And today I think we talked about on text,
we chatted with each other a little bit about the idea of talking about retrospectives.
Scott: Retrospectives. Love it.
The most important part of the Agile process.
Brad: I think so.
Scott: Yeah, I do too.
Brad: So I will tell you part of my,
I have very strong opinions about retrospectives.
And part of those opinions come from the,
one of my hobbies slash one of the things I spend a lot of time doing, which is traveling in the mountains.
And in the winter, of course, that means traveling in avalanche terrain.
And as you know, Scott,
I'm a ski patroller and a SAR unit member.
And one of the things I do is I'm a professional member of the American Avalanche Association and I'm an avalanche educator.
So I teach avalanche skills to search and rescue unit members and ski patrollers.
And the notion of a debrief after you travel through avalanche terrain and the notion of a high quality after action discussion and after action report on SAR missions or traveling in the mountains is like an essential component.
to making sure that when you travel in low information, high consequence environments,
you get better and hopefully prevent dire consequences,
right?
So the idea of really sort of trying to interrogate, well,
what decisions did we make?
And did we just get lucky or were those decisions,
you know, proactive in our success or were they things that if we interrogate them and evaluate,
like maybe we could make you could get better at how we did that?
And so.
I see incredible overlap between decision making in the mountains and decision making as it relates to writing software.
Scott: Yeah.
I agree.
I worked at a company once which had some core values and they were really well done core values amongst all the companies I've worked at.
It's I'd say the top two.
It's number one and number two. And one of its core values was simply get better every day.
Brad: Yeah.
Scott: And I think this fits right with that, which is.
The spirit of the retro is getting better and
Brad: Yeah.
Scott: the best teams I've been a part of are striving to get better all the time.
Brad: Yeah.
Growth mindset.
Scott: Yeah,
growth mindset.
Once we tried to have a retro for every error,
we stopped after a few weeks because it was just like, oh, it was too much.
But if you think about it, why not?
Brad: You mean like every 500 in the web server log?
Scott: something like that i think it was for every alert that went off actually is what we did because we asked ourselves let's do a retro on this and it ended up being like multiple retros every day and it was it didn't work it was a good idea but we were asking ourselves the question yeah every 500 in the logs everything in the logs that's an error
Every time the alarms go off like these are problems that are happening,
they might not be customer impacting problems,
but why wouldn't you do a retro and understand what is it that caused this error to happen?
Any bug,
why wouldn't you do if there were enough time in the day,
why wouldn't you do a retro for every single bug?
Say, well,
how did it come to be that this happened?
Brad: Totally. I think that there's a spirit to that, that if you did have enough time, you would want to interrogate every negative consequence and ask yourself like what caused it.
And I certainly support that idea.
And I think that's one of the first things that I mean, to your point, like given enough time, right? Like I think also it benefits being able to like step back and kind of look at a collection of things that happened and say.
and try to interrogate them as a collection and say like well what what do these all have in common what were our common behaviors that might have led to them right
Scott: Now there's a thing I think I know you're going to say I'm going to set you up. I'll give you a softball here, Brad.
Brad: Yeah,
Scott: I know that you're going to say, Scott,
you were just interrogating the things that went wrong.
Brad: exactly.
Scott: Why didn't you do a retro on every single PR where nothing went wrong and ask what did we do on this PR to make it so that it was successful?
Brad: 100%. That's exactly what I was about to say to you, which is, of course, comes from traveling in the mountains, right?
every time you get home every time you get back like that was a success and those are the times that you really have to ask yourself well why did we what was why were we successful like what did we do differently that was successful and I think that in software engineering like the teams that have the amazing sprint where they got all of their tasks done and they delivered a bunch of value and
And then if they just if they if they end their sprint and their closing ceremonies with,
you know, you know, popping champagne corks and slapping each other on the back, congratulating each other, that kind of misses the most important point, I think, to the to the retro,
which is.
Yeah, but why? Why did we succeed this time?
What was it that we did that made us successful?
Were we particularly good at our estimates? Did we have was it was it just some heroic effort by part of the team to accomplish this goal or had we actually set ourselves up for success?
From the things that we had done during the planning process. Right. And trying to really understand that, because if it's if the answer is, yay, we did it, but it only happened because of Scott's heroic efforts.
Well.
That's maybe looks like a win on paper,
but is not a very sustainable win.
Scott: Yes.
Brad: Right.
Scott: Yeah.
Brad: Like we can't count on Scott always doing the heroic thing every sprint.
Scott: That's right.
That's right.
So, okay,
I want to get into this a little bit more practical here, though.
We could talk about this theoretically all day long.
I can think of three different types of retros, sprint retro.
So do that every one week, two weeks, three weeks, however often you have your sprint cadence.
A project retro.
So, or maybe you might call it an epic retro, but a project retro,
which is something might last multiple sprints, but now we've sort of completed this major milestone.
Let's go back and look on the whole thing.
And then I'll call it an incident retro, which is, well, there was some sort of problem in our operational environment.
Let's look at that.
I have a fairly strong opinion about how the last one should go.
The postmortem type incident retro,
right?
Brad: Mm-hmm.
Scott: I don't have as strong of an opinion on how the first two should go.
I'd love to hear,
like, how do you do your sprint retros? How have you found that those are most effective?
Brad: Yeah, I'll tell you how we're doing it today,
and I feel like it works really, really well for this team that I'm working with now.
I think I would.
Definitely lump them into the category of a high performance engineering team.
They're all very growth mindset,
very open minded. They're all very introspective about and they thrive in interrogating what went well and what didn't go well.
And so here's how we do it.
Our sprints are two weeks.
We have 90 minutes dedicated on the second Friday. Our sprints start on Mondays and ends on Friday,
you know, 10 business days later.
We happen to be using a tool that is a plug-in to Trello for our, it's called retrospectives, it's a plug-in to Trello, but all it really is is a.
everybody gets to put in little cards that are either in the column of what went well or what could have improved.
And so here's our process.
We start the retro and we say,
all right, everybody,
boom,
start adding your cards.
And when you're done adding cards,
raise your hand, right?
This tool happens to have a little button to say I'm ready.
And we tend to get, you know, it takes us about,
I would say.
somewhere between five to ten minutes for everybody to kind of get all their typing in and get kind of done like they almost everybody almost comes in with like a they know what they're going to type and we actually will open up the tool ahead of time like sometimes I'll just like I'll open it up on Thursday and just like hey start adding stuff you know and so it takes about five to ten minutes for everybody add their items and then when everyone's ready we
click the next button and everyone can see all the cards at that point and it actually does show the people who added the cards so it's not anonymous but with my team that works okay because we've got such a high level of trust with each other that nobody minds that like brad said oh we completely screwed that up right
And the next step is we group the things together into kind of topics and so and and what went well and what could have gone better can be grouped together into the same topic. We don't we don't make it so that there is a lot of times you have something where it's like, let's say the topic was like this past retrospective we had a topic that was.
fire drill slash new feature x and what had happened in that case was it was a heroic effort to get the feature over the finish line um and people thought felt like it was a fire drill but in that grouping of the fire drill there was a whole bunch of like what didn't go well or what could have gone better and then there was several people that were like it went well like people jumped in and did a heroic thing right so we grouped them into categories
And we usually do that live,
like anybody can group things together.
I tend to be the one kind of leading
Scott: Mm
Brad: it, so-hmm. I group them together.
And that usually takes about two or three minutes.
And then when we are all happy with, yeah,
those feel like the right groups,
then we click the next button.
And we go, you know, kind of to anonymous mode again and everybody gets we've chosen four votes. They get to vote for four things, four of the topics that they really want to make sure we talk about.
Right.
And there tend to be like somewhere between eight or 10 groupings once we're, you know, once we've got,
we have like,
you know, I'd say like 50 or 60 items that get grouped into 10 things.
And so now you're, you're voting on what are the four of these 10 things that I think are most important to talk about?
And you can vote multiple times on the same topic. So if you're like, I really want to make sure that this fire drill topic is the thing we talk about.
You can put all your votes on that.
Then when everyone's done voting,
we switch into back into kind of shared interactive mode.
We talk about it. We talk about the topic. The one that gets the highest votes is the first one that we talk about.
And we try really hard to always like sometimes there's a little bit like, hey,
can you remind us exactly what happened? Hey,
you know, Brad,
when you said this, what did you mean by that in your in your description of the problem?
But we mostly say let's focus on start stop keeps.
Right.
So if it's a good thing or a bad thing, like if it didn't go well or it could have gone better or went well, we still ask the question,
okay,
well,
what about this do we want to start doing?
What about this do we want to stop doing?
And what about this do we want to keep doing?
And we generate start-stop keeps for every one of our topics that we talk about.
And then when we're done with all that, that's it.
We have our list of start-stop keeps,
and then we turn around and file those back into our process.
Scott: Okay, I have two questions.
Actually, I'm sorry, I have three questions.
Where do the stop-start keeps go?
Do you have any mechanism?
For, you know, I guess I was going to say, do you have any mechanism for tracking if anything happens with them, which there's another flavor of that, which is how do you make it such that things happen?
Brad: Yeah.
Scott: And the third, which is this is the one where I often get puzzled, sometimes a start,
especially,
or sometimes a stop, but especially a start is pretty big.
For you know, it might be I'm just making this example up.
We really need to replace the whole payment system
Brad: Yeah.
Scott: Right like
Brad: Yeah,
for sure.
Scott: somebody
Brad: Right.
Scott: Somebody
Brad: We can't use that third party off provider. It's caused three of these these outages in the last month.
Scott: Which is not like
So that's not that's different than like,
hey,
we need to agree to have two people do code reviews very simple where we can put that in place.
Hey, we need to do this giant and I always get stuck on the giant project that comes out of this.
So how do you handle those?
So those are my three questions.
My three questions are, what do you do with the start stop keeps?
How do you kind of
prioritize or track to see if something's happening because nothing's happening with them why are you doing it in the first Yeah. place and then how do you handle the
Brad: The
Scott: big ones
Brad: big monster ones.
Yeah.
Well,
um,
So let me answer those like like actually practically what we're doing today and
Scott: Sure.
Brad: then what my sort of general opinions on this are.
So first of all, the tool that we use happens to be integrated with Trello, which is what we're using for project task management anyway.
And it actually has a feature where you can go create cards out of all these things.
Scott: Cool.
Brad: Now, we tend to actually not do that. Instead,
what we do is.
And we,
it's kind of on me as the, you know, leader,
CTO,
engineering manager,
scrum master,
right? We're a small enough team that I kind of wear all those hats,
right?
And it's on me to basically keep the team honest that we did it.
A lot of times I will go back and we'll just, we'll just say,
okay, great. Like, you know, the stuff like have two people do code reviews,
that's like going,
okay,
great. We all agree that's what we're going to do.
Cool.
And then I, we have a document, which is our SDLC. So it's, you know, it's a couple pages long, and I just go and update that. And we all agree that's what we're going to do now.
On.
And so I think that we have just barely enough process to keep us honest that we really do do the start stop keeps and
We don't currently use a sort of external tracking system to force that.
But I do think that...
A lot of times you do need some kind of a accountability measure, an accountability roadblock slash process.
And so putting it in your backlog is a good way to keep that accountable,
putting it on a.
You know,
a report that you share with the leadership team is a good way of sort of forcing some kind of accountability.
And I think you have to judge like.
It's it depends type thing,
right?
Like you have to judge the stage and the size and the maturity of the team and the project to decide what type of accountability you want.
But I totally think you should have some kind of an accountability forcing function.
So I think that's the answer to the first two questions you had.
Scott: Yep, yep.
Brad: And then the second question, the third question, which is the doozy of the question is when it's a big monster task,
then what do you do?
And, you know, I think that that's kind of the age old question.
You have to do that risk reward judgment conversation and you have to.
make the appropriate business case for why the thing has to happen and if you can't make that business case in a convincing way to your stakeholders and your leadership team then probably it's not appropriate to do it right
Scott: Though, let me give you a real-world example from my life in the last two days.
So my team did something I'm very proud of. We're working on rolling out this new feature.
It launches on Monday.
It's pretty big.
A lot of people have been working on it for a long time.
It's a whole new offering that we're going to be offering.
And the thing I'm especially proud of is actually yesterday they went and tested it in production.
actually placed some real orders in production.
uh we spent real money on it i mean it's gonna you know goes to companies expensing whatever but like you know we really did it and the engineering director leading this really pushed hard on it um and i'm really proud of her for doing so because and the others there were others advocating for it as well so that when we roll this thing out on monday we really know it's going to work and it found at least one pretty serious problem that we had not found in our staging environment
And so there was a little discussion about that today,
and the call came once again for a better staging environment.
And in particular, when they talk about the better staging environment,
there's not just they,
I mean, we all talk about it.
There's really a few things.
One is the data that's in the staging environment.
Brad: The reason we found this in production is because it was an edge case, not terribly edge case,
but it was an edge case that the ordinary set of tests that you would do in a staging environment,
you wouldn't think to test this scenario.
That's the first thing.
The second is integration with third-party systems,
right?
Stripe, Twilio, whatever. Those often aren't really live in your staging environment.
This particular issue had to do with the particular user who was using the thing.
Had their account had to be in a certain kind of way that would happen ordinarily through the course of business in our production environment. You just wouldn't think of doing it and staging.
So okay,
so we're having a little retro on this today,
not a formal retro just like
some people talking about like what went wrong yesterday and it was came back to what we really need to talk about the staging environment and I've heard that I hear that every six weeks for the last 20 years of my career
Scott: Right.
Brad: but
Scott: That's why it was one of the problems I wanted to solve right out of the gate with this current project I'm on.
Brad: it's a tough one it's a big one you know getting good seed data good staging data is real real tough
and you mess it up and then you got to go reset it it's just an expensive hard difficult problem it's hard to make a business case for because what did it really cost us well it cost us some heartache today or if we had shipped this without testing it would have cost us maybe a little bit of bug in production but it's not like a multi-million dollar savings I guess over time it probably adds up but it's a tough one to make a case for
Scott: Yep.
I think, yeah,
of course. Right.
Like, I think that.
You know, this is a good one of those, you know, we talked about this in probably one of our very first episodes, this notion of like, you know, tech debt compounds in a negative way and tech investment compounds in a positive way.
Brad: Yeah, that's great.
Scott: And just today in the dev team meeting,
I had a team meeting where somebody made the case for like,
oh, we've got this one file that's too freaking large. You know, it's it's it's a it's.
it's a big huge file file that's just a mess and it's so big that like the llms don't like to even load it in you know because it complains about the number of tokens that get blown up in the llm when you try to load it and so like ai assisted coding is almost impossible on this file right
Brad: How long is that file?
Scott: it's like 4 000 lines it's a mess it should be that big
Well, it's not for an 18-month-old code base. It's one of the oldest files, and it's already got,
you know, it's the source of a bunch of tech debt,
you know.
Brad: I've seen,
Scott: But
Brad: yeah,
Scott: to
Brad: I've seen some long
Scott: me,
Brad: files.
Scott: that's a good, yeah,
sure.
Yeah, in my career,
that's not the longest file I've ever worked on, for sure.
But, you know, that's another example where it's kind of like.
if that shows up in the retrospective like yeah we really got to refactor that thing you know yeah it's a hard those are hard cases to make um coming out of the retrospective so yeah
Brad: So that's sprint retrospective.
Now, do you ever do sort of like project retrospectives?
Scott: Um,
we haven't I've done those before. Yeah.
And I haven't done them in my current incarnation.
Brad: Mm-hmm.
Scott: But but yeah, I think project retrospectives are kind of also a really natural step and they but you know, I'll tell you what I was gonna, I think what's interesting is
In all of these types of retrospectives, I feel like they're on a spectrum where the spectrum is likelihood of negative feelings.
Right.
Likelihood of stressful feelings where the sprint one is on the lowest likelihood of stressful feelings and the project one is probably in the middle and the, you know, the incident outage retrospective is on the far end of very likely negative feelings.
Brad: It's true.
Yeah.
Scott: And so this to me brings up the other really important point, I think, and the other strong opinion I have about retrospectives is how important it is to have real trust and,
you know, like real honest,
authentic trust amongst the team.
in all of these retrospectives and
Brad: Yes.
Scott: um i think that again this kind of you know this is another example of something that i feel like has really strong overlap with the traveling in the mountains part of my life which is it's so important that when you're in one of these low information high consequence environments
It it's so important that you have as many human observers and human brains and, you know, working together and bringing their best selves to the table. And that means they've got to be able to be able to comfortably say like, hey,
like Brad,
like you made this decision.
It negatively affected the project.
Brad: Mm-hmm,
mm
Scott: And do that in a way, you know,
I always tell you, I like to use the phrase egoless retrospective instead of blameless retrospective because,
Brad: -hmm.
Scott: you know, I need you to be able to say to me,
hey,
Brad,
this is the facts of what happened, right?
And the facts include people who made decisions.
And
Brad: Yeah,
Scott: people who did things.
And so we have to get to this place where people are comfortable saying like admitting that they did something that had a consequence or that the boss did something that had a consequence or the other team did something that had a consequence and not turn it into attacking. Right.
Brad: yeah
Scott: And not turn it into.
an insult an injury right it needs to be looked at as a a truly healthy thing for all of us to interrogate the good and the bad so that we can be better
Brad: Yeah,
this doesn't work in the mountain scenario,
but in the software scenario,
if I can, I like it when the person who caused the problem,
if they know they caused the problem.
is the leader of the retrospective because they're saying look i did this and i'm trying to get better i'm trying for all of us to get better but like to some degree that gives them the ownership as opposed to sitting in a room where everyone's eyes are on them their eyes get to be on everybody else so to speak a little bit um doesn't always work out that way so when we when i do incident retrospectives i do have an opinion on this it's got three parts to it
You always start with a statement.
We're here to get better.
We're not here to assign blame.
And the way we get better is by inspecting this and by developing we're searching for working agreements and action items that we could put in place to get better.
That's why we're here.
You just start with that statement just to set the tone.
Next step is timeline.
And we're not inspecting for the problem.
What happened? Literally what happened?
Start with when did the alarm go off? An alarm went off at 1.51 p.m.
Okay, then what happened next?
Brian found it. Brian was the first one to see the alarm.
Okay,
what would he do?
He paged Brad.
Just go through it in a minute-by-minute basis, just literally just what were the steps that happened?
And often there's a lot of confusion about what happened.
Scott: Exactly.
Brad: No,
no, no, no.
Brad didn't see the alarm.
It was Alice over here that saw it first.
Oh,
I see. Okay.
And she was already working on the incident by the time Brad got to it, you know, so like that unpacking is actually kind of valuable because a lot of times in these incidents, there is confusion, you know, nobody is quite sure what's going on.
with systems and people and all sorts of stuff so start with just getting that written down and a lot of times people don't like to do that part they want to jump
Scott: Oh,
Brad: right into
Scott: that's
Brad: yeah
Scott: the most no like that. I so that is the most one of the most important parts.
You've got to have a full accounting of what happened. Right.
And by the way, again,
strong overlap with, you know, mountain environments like this is a critical component.
component to any search and rescue after action report the very first thing that we do is we outline the timeline like when did the page come out when was the first team at the trailhead what did they take into the trailhead with them what did they you know when did they reach the subject you know it's just it's very important to have that that timeline because to your point in the moment
It's very frenetic.
Brad: Mm
Scott: It's
Brad: -hmm
Scott: very high-paced. There's a lot of information that...
And there's a lot of information that not everybody is aware of in the moment.
And so being able to then really do that retrospective where you say,
hey, these were all the streams that were happening at the same time,
Brad: Mm-hmm.
Scott: right?
While Alice was working on solving,
you know, patching the system, you know, Brad thought he was patching the system.
And they both patched two different components that counteracted each other.
Brad: Yeah,
Scott: Right.
Brad: yeah.
Scott: Wow.
That's really,
that's an interesting insight.
What, what,
okay.
So forget that the thing happened. In the thing happening, the way we responded possibly made things worse.
Brad: Okay,
so you've touched on something key, actually, that I forgot to mention.
When I do these retrospectives, I always tell the team we're actually looking,
we're solving,
we're trying to solve for two things.
not just how do we prevent this problem from happening again or get we're also looking at our response right and so when we're looking for action items and working agreements we're not only looking about where did the problem occur but how do we respond to it faster and you need the timeline for that also okay so after you get the timeline established then I like the five wise approach
And I shouldn't say I like the five wise words. I pretty much demand it. Oh, there's something else.
I really think it's important.
You talked about it's frenetic.
I try to get people next day.
Next morning is when the retro happens,
right?
Don't wait. Make them wait till Monday if it's on a Friday or something like that. But don't wait a week because people just forget stuff,
right?
You forget details.
Scott: At the very minimum, start the retrospective document as
Brad: Yeah,
Scott: soon
Brad: that's
Scott: as possible.
Brad: right.
Scott: Like there's been times when I've started the retrospective document mid-incident, right?
Like there's an incident happening,
boom,
let's
Brad: That's
Scott: create the
Brad: right,
Scott: retrospective
Brad: for sure.
Scott: document right now and start documenting the timeline right now as it's happening.
Brad: Yeah.
And,
you know, people sometimes use a Slack channel.
Often I encourage people to get into a video call like this or whatever.
Because the communication is better.
Now I'm glad that at least we use Google Meet and you've got this Gemini note taker, it can start keeping track of that stuff for us as opposed to having to write it down.
Scott: And by the way, can I speak to that for a second real quick? So one of the practices that we instituted at Health Tech Company,
which I thought was very useful,
was we essentially...
created a role that we called like the incident incident commander basically
Brad: Yeah, exactly.
Scott: almost take and that that that role was um designed to uh
be much like an incident commander is in the um in the star world of incident command system where it's like the incident commander is like sure they're the kind of like final arbiter of what's going to happen but they need to be above this they need to be above the fray and they need to be able to step back and take the 50 000 foot view um and make sure that they're delegating and deploying the experts to actually solve the problem but
but they're sitting there going okay great cool 8 p.m alarm sounded and they can start they can basically kind of be in uh in these software environments they can tend to be on that zoom call kind of keeping track of everything
Brad: Now,
Scott: and being available to sort of like you know make calls when it's needed yeah
Brad: just for the normies and muggles at home, you've said SAR a bunch of times.
But
Scott: search and rescue
Brad: search and rescue,
search and rescue,
Scott: yeah
Brad: which is very noble that you do that, by the way, I do not have the stomach to do that.
Well,
I do not have the stomach to show up at the end when you get to the rescue part of it.
Okay,
so yeah,
so I like to start with the five whys and people sometimes start too far in the process.
I like to start way up.
Why did you get? Why did the alert go off?
Sometimes it's just a customer service or a person,
why didn't Sally from customer service call you, Brad?
Well, she called me because she thought the site was down.
Why did she think the site was down?
And just be,
I try to really encourage you,
be as plaintive and almost like stupid as possible. Why did she think the site was down?
Well,
Scott: Right.
Brad: because their browser said 504 gateway timeout.
Scott: Yeah.
Brad: So, and really push that. And then along the way, and keep on pushing until you get to true causes.
And I find that it has taken some training in my experience. I learned and then I've had to teach other people what is really the root cause.
A lot of times people stop before they get to the real root cause.
Scott: What's an example of a team that stops too early or, you know?
Brad: Okay,
here we had something like this happen recently.
So we have a number of staging environments and you can kind of reserve a staging environment to test something.
And we had a confluence of things happen recently.
There's kind of a little bit of a comedy of errors.
Person A was doing a demo for some stakeholders on a staging environment.
Person B was doing some maintenance on the staging environment,
but person C was the person who had the staging environment checked out.
Scott: Oh, no.
Brad: So it was just a total comedy of errors. So you could say.
Well,
why did the demo,
why did the staging server crash during the demo?
Oh,
it's because I'll just use some names. It's because Mike rebooted it as part of this maintenance and you're done.
But really there was some other thing.
Well, wait a second.
You know, we had to get to, well, it was Brian that had the staging server reserve.
Why was Mike even working on that thing in the first place, right?
What was it about our, this is maybe not the best example,
but to me, that's not the real root cause that, you know, Mike rebooted it. The root cause is that somehow our reservation system failed,
right?
Scott: Yeah, and I actually, so that's really interesting,
Scott,
because I think that kind of dovetails into one of the things I have.
Like, I'm not going to say I don't like the five wise process.
I do like the five wise process, the idea of like,
let's keep pushing on the wise until
Brad: Digging,
Scott: we figure
Brad: keep digging,
Scott: out a true,
Brad: yeah.
Scott: keep digging.
But one of the things I see that teams struggle with is picking the first wrong,
the first why they start with is the wrong thing to start with.
Right.
And so like, for example, in your story where, you know, person A was doing a demo, person B rebooted the system and person C was the one that had it checked out.
Brad: Yeah.
Scott: Like, I feel like one of the root causes you're probably have to get to is to your point, like something went wrong with the reservation system and somehow like I guess you can get there with the five whys, but I feel like you end up.
end up having to probably do,
you know.
uh at least five different starts and you know five wise off of each of them so it's like 25 wise to have found that like because one of the wise might have been well well why did why did mike think that it was okay to do a demo in the demo environment or why did mike think it wasn't going to reboot in the middle of his demo oh well because he was doing a demo but why did he think he was the one doing you know who had the space
in space you know oh because actually brian checked it out and told mike that brian that he could use brian's checkout right
Brad: Yeah.
Scott: or whatever you know what i mean and it's like to me that's what i've i've always kind of like i always try to say like look what really matters is we need to try to figure out what the root cause is of
But many things probably went wrong, and they all have their own root causes.
Brad: Yes, there are branches.
Frequently there are branches.
In fact, my experience, most problems that are more than just a typical bug are two things happen simultaneously when the right hand didn't know what the left was doing,
you
Scott: Yep, which is
Brad: know?
Scott: why the timeline is so important.
Brad: That's right.
Scott: Right.
And it's the integrated timeline.
Brad: And then you end up with some working agreements and action items and you put them somewhere,
you know, like we like to put, you know, we use Jira, like just stick them in Jira. You tag them as retroactive items,
retro items so that you can.
measure your progress um like you uh we're the company i'm at now we're we have an sdlc document that needs a lot of refinements we're rebooting that process to refine it but i think those working agreements go in the sdlc and um that's the cycle and it's worked pretty well for me i've been pretty happy with it kind of like the five wires process i guess you don't like it okay i guess there's one there's one area we disagree red we finally found it
Scott: it's not that i don't like it i don't i think it needs there's more to it than that
Brad: What
Scott: so i
Brad: do you think? Do you have a different approach you like?
Scott: don't have a better one so maybe the reason i'm putting out there that i i feel like the five wise uh is insufficient is a plea to hey folks do you have a better idea out there like how do we make sure that it gets you know that we really cover the ground that
is the very rich nature of why cascading failures happen in the first place.
Brad: I think what you're trying to say,
Brett,
is after you smash the subscribe button,
when you're leaving that five star review,
leave a comment in the five star review for a better way to
Scott: I
Brad: do retros.
Scott: agree.
Let's do that.
And I'll say one last thing about this.
I feel like this conversation about retros.
dovetails really nicely with our conversation several episodes back about building trust because you just can't do these you can't really do good retros if you don't have a culture of trust
Brad: Yeah.
Yeah.
And I would say it is harder to build a culture of trust when you're fully remote.
which makes these retros a little bit harder yeah
Scott: It's hard to build a culture of trust.
Brad: it is hard to build a culture of trust yeah
Scott: You could stop there.
Brad: do you think it's hard well let's let's just go up a second do you think it's not as
It's not harder to build a culture of trust virtually.
Scott: Well, I've told you this, and we kind of talked about this in the building trust conversation we had.
I feel like remote.
forces you to be way more intentional about
Brad: Yeah, for sure.
Scott: building trust.
Brad: Yeah.
Scott: And I think the key to building trust is being really intentional.
And so even in a in a in person world or a hybrid world,
if you're not intentional,
then it doesn't help you that you're in person.
In fact, it might hurt you that you're in person.
And so to me.
Maybe I think it's
almost as if forcing yourself to be virtual means you have to be much more intentional and that means you're going to put the investment in and it's going to get the payoff.
So that's my take.
I think I'm not going to say it's easier,
but the tools that really work in building trust.
Those tools are available to you in the virtual world as much as they are in the in-person world.
That's my opinion.
Brad: All right.
Is that where we should leave it?
Scott: That's where we should leave it.
Brad: All right. Well, thanks for listening,
everybody.
It's been fun to have you don't
Scott: Yeah.
Brad: forget to smash that subscribe button
Scott: Rate and review.
Follow us on all the social media platforms.
Brad: All the social media platforms and tell all your friends
Scott: All right.
Good
Brad: Talk
Scott: talking to to you,
Brad: you later,
Scott: Scott.
Brad: bud.
Bye
Scott: This episode of How Many CTOs Does It Take podcast was edited by Safran Epagow.
Our theme song was AI Generated by Brad.
Please follow us on all the social media platforms at at how many CTOs pod you can find us on YouTube LinkedIn Instagram Facebook threads X tick-tock and patreon or at our website at how many CTOs pod calm and remember to rate review and subscribe on the podcast platform of your choice thanks for listening