This is a transcript of episode 320 of the Troubleshooting Agile podcast with Jeffrey Fredrick and Douglas Squirrel.

This week on Troubleshooting Agile, we bring you a bumper edition of 2022’s Summer Shorts - Learning Loops. Taking iterative development to heart, Squirrel and Jeffrey discuss six learning loop topics in less than five minutes each.

No show links this week.

Listen to the episode on SoundCloud or Apple Podcasts.

Daily Learning Loops

Listen to this section at 00:14

Squirrel: Welcome back to Troubleshooting Agile. Hi there, Jeffrey.

Jeffrey: Hi, Squirrel.

Squirrel: So this week we’re going to talk about a learning loop topic and Jeffrey we only have five minutes. Do you think we can do it?

Jeffrey: Ooh I think we can.

Squirrel: Great. Then here we go. Okay, Jeffrey. So we got five minutes. Basic learning loops. What are they? Daily loop. How do we do it?

Jeffrey: Okay, so the daily loop is something that you can do with a team, and you can do it individually. And it’s basically about starting your day with a plan and then checking in at the end of the day and see how things went.

Squirrel: Sounds easy. Doesn’t everybody do that?

Jeffrey: You know, surprisingly, no. I think it’s very common for people to not do this in various ways. One way is you can have the form of it, but without the learning. When I come across people who are unhappy about their stand-ups, often it’s because their stand-up doesn’t have any sort of learning focus. It’s just a discussion of what people have done and there’s no real focus on it.

Squirrel: If your stand-up is boring, don’t do it that way. Do something different. Your stand-up should never, ever be boring.

Jeffrey: That’s right. You should be energized. And part of what makes it energizing is that we’re going to focus on the conversation. And the idea that’s exciting to me is, you know, ‘what is it that we plan to do?’ And then at the end of the day, I like to end with a daily demo of ‘this is what we did and how did that go compared to what we expected.’ And these things continue to lead in. Then the next day you can say, ‘well, given what we learned yesterday, here’s what we are going to do differently today.’

Squirrel: That’s the key part, ‘is what are you going to change?’ That’s the learning.

Jeffrey: The dynamic element here because it’s the dynamic driving rhythm of it that makes it so exciting. And I’ll say this is at a team level, but it works individually as well. If I go and say, ‘here’s what I’m planning to try today, here’s the thing I’m going to experiment with. Let’s go see how the day goes,’ at the end, ‘how did it work versus what I predicted?’

Squirrel: Hey, Jeffrey, we could try doing five-minute podcasts, and we’ll see what we think about it.

Jeffrey: That’s right. And first of all, can we stick to five minutes, because that’s not our normal length? And we have this prediction, and then we can go and say right, ‘Well how was that? How did that go?’ And this is a pattern I use with people I coach all the time saying, ‘well, this is what you’re going to try. Then look back and see what happened.’ And it can be something as basic as you know. Were you able to spend the time you wanted to on the day on your most important item? Did you have that focus on what you said was the most important thing? And if not, can you do better tomorrow? And every day is like that. Can I improve on the previous day?

Squirrel: Yeah. Do I have to aim for perfection? I mean, Jeffrey, if I don’t accomplish all the things I write down, if we don’t do everything that’s in the stand-up, do we just quit and give up? And it didn’t work?

Jeffrey: No, not at all. The goal here is about learning, not perfection. It’s about the journey, not where you arrive. So this is something that you’re looking to always improve. Perfection is not the goal.

Squirrel: And I’m so proud of my coaching clients when they go and try some difficult homework, and they say, ‘I’m going to do that this afternoon.’ And then they phone me the next day and say, ‘I tried it. And it was a terrible disaster,’ because that means they actually tried it. The ones who are painful, the ones who don’t make as much progress, are the ones who come back a week later and say, ‘I couldn’t get up the courage to try it.’

Jeffrey: That’s right. The learning through doing and the imperfection is the path to improvement.

Squirrel: Excellent. Go forth and be imperfect.

Weekly Planning

Listen to this section at 03:51

Squirrel: Okay. Weekly planning. Jeffrey, last time we talked about daily planning. What’s weekly planning?

Jeffrey: So weekly planning again, this is a common cadence. And it’s also something that can apply both individually and as a team level. This is something that are people are probably most familiar with from scrum. And if you do a weekly sprint, then what you’d have is the ritual of the weekly planning meeting.

Squirrel: Oh, and you have the grooming, and then you have the preparation for the grooming that actually comes before that. And then you have the pre preparation grooming. Is that part of it?

Jeffrey: That’s not the part I’m going to focus on. And what you described sounded fairly horrific. Which is why this is not about scrum per se, but it’s about giving yourself a cadence to say ‘what are we planning to do this week? What do we expect to get done?’ And for me, I don’t know why, but a one week has always been a very natural planning horizon when it comes to software. In fact, I’ve kind of had a rule that the things that we think we can get done in a week, we’re pretty good in our estimates. You know if it’s a week or less, we’re pretty good. Any estimate that’s longer than a week, I have found to be entirely unreliable.

Squirrel: And, you know, I had somebody ask me a wonderful question when I was trying to plan for three months at a time, a whole quarter, he said, ‘what are you going to have for dinner three months from now?’ I said, ‘I have no clue. I don’t know where I’ll be, what do you mean?’ And he said, ‘what are you going to have for dinner next Tuesday?’ And I said, ‘well, it’s probably either going to be this or that because I know what’s in the kitchen.’ It’s the same thing. You have so much more information. You can make such a better prediction.

Jeffrey: That’s right. So the weekly planning, I like it to be sharp enough to be falsifiable. And this is a key idea, is like, ‘what do we actually expect to get done this week? That at the end of the week we can know did we make it yes or no.’ That’s the key here. This is the main discipline is to be precise enough that you can look back at the week and say, ‘yep, we did it’ or ‘no we didn’t.’ And that precision really helps with the focus day to day throughout the week. ‘Remember this is what we’re trying to get done. Are we on track to trying to get done?’

Jeffrey: And the weekly planning is where you all assess like ‘what are the variables this week that matter?’ ‘Oh, don’t forget, you know that we have that conference we’re going to on Thursday afternoon.’ ‘Oh don’t forget this person’s out on Wednesday.’ ‘Oh I have a dentist appointment.’ ‘So oh yeah, let’s factor all that in. Given what we know we think this is realistic. This is what we think we can get done as long as we’re focused and disciplined. And given what we know tends to happen here.’

Squirrel: And are we aiming for perfection here, are we looking to actually accomplish everything on the list? Hint: no.

Jeffrey: No, these are learning loops, not perfection loops. If it was perfect then you would stop, right? ‘Okay, that was perfect. We’ll probably never do that again,’ that’s my experience anyway. You’re always looking to say, ‘here’s the best estimate we can make, given what we know today,’ and the gap between what we expected and what we accomplished is where the learning happens. And surprise, sometimes things go better than we anticipated. Things take less time that’s allowed! And you can say, ‘well, that’s great! What happened that allowed us to be faster this week, and how can we do more of it next time?’ So it’s not just about things going badly. It’s also sometimes things go well and learning from that to.

Squirrel: Wonderful.

Elephant Carpaccio

Listen to this section at 07:14

Jeffrey: All right, Squirrel. Today’s topic is elephant carpaccio. What is it? And how is it a learning loop?

Squirrel: Well, so the most important thing to understand here is what is carpaccio? Now, this is hard for me as a vegetarian to come up with. But, Jeffrey, you’re a meat-etarian. Do you know what carpaccio is?

Jeffrey: It’s thinly sliced beef.

Squirrel: Yeah, so thin that you can see through it. And that’s the crucial idea, is that you can take your elephant. That’s your giant project, whatever it is that you’re working on, and you can slice it into pieces that are thinner than you thought that you could imagine.

Squirrel: So I usually try to blow people’s minds by saying, ‘you can do this once a day,’ so you could release new pieces of software that allow you to learn, that test a hypothesis, that move you forward, once a day. But I can do more than that today, because I had a client who told me that they moved from releasing maybe once a month or once a week, I don’t remember, to releasing five times a day. And it’s actually blowing their minds that they’re actually having trouble adjusting to it. But I said, ‘this is good. This is the right kind of learning to have. How can you keep that pace up and what can you adjust to make that happen?’.

Squirrel: So part of the trick is to expand your horizons, expand what you’re imagining to what could you learn quickly from your customers if you were releasing five times a day or once a day? What opportunities would that create for you? And then you can wonder, ‘well, gosh, what are the skills I need to accomplish that?’ I don’t think we’re going to teach that to you here in this session, but we can at least blow your minds a bit and suggest, what could you do if you got there?

Squirrel: And just to blow your mind even a little bit more, I had a client, some years ago, who was in biotech. So when their software would run, it would give people results that might cause them to cut off parts of their bodies. So it was kind of important that the results that they were coming up with really mattered. You didn’t want to get it wrong. And so they said, ‘yeah, we release every six months because we have to do all our quality checks. The quality people tell us we have to do this. We can’t learn that quickly.’ The salespeople, of course, were absolutely beside themselves. They couldn’t get the progress they needed. We got to every two weeks, which was just as mind-blowing as to some of our listeners. Five times a day might be in the biotech world.

Squirrel: This was absolutely nuts. It was something you couldn’t imagine. But the results were amazing. And it turned out that some of the barriers they thought were there, were not. The regulator, the quality assurance people said, ‘this would be wonderful. We’d love to do smaller things as long as you document carefully what they are.’ So the trick here is to get to a very tight loop, more than you can imagine. And make sure you have a clear hypothesis that you’re testing. The opportunities are tremendous.

Jeffrey: And one point here I’d like to test with you is about who is involved, because I know Alistair Cockburn, who coined the phrase elephant carpaccio. Sometimes he said, the problem is if you have teams where it’s just the developer saying, ‘well, tell us what to do,’ and they’re asking the PM to slice things up, they don’t always know the right way to slice it. So who’s involved in determining the slices? Is this just coming from the business and everyone else says ‘okay, fine, we’ll do it.’

Squirrel: No no no, that certainly wouldn’t work. So what you want is a joint design process, something where the people who are knowledgeable about how the business works. In my example there, in biotech, you’d want people who understand what are the testing materials, what is the biological input that’s going to come in that we’re going to be testing, as well as the engineers who know how to run exactly the right script at exactly the right time, and how that can be adjusted and improved. So you want a joint process there.

Walking the Board

Listen to this section at 10:43

Jeffrey: All right. And that’s a software version of carpaccio. So, Squirrel, tell us about walking the board.

Squirrel: So this is a technique that we kind of builds on something we talked about in an earlier short. This is a method that you use in your stand-up. And it’s a way of really making sure that there’s learning happening in your stand-up. Because I don’t know if you’ve been in this kind of stand-up. Jeffrey, where the first person says, ‘what I worked on yesterday was,’ and finishes the sentence and the next person says, ‘what I worked on yesterday was,’ and finishes and everyone else is going to sleep or staring at their shoes. And if you’re having a stand-up like that, you’re bored in that stand-up. There’s no learning happening, because what’s happening is outbound information, no inbound information.

Squirrel: Walking the board is one of many ways that you can break that up. And if you want to create a learning loop in your stand-up, try this, have the board attend the stand-up. What do I mean by the board? Well, typically somebody uses something, I hate to say the word Jira, there are many other options. Somebody was using something called ‘height’ the other day. I don’t know what they’re all called. But whatever it is, if it’s a spreadsheet, if it’s a revolutionary idea, you might put-

Jeffrey: A wall!

Squirrel: -yeah, cards on a wall. That would be a crazy idea. Wherever it is, you take that list of tasks, and it’s the attendee, and it drives. So we start with the first item, typically, ideally that would be the most important item that we’d have them ranked. The first one in the ‘being worked on’ column, whatever you call that. And we say ‘who’s working on this? What’s happening with it? What’s stopping us?’ [Background barking.] Sorry. The dog’s excited. Look at that. ‘What’s happening? What’s going to keep us moving on this particular task?’ And the dog says, ‘well, if I can go outside and bark, we’ll make more progress.’ And Jeffrey says, ‘uh, well, actually, I’m stuck on the front end. I don’t know what the API is for the back end.’ The back end person says, ‘well, I don’t have any information about how this field should be formatted.’ And the product manager says, ‘I can get that for you.’

Jeffrey: But wait a minute. You had lots of different people talking here. It’s not just one person talking about what they did!

Squirrel: Exactly! Welcome to the chaos! The interaction, just like my dog is busy barking at all the other dogs in the neighborhood. That’s an interactive process. We’re going to learn things by having more discussion going back and forth, and what we won’t have is everybody staring at their shoes.

Jeffrey: So you’re letting the board drive is what it sounds like. So the board attends and the board drives, it sets the pace. And then we have the chance to learn from each other.

Squirrel: Exactly. Because when you’re done with the first one, and you’ve finished learning from the first one, you go to the second one, and the third one and the fourth, whatever is currently being worked on. If you have 100 things being worked on at the same time, that’s a different problem. We should talk about that another time. But if you have a reasonable number-

Jeffrey: A good way, a good way to learn about it, you might learn that way.

Squirrel: It would! Like, ‘hey, wait, we’re out of time for the stand-up, but we’re only on number five.’ That would be a very useful thing to learn about in your stand-up from the board. And that’s the key thing is, the board is an attendee, the board is part of your stand-up, the board is where you learn.

Jeffrey: All right. Love it.

Retrospectives

Listen to this section at 13:53

Squirrel: Right, Jeffrey. So we’re talking about learning loops. And one of the ones that people are wondering probably why we haven’t talked about yet is retrospectives. How do you use a retrospective? What’s it for? How do you learn from it?

Jeffrey: Yeah, retrospectives are so interesting because they went from, in the early days of agile, being one of the stars of the show. I remember Alistair Cockburn once said, like, ‘if you had nothing but retrospectives, you could derive all the rest,’ to today, where retrospectives are probably one of the most maligned parts of agile process that I hear. People find that their retrospectives are boring, dull, lifeless. And what’s the gap between the two?

Jeffrey: Hint: the question is, are you using it as a learning loop? Alistair’s whole claim was that if you’re using retrospectives correctly, you could learn everything there is to know about agile. You could rederive it all yourself from your own experiences. And how do you do that? Well, you might have gotten already, that you have a lot of these learning loops, are the form of: there’s a prediction, and then you take action, and then you reflect back on how things went. Between what you predicted and what actually happened.

Jeffrey: Now, if you look at what happens in a lot of retrospectives, people come in and instead of doing that, and have that format, ‘what did we what did we predict and what happened instead,’ they’re saying, ‘well, how do we feel about what happened?’ You know, ‘who wants to put cards on the board?’ Maybe they’re red, blue, green. It depends on different formats.

Squirrel: So wait, Jeffrey, wait a minute. So you’re saying in a retrospective, we would talk about the previous retrospective?

Jeffrey: That’s right. Because the point is the previous retrospective, we came up with some changes because we said, ‘oh, there’s something that’s not going as well as it could. There’s something we should start doing or stop doing or do more of.’ It’s like, great! We defined an experiment in the retrospective, and then we ran the experiment in the time between retrospectives. So we come into our new retrospective. And the first order of business is, ‘well, how did that work out?’ Those things that we tried, what actually happened? What was our experience? And this is our opportunity for learning!

Jeffrey: There’s a phrase that says, ‘there’s no action without learning. There’s no learning without action.’ But actually there’s no action without the potential for learning, the possibility for learning. And we give ourselves that possibility when we take that moment to reflect back and say, ‘how did this go versus our prediction? We made this change for a reason. Did we achieve what we wanted to or did we not?’

Squirrel: So you’re describing a situation where there’s an output from the previous retrospective, and then we do something with that output, and then we feed it in as input to the next retrospective. That sounds like a learning loop, because we’re going to have information passing around a loop. This sounds very valuable. Why don’t people do more of that?

Jeffrey: I think it’s a question about what a retrospective is, and the idea, the focus on learning, I think is something that’s been lost. And a lot of people think a retrospective is merely ‘we’re looking back on a period of time,’ and they think of only the time period back to the previous retrospective, but they don’t think of it extending to the output of the retrospective. So as result there’s not this same idea of, ‘are we holding ourselves accountable for the decision we made last time?’ We’re just sort of only reacting in an unstructured way to what our experience has been, as opposed to, there’s a structure to this. ‘Are we getting the payoffs? Are we learning? Are we getting better?’

Jeffrey: To me, that’s that’s where the real power and excitement of retrospective is, is the idea of continuous improvement. We should have the feeling of like, ‘yes, we’re getting better. Yes, these changes, these things we discussed, we come in, and we solve problems together. We come up with solutions, we try them, we run these experiments, and we have this sense of momentum that’s building.’ That’s exciting and energizing! And that’s what retrospectives can give you, if you have that focus on learning.

Squirrel: So I sense a theme. It’s coming through all of our learning loop discussions this summer. And that is, if you’re bored in whatever process you’re following, whatever is supposed to be a loop but isn’t, that’s a signal that your loop is broken. So try to create more excitement. How can you get more excitement? Create a narrative, something that’s happening over and over again, some sense of movement. And that’s exactly what we’re describing here with a retrospective that has an input from the last retrospectives’ output.

Jeffrey: Exactly.

OKRs

Listen to this section at 18:14

Squirrel: Okay. We’re looking at OKRs today. That’s our learning loop. Jeffrey, what’s an OKR? What does it stand for? Why don’t people use them? And why do they find them boring when they do?

Jeffrey: Okay. ORKs stand for objectives and key results. They’ve become fairly popular, a lot of people are doing them, in the sense that they have a process where they use the letters O-K-and-R. However, a lot of times it doesn’t do much to reflect the actual goals of OKRs. Now, a lot of focus in OKRs are actually on the execution and alignment aspects of the objectives.

Jeffrey: How do we know what it is that we’re all going to be trying to achieve? And there’s value in that. But I think people again, miss the potential and the real power of OKRs, which is that longer phase learning loop. So what we’re talking about here throughout this series about loops, but we end up with loops within loops. And OKRs are a natural, large scale, learning loop of over this whole project, over this whole quarter, we’ve set an objective. We defined what success would mean. That’s what key results are! They’re your prediction that you’re making at the start of the quarter, saying, ‘we believe, if we were to achieve these things, that we can measure, that we would have achieved our objective.’ It’s a prediction that you’re making.

Squirrel: And, Jeffrey, let me check. But when you’re describing a prediction, that’s a prediction about something uncertain. So I always say that if somebody’s OKRs are so clear that they dictate exactly what someone is going to do on the fourth hour of the 17th day of the quarter or something like that, they’re doing it wrong. Do you agree with me or do you see it differently?

Jeffrey: I agree completely. OKRs are not supposed to be recipes. The idea is that you’re defining what success means. So it’s sort of like you said, you know, the cake should be light and fluffy at the end. It’s not telling you the steps to make. Now, it could be you’ve never made cake before. You don’t know what you’re going to do to make it light and fluffy. But that’s your goal is to learn during the quarter. You’re saying, look, ‘we think we can achieve light and fluffy cake. We don’t know how we’re going to do it yet! But we think it’s possible.’ And at the end we’re going to we’re going to look and say, did we achieve light and fluffy cake? It’s not a recipe.

Squirrel: Our smaller loops throughout the quarter should help us to determine whether we’re on track for light and fluffy cake, or improved conversion rate or whatever it is that we’re trying to produce. And so they should be there-

Jeffrey: That’s right.

Squirrel: -Should be this nice interaction between the shorter learning loops we’ve been talking about all summer, and this larger final learning loop of the OKR.

Jeffrey: That’s right. And in some of our previous episodes, we’ve talked about the big arrow. The idea is, we have a bunch of energy going out to try to move us in a direction, and the big arrow is the one that that gives the bounding context for all the other little arrows, all the other efforts. The OKR, the thing is, this is the big theme, this is the big goal. So anything that you do in the quarter, it should be aligned with this.

Jeffrey: And so it’s a combination of not just prediction but also prioritization. This is what we value. This is the outcome we value. We don’t know exactly how we get there. But this is what we’re looking to achieve. We have a prediction, and this is the key part again coming back, we have a prediction of what success would look like and what it would mean. And then at the end of the OKR you score it! This is part of the process. And a lot of times people think about the scoring as the point, like our goal is to get 100%. We want to make the OCR go green. Well, there’s value in that, but the real value of the OKRs come beyond that.

Jeffrey: When you say, great, what did we learn in the process? If we succeeded and we went green, why? What did we do? What did we learn in the process? And if we failed, if we didn’t achieve our objectives, or we didn’t receive our key results, why not? What obstacles came up? How will this impact our planning in the future? Because then you go in the next cycle of OKRs, and that next cycle of OKRs should bring forward the lessons that we’ve just learned. We just paid for the quarter to learn a lot. How were we going to use that investment in the coming quarter?

Jeffrey: And I think OKRs, looked at from this perspective of this is a prediction, and we’re going to run an experiment for the quarter, and we’re going to learn from the result, whether we succeeded or failed, and it’s going to influence our next set of OKRs. It really changes people’s relationship to OKRs as opposed to how a lot of people treat it, which is this is a plan. You’re going to do these things, and we’re going to grade you at the end. Did you do what we told you to do? That’s not the way to approach OKRs.

Squirrel: Well, if listeners enjoyed that learning loop topic, and if you’re interested in another exciting, punchy, fast topic, come on back next week for another edition of Troubleshooting Agile. Thanks, Jeffrey.

Jeffrey: Thanks, Squirrel.