« All Episodes

Planning is About Creating Clarity, Not Certainty

Published 4/28/2023

Planning will give you the illusion of certainty. What you really need to execute on your plans is clarity. The reality is that the future is impossible to predict, and the further away from now that you get, the more difficult it becomes to predict at an exponential rate. Focus on creating the best pathways for present decision-making.

📮 Ask a Question

If you enjoyed this episode and would like me to discuss a question that you have on the show, drop it over at: developertea.com.

📮 Join the Discord

If you want to be a part of a supportive community of engineers (non-engineers welcome!) working to improve their lives and careers, join us on the Developer Tea Discord community by visiting https://developertea.com/discord today!

🧡 Leave a Review

If you're enjoying the show and want to support the content head over to iTunes and leave a review! It helps other developers discover the show and keep us focused on what matters to you.

Transcript (Generated by OpenAI Whisper)

If you've ever been a part of a planning process before, you know that the stories we tell ourselves about what we're going to do in the future are often as close to fairy tales as it can get. And indeed, the goal of planning is often mistaken. In today's episode, we're going to talk about what planning can give you and why it goes poorly for most people. If you've been planning recently, maybe you've been sprint planning, or maybe you're doing quarterly planning, or life planning. Your next five years, you probably know that the feeling you get when you plan something is a feeling of energy, excitement. Some people feel a sense of urgency. Some people get the emotion of resolution. Perhaps you had some anxiety about not having a plan. And then when you made a plan, you... You resolved that anxiety. Other people who may have made many plans in the past may feel a sense of waste or a feeling of jadedness. Is jadedness a word? The feeling of being jaded to the process of planning. And this is because so many times you've seen planning go awry. Whether it's because... Because the plan is thrown out altogether. Or because something changes in the plan. Or maybe because you see people religiously trying to hold to a plan that has gone stale. For one reason or another, plans often fail us. And specifically, they fail us in what we thought they were meant to do. You see, people walk into planning expecting plans to create... Certainties. Certainties. Think about this for a second. What do you do when you plan? You make an assertion about what you will do in the future. And sometimes you make multiple assertions that are all chained together. What you'll do in the future, both now and also five steps or ten steps or five years into the future. And all of these assertions about the future are all chained together. And all of these assertions about the future are all chained together. And all of these assertions about the future give you the sense that somehow you've added some sense of control. Some moderation to the future. And this isn't unfounded. Of course, planning helps us get an idea of where we should go. And good planning takes into consideration potential differences in the pathway. But there's only so much... That planning can do in providing any level of certainty. And in fact, I would argue, no planning can actually provide certainty. And there's a relationship between the amount that you invest and the relative added value in the form of certainty that you get. We can interchange the word certainty in this episode with confidence. Because there is no level of planning. There is no level of planning that can reach 100% certainty. This is kind of an asymptotic relationship. As you approach 100% certainty, the investment goes very exponentially up. And you never actually reach full certainty. In other words, there are limited or diminishing, greatly diminishing returns with each invested hour or each invested day. Each invested energy unit. Into further planning. So you may plan for an hour and get 50% more confidence in that plan. But by hour two, you may only get 75% confidence. And hour three, you may just approach 80%. And eventually, you're going to be spending multiple hours just to get a tenth of a percent more confident. And this is simply because... There are so many... Many different futures. When we don't know what's going to happen next, planning requires us... Okay, think about this for a second. It requires that we consider all possible futures. All right. So if we were, let's say for example, trying to plan for the course of a quarter worth of work. And this is very common. And imagine that you're running something like two-week sprints. Okay. Most teams who are running two-week sprints can produce a meaningfully different version of software within those two weeks. Hopefully you agree with this. Now, let's imagine that your plan assumes that you're making one choice, one significant state change per sprint. And those state changes are... Only represented as a binary choice. So you can either go one direction or the other. I'm creating this model artificially. Of course, in most cases, you have many choices. Perhaps a near infinite number of choices to change your software in that many different ways. But let's imagine that each sprint, you can choose a binary path. Either left or right. Now, this can be represented as a tree. A binary tree for choice. And in a given quarter, you're going to have about six sprints. So if you do the math, you know that there are 64 possible outcome states. In other words, for you to efficiently and effectively plan this sprint, assuming only one significant decision per sprint. Sorry, this quarter. Assuming only one significant decision per. Sprint. You're looking at 64 possible outcome states. Now, we know that many more decisions are made per sprint. And most of them are multifactorial. They have many options. And so the number of possible outcome states is much more than 64. Now, arguably, when we are planning, we are choosing in advance some of those pathways. We may believe that we have a handful of those choices already made. So we're reducing the number of potential outcomes in those sprints. But ultimately, there may be new choices that are presented to us. And we never made a plan for that pathway. Or maybe we stop making choices altogether. We scrap this pathway entirely. And we start a totally new tree. Here's the important takeaway. The further out you try to plan, the more of these potential pathways that show up. The bigger the decision tree becomes. In fact, it grows at an exponential rate. The growth of this decision tree is directly related to the diminishing returns that you see from planning. For each layer that you try to plan, if you spent the same amount of time at that layer on the tree, you're covering a smaller and smaller percentage of each layer. Hopefully, this makes sense. If you can visualize the decision tree, you can imagine only covering or only planning for two or five or ten decisions at each layer. Each time you go down to the next layer, ten covers a lesser percentage of potential states at that layer. So this is all nice theory. But how does it actually apply? What do we do about this? The truth is, planning is not about creating certainty. This may feel wrong. When you hear it. But planning is not about creating total certainty. It's about finding some level of clarity to a sufficient degree so that you can act efficiently. Let me say this again in a different way. Planning is not about finding 100% certainty. It's about optimizing a clear pathway in the near future so that you can make decisions now about what to do. You're never going to be able to predict the future completely. But you can try to figure out what the highest priority items are on your backlog. You can try to figure out whether or not you think that those are going to be representing some kind of dependency on another team, on another library, maybe some kind of knowledge dependency. You can try to figure out if you think that this work represents some kind of resourcing issue. Maybe you don't have enough bandwidth on your team to meet the demands. And the timeline that the business is trying to demand it. Or maybe you don't have the knowledge and you need to invest in some training. Some of this work that you do in planning is simply about managing risk. You're trying to get the biggest benefit of the smallest amount of clarity. Good planning. Accurate planning. Truthful planning. Honest planning. Results in a lot of I don't know. Don't knows. It results in a lot of well, that might fail. Or we may have to look a little bit deeper into that. It results in a lot of I don't know if we can get that done. Or I'm not sure that this is the right way to do this, but maybe we can try it. A good planning process should identify areas of uncertainty without necessarily trying to create certainty. This is a very critical difference. Identifying an area of uncertainty creates some kind of boundary of clarity. This is like a bubble. We don't know necessarily what's inside of that bubble, but we might be able to roughly define the size of that bubble. It may become bigger. It may inflate a little bit. Or it may inflate a lot. We don't really know. But at least. At least we know that there is uncertainty. Planning is about creating enough clarity to be able to act on your priorities. That's all it is. If you find yourself trying to chase certainty, if you find yourself trying to figure out exactly what day something is going to deliver two or three or four months in advance, then you're probably going to be disappointed. And your boss is probably going to be disappointed too. You may find yourself in this rat. You may find yourself in this rat race of planning and then never really revisiting your plans after the fact. I would encourage you to go back and review what you thought you were going to do three months ago. How accurate was it? Did you meet those goals? Sometimes our plans actually do line up with what we output. When that happens, it makes sense to learn from it. But it also makes sense to recognize that that's not always going to be the case. Just. Because you had a fewer number of chaotic events occurring in the last three months doesn't mean that that calmness is going to continue indefinitely. Optimize your planning for creating clarity. And a little bonus note here. You're planning clarity should follow a gradient. The highest level of clarity, the highest level of confidence should be for the closest term work. You cannot have equal level of clarity and confidence for work that is two months away from now or three months away from now as you have for work that's coming up in the next sprint. Thanks so much for listening to today's episode. I hope this will help you in your planning efforts to calibrate your expectations, not only of yourself, but for others as well. By recognizing the fact that planning is about wrangling all of this complexity and trying to create some level of clarity. You. May be able to grow some empathy for the other people around you whose plans didn't go as well as they had hoped. Maybe they made a promise to you or to your team to deliver some dependency and then they slipped. If you know how complex and difficult it is to predict the future. And namely, that means impossible. Then hopefully you can develop empathy for people around you who struggle to predict the future as well. Thanks so much for listening to today's episode. I'd encourage you if you enjoyed this episode to go to developer t.com slash discord and join that discord community today. We're talking about this, uh, this kind of topic on a regular basis in there. Uh, and there's other engineers who are looking to give you advice that might differ entirely from the kind of advice I give on this show, but we're all there to learn and improve together. That's developer t.com slash discord. Thanks so much for listening. And until next time, enjoy your tea. Bye.