« All Episodes

Backlog Psychology - Hyperbolic Discounting, Tech Debt, and Hacking Your Habits

Published 9/21/2023

In this episode we continue the mini-series "Backlog psychology."

Would you rather have $5 now or $50 next week? The answer to this question, though it seems logically obvious which is better, does not always produce the same response. The required incentive to convince someone to wait tends to follow an exponential curve upward.

This is not just true with money, but for any benefit and incentive: monetary, social, emotional, physical, etc.

What does this mean for our backlogs? What about our daily habits?

📮 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)

you're on a team that has added tech debt to a backlog over time and you're probably wondering when will we ever get to this and why do we not do it right away what's the point of tracking this stuff if we're never going to actually work on it in today's episode a continuation of our series on backlog psychology we'll explore this unique human behavior that causes us to take shortcuts and the same behavior may be at least partially responsible for why we tend to provide optimistic estimates that get us in trouble later on down the road to illustrate this i want you to do a little mental exercise if i were to give you 100 today versus let's say 500 in a year from now which option would you choose now this assumes that the promise is absolutely airtight that there's no question whether or not you will actually get that 500 you will for sure either get 100 today or 500 in a year from now now the truth is some people may say well sure i would rather take the 500 and others might say they want the 100 but research tends to show that at some point in the future your tolerance for delay is exponentially less another way of putting this is you would prefer a smaller gain sooner than a larger gain later and more specifically that this relationship is not linear to make it practical let's look at another example let's imagine that you have three waiting periods 5 10 and 15 days and let's imagine that for each day that you wait you get an extra x amount of dollars let's say an extra 10 dollars so if you waited five days you get 50 if you waited 10 days you get 100 and if you waited 15 days you get 150. this would be a linear curve where you're trading some amount of time for some benefit in other words you are choosing to delay in order to receive something now the important thing is that this linear curve though it seems like it's logical to say well if you're willing to wait five days for 50 then you should also be willing to wait 10 days for 100 turns out that is not how humans tend to behave instead the longer the delay the more exponentially you're going to be able to wait 10 days for 100. initially more we would expect to require in order to choose that option so 50 may be good for five days but we may need to go up to 500 for 10 days and then a thousand or five thousand dollars for 15 days now exactly how much is going to be somewhat dependent on personal preference and there are some caveats for example if i said you wait five minutes versus 10 minutes for 10 versus 15 minutes. And most people, certainly most adults, would be willing to wait 15 minutes if it meant three times as much money. But setting aside these caveats, these principles, these psychology principles, apply to your work in so many ways. This concept is called hyperbolic discounting. Hyperbolic being the curve that we were talking about, that non-linear curve required to convince someone to wait longer for some reward. Hyperbolic discounting basically says that we would prefer, as humans, we would prefer a short-term smaller gain over a long-term larger gain, even if that larger gain is exponentially greater than the short-term gain. We see this in so many areas of our lives. The most obvious is in retirement savings. Very often we prefer not to put some money in retirement. And instead to have the cash on hand, even though we know that if we were to put that money into a retirement account, we would have exponential gains versus just having the cash on hand. But let's talk about something other than money for a moment. How does this apply in our work in a way that goes away from these monetary incentives for a second? Let's talk about estimation. Everyone's favorite subject, estimation. There's a variety of techniques. We won't get into that part. Let's assume that you have a relatively, you know, roughly reasonable estimation technique that gets you in the 50% range of accuracy. We will save the discussion of how accurate can estimations be for a later time. But let's imagine that your estimation provides you a range of reasonability. Maybe you're using some kind of data to tell you what is the shortest amount of time we could ever do this in versus what is the longest likely time. What is the upper bound estimation for this particular set of work? Let's imagine that you are the one that's responsible for delivering the information to someone who really wants this work done as soon as possible. That someone may have some kind of power dynamic over you, or it might just be another team that's dependent on that work being completed so they can do their part of the project. Whatever the reason is, they have some reason to want this work to be done as soon as possible. As soon as reasonably possible. We've all found ourselves in this situation. And so when that person who is motivated for this to be done soon asks you, when do you think you'll be done with this? What's a timeline that we can expect this in? You have an opportunity. You have an opportunity now to provide them with an accurate estimate. However, this is what tends to happen. It's possible, you might say. It's possible. You may give them the low end, the fast, fast as possible estimate that you worked on with your team. That estimation process yielded some particular date that would mean that everything aligned just perfectly. Nobody got sick. There was no holidays. Everything worked out exactly right. That might be the narrative that you present. Why is that? Why do we need to give them the opportunity to finish this project at a much faster timeframe than we expected? choose to provide an estimate that we know is probably not likely. It's the most rosy kind of optimistic picture that we can provide. We feel that we have the license to do this because our estimation process has shown us that this is technically possible, we think, to accomplish in that amount of time, but we know it's not likely. We also recognize that if we were to fast forward a few months and the project ends up being only 70% complete by the time that you said it might be 100% complete, that there's some pain associated with that. You have to go back to the people and update them and let them know that your original estimate was off by a significant margin. And now there's some kind of churn cost on other teams. There is some relational cost because that person now starts to develop potentially a perspective or perception that you're not very good at. Estimating. There's a lot of negative events associated with this initial choice to go with the lower end estimate. So why do we do it? Why do we do it if we know that there's negative events? Well, this is the hyperbolic discounting coming into play once again. We recognize that there is some social benefit to providing an estimate that makes someone happy. Instead of choosing to provide an estimate that we think is actually more likely, we can provide an estimate that makes someone happy. If we choose to provide an estimate that we think is actually more likely, we can provide an estimate that may make them a little bit disappointed up front. We choose to make them happy up front and then a much higher cost later. If you were to look at the benefits and costs over the entire play out here, choosing to underestimate the amount of time results in usually significantly more costs, both relationally and actual hard costs, than if we were to deal with the problem up front. This project is going to take longer than we thought it would on day one, if we can come to terms with that reality. But the difficulty is that we're choosing a lower benefit on day one. And our hyperbolic discounting says we'd rather have, psychologically, we'd rather have a small benefit and a large cost later that outweighs that small benefit. So our net cost is significantly low or our net benefit is significantly lower. So we're choosing a lower benefit on day one. Then if we were to choose a low cost now. Now, remember, we're kind of using the word cost here associated with incentives. There can be social costs, there can be monetary costs, there may be time costs. But all of this is associated with hyperbolic discounting because we are choosing a suboptimal route for the overall picture because of the optimal benefit in the overall picture. So we're choosing a suboptimal route for the overall picture. And that's why we're choosing a suboptimal route for the overall picture. In the early part of the picture, we are over-weighting the value of the near term. Think about this for a second. You're over-weighting the value of the near term relative to the value of the long term. As it turns out, this is often why that tech debt seems to pile up in the backlog. We look at things like preventive work that help us avoid problems that might happen in three to six months from now. Or we look at patching a security concern. Maybe we haven't had a breach yet, but it turns out that our software is running insecure packages and we need to fix that. Or maybe we recognize that the kind of architectural patterns that we're using are suboptimal and engineers have a little bit of pain and they're accumulating more pain as time goes on. Because as we continue to invest in that particular architecture, we're creating both a longer road to recovering that architecture to a better spot, but we're also likely increasing the complexity of the code, making every new change significantly harder to make. So the tech debt seems to pile up. Why isn't anybody dealing with it? Very often, there's something on your backlog. There is some kind of work, whether it's a feature delivery that the organization is pushing for, or maybe it's a bug that another team has filed that needs to be dealt with immediately. For whatever reason, there are things that produce more immediate value. Now, you may be saying, well, yeah, sure, but the immediate value is very small. This problem, if we had a security breach in a month or three months or six months from now, it could be massive. The funny thing is, you're not wrong. The value that you would generate in dealing with your tech debt now is almost certainly exponentially greater than whatever value it is that you're delivering by furthering your tech debt now. So why do we keep doing it? Well, you're looking at that hyperbolic curve in action, a greater incentive, sometimes a significantly greater incentive, that is distanced from our present reality, something way off in the future, that has not been replaced. So you may be saying, well, yeah, sure, but the immediate value is not happened yet will be discounted. Think about this. It's going to be discounted. The value of that, even though it may be fixed at, let's say, that $1,000, you're going to discount it in a hyperbolic way. So you're going to treat it as if it's only worth $100. Again, the numbers we're using here are not a fixed measurement. Everybody's hyperbolic discounting is going to look a little bit different. But the future gain has to be so much greater than the present gain for us to overcome this bias. So what do we do about this? What do we do about our hyperbolic discounting? Being aware of this is not necessarily enough. What we need to do is create incentives. And importantly, they can be small incentives, small incentives, because we can create them in immediate term. Finding ways that the tech debt burndown, can provide an immediate benefit, whatever that incentive is. If you can find an immediate value delivery, if you can prove that whatever you're doing provides value sooner, then it doesn't have to provide nearly as much in order to convince people to do it. This is the kind of opposite side of the hyperbolic discounting. In order to convince somebody to do something that has long-term value, you need to have a good value. You need to have a good value. You need to have value later. Provide a short-term incentive now. This could be something as simple as social recognition. Recognizing the person who has proactively dealt with some kind of technical debt in each sprint that your team does. This would be an example. I'm not saying this is exactly how you need to do this, but that is an example. Think about all of the different ways that you might incentivize in a way that provides immediate benefit. Value. Not long-term value only, but immediate value. And then you can start building for that long-term picture. We can do this in our personal lives as well. This applies in our habits. If you can give yourself an incentive to doing something that may require a lot of investment, a lot of time to see the benefits of, try to find some kind of incentive to pair with that behavior so that you get immediate value out of it rather than having to wait such a long time. The investment is a loss in the immediate term, which explains why so many people have a barrier to entry to doing things that require a lot of discipline. So what are the incentives that you can provide for yourself? This is one reason why when people initially start a new habit that requires some level of discipline, they're likely to post that on social media to share it with their friends because that gives them the immediate gratification. It gives them some immediate reward. But interestingly, it's not just the gratification. It's the gratification of the immediate reward. And interestingly, the immediate reward is often not followed up on because the next message they send out to social media or to their friends may not have the same level of social value to them. This is how the incentive plays out and how it actually turns out to be still requiring some level of discipline. So think very thoroughly about how you are designing your immediate value incentives in order to gain those long-term benefits. Thanks so much for listening to today's episode. If you enjoyed this discussion on backlog psychology, we actually went way far away from just backlog here. Hopefully this is valuable to you and hopefully you can use this in your everyday life. Join the Developer Tea Discord community if you enjoyed this. It's developertea.com slash discord. Thanks so much for listening and until next time, enjoy your tea.