Developer Tea

Implicit Models and Processes

Episode Summary

What actions have you taken in the last hour? In today's episode we're talking about the simple fact that everything we do is governed by some sort of process.

Episode Notes

We often hear the term, "process", and this carries a lot of baggage. It's easy to believe that processes are one concept that we apply to something we do. In today's episode, we're talking about implicit processes that we follow without realizing it.

🧡 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.

🍵 Subscribe to the Tea Break Challenge

This is a daily challenge designed help you become more self-aware and be a better developer so you can have a positive impact on the people around you. Check it out and give it a try at https://www.teabreakchallenge.com/.

Episode Transcription

Take a minute and review the last couple of hours of your life. What actions did you take? What did you actively think about? And on the flip side, what did you actively decide not to do? What were the options that you rejected? What actions did you not take for better or for worse? In today's episode, we're going to talk about the simple fact that everything we do is governed by some kind of model or process. My name is Jonathan Cottrell. You're listening to Developer Tea, and my goal on the show is to help driven developers like you find clarity, perspective, and purpose in your careers. We often hear the term process, and it carries a lot of baggage as software developers. We can be afraid of process, or we can be overzealous about process, about instituting processes for everything. And perhaps because of the pervasiveness of this language, it's easy to believe that processes are one concept that we intentionally apply to our decisions. But processes, are a part of everything we do. What we're often referring to when we talk about processes as it relates to software development is the intentional processes, perhaps the uniform or shared processes, that we establish on purpose. These explicit processes are often found when we have team collaboration. For example, processing our backlog together. We might have a particular process that we want to work on, but we don't want to work on it. We want to work on it together. What's easy to forget is that processes are all around us. Many, in fact, the vast majority of the processes that we follow are implicit. They're underneath our consciousness, or they're so common to our everyday lives that we haven't really thought about it as if it was a process. Generally speaking, processes are built off of one or more models. Models are ways of thinking and predicting in the world around us because a process is instituted to act in a way that we believe will be beneficial. At least most of the time, that's why we follow explicit processes. This exercise, this exercise of following a process for some future benefit is a forecasting exercise. We're trying to predict something that might happen in the future and then take action to drive that particular outcome that we want in the future. So a good process is based off of some kind of model. This isn't necessarily a mental model explicitly. It can be, but a model is a way to think about different types of information. It's very broad and intentionally broad because our processes, reflect all kinds of inputs, not just pure data, but also information that is coming from non quantifiable sources like opinions. Let's inspect, for example, a seemingly simple process of choosing where to get food from. Let's imagine that you're trying to get food for the evening. So what process do you follow? Well, you can imagine that multiple models might come into play. If you. Are on a particular diet or maybe you have allergies and there's kind of this constant model that provides some kind of restriction to your available options. Maybe you have a particular craving. This kind of information is something that is difficult to quantify, but certainly information that you take into account when you're deciding what you're going to have for that meal. Imagine that you had in particular cuisine for lunch while your model for choosing dinner. You might include in it some kind of frequency. You don't necessarily want that same cuisine that you had for lunch also for dinner. You might also include some kind of frequency of nutrition. So if you ate unhealthily for lunch, you may be more prone to eat healthily for dinner. We're only barely scratching the surface on this. You can talk about culture. You can talk about location. You can talk about budget. All of these things. Interplay with each other. In this simple, seemingly simple decision. There's so many models to consider. And yet we make these kinds of decisions every single day. And a lot of the reason for this is because we've taken those explicit models that we might use when we're collaborating with each other. And we've moved them more towards implicit models. And so our processes reflect those implicit models. These are the assumptions that we're making about the world. And very often our assumptions help us to operate. Rarely do we go without food because we can't make a decision. So the exercise that I want you to take away from this episode is to consider the models that you use for your everyday small decisions. This may be something as simple as how you manage your email. What kind of model or multiple models, probably multiple models. What kind of models are you using to inform your processes? Remember processes are just kind of the actions that you take. But those actions are governed by the models that you use to govern them. What you'll probably recognize is that a lot of the models that you have adopted, you haven't really thought about updating those. You haven't thought about whether those are explicitly valid and where that information is coming from. When you see this at play in your small decisions. It's easier to gain an intuition about how complex it might be to really define your higher level models and processes. And then to share those with other people. If nothing else, this is an exercise in both empathy and humility. Recognizing that everyone has all of these processes and models and that all of us have different experiences that inform those models. Can help us. Understand that other people's behavior is not predictable. And the things that we might think they should do. They're very likely heavily biased towards our own models and processes. The second lesson that you might take away from this is that it might make sense for you to be explicit about more of the models that you care about and try to move the ones that you don't care very much about more towards the implicit scale. Thank you so much for listening. To today's episode of developer T. If you enjoyed this episode, I encourage you to do two things. This is a request for me. First, if you know someone who's interested in this kind of systems thinking who might benefit from this episode. Then share this episode with them directly. The second request is if you found this episode valuable. Then it makes sense that you would subscribe to this show. And if this show provides you any kind of professional level value. Then it's totally free for you to keep up with the show. If you find another episode that you think might be valuable to you. And you didn't really have to pay anything for it. So the exchange is a simple press of a subscribe button. I encourage you to subscribe to the show for that reason. Today's episode was produced by Sarah Jackson. My name is Jonathan Cottrell. And until next time. Enjoy your tea. See you soon.