Hello everyone, today’s post is gonna be a quickie about tackling issues at the right time. Sometimes we try to multitask in order to be more efficient and to save time. This leads to taking on issues you should be dealing with later as tackling them now increases the risk of not going all the way. It can even incur losses. Losses that can be similar to those occurring when tackling issues too late. Something happened yesterday that reminded me of this, let’s just jump into it.
I’m guessing that you know about this whole madness with the Wuhan flu out there. In that context, my girlfriend and I decided to practice locking ourselves for the weekend. We bought some provisions to pack the fridge and got some non-perishable food. The time is Saturday, we just finished lunch, I did the dishes and now am watching for the third time my yet unreleased podcast episode. Episode recorded on women’s day so watch out for this one, not sure yet when I’ll push it.
Suddenly, I hear screaming in the kitchen. Worried, I drop the laptop on the couch and go check what happened. I can see my girlfriend not crying but not far with a bunch of blood on her hand. Looking at the floor I can see the two big ceramic and glass bowls I just washed, definitely guilty of her cuts, were in pieces. As my last resort, I grabbed sterile gauze and urged her to press it on her hand to stop the bleeding. After I finished cleaning everything, I wondered how the hell we got there. As you’ll find out we could have avoided all the pain and additional work. You probably already know this but the lesson here can be applied anywhere.
I kinda guessed what had happened but then she confirmed it to me. First, she used her left hand to pick up a saucepan. Then, she stacked the big bowls on top of the said saucepan. Also, she was replying to a friend on Whatsapp with her right hand. Unbeknownst to her, he saucepan handle unscrewed and what was bound to happen ensued. Broken things and blood. It was way less metal than it sounds.
Later on, I asked her why would she try to pick everything at once, especially while texting. She told me she just wanted to be done fast and had to reply to that message. There was a relative sense of urgency and need to get things done fast. The risk felt low and the reward good enough. She knew that picking things one by one to put them away would have been less risky. For starters, neither the ceramic and the glass bowls would be laying, shattered, with our recyclables. To be fair, it could have happened but would have required an almost comical series of unfortunate events. Had the faulty saucepan been picked individually, at most it would have fallen without causing any damage.
I see what is akin to a failure of tackling issues at the right time occasionally in pull requests. Picture this, you’re a developer in my team and open a pull request. That pull request is clearly within the boundaries of a story in a legacy codebase. I come to review and ask you to rewrite what would amount to say 70% of the project. That would be a terrible and potentially damaging move because this would be work outside of what is necessary and sufficient. I can’t just see you picking up a faulty pan and ask that you stack fragile bowls on top of it when you’re trying to move just the pan somewhere else.
Actually, let’s get back to that saucepan. I knew the handle to be screwy. I remember seeing the handle wobble a bit at least a couple of times in the past. Full, disclosure, I even thought to myself that I would fix it at some point. It would always happen at the wrong moment. Either I’m about to go to work, about to go to bed or on my way to the gym. I ignored it probably for months. And here we are, on a day where this incident happens, I think that maybe I could have avoided this. Maybe there is an alternate reality where I fix the saucepan the first time I spot the issue. However, since it’s a reality where I don’t write this post I enjoy putting words into, it’s not really my favorite.
Unsurprisingly, I can draw a direct parallel between not fixing that saucepan handle and leaving tech debt unattended. I’m not talking about wishlist tech debt as “let’s try to replace MariaDB with MongoDB because it’s better”. Actual debt that will come back and bite you if left alone too long. That one we won’t get away with. Even if we don’t pay for it, someone will pay eventually. And it might cost dearly.
So what do we do? We live in a world where doing more faster can create more problems. This happens to be a world where doing less or postponing tasks can create a similar amount of troubles. What options do we have? We can measure the risks and prioritize our tasks based on risk once factored in. Not just once, but over time, we need to reassess our risks and priorities to get the best reachable outcome. Just like in that Agile thing that gets distorted and thrown all around the place.
Know what you can do while considering the risks, know how complex something will be and whether it fits a given timeframe. Pick up tasks one by one. Then do that over and over again as time and circumstances can change. I believe that we all want to be tackling issues at the right time. Not too soon, not too late. We need to be checking ourselves constantly and remain focused. It can save much trouble down the road. As men of code, it can be much more costly to a company than a couple of fragile bowls. And yes, the cover picture was taken instantly after the incident as my girlfriend with her right hand while trying to stop the bleeding of the left hand pressing the gauze on it against her chest. Guess the risk was minimal there.