Category: Uncategorized

  • Why Skipping Unit Tests Is A Bad Idea

    Why Skipping Unit Tests Is A Bad Idea

    Unit tests were introduced about twenty years ago with the intent of improving software quality. They can be tedious, so developers (especially junior developers) tend to avoid them. It is well known that there is a learning curve associated with writing unit tests, and mentoring is essential to build this skill. While working in a…

  • Why Avoid Decision Paralysis

    Why Avoid Decision Paralysis

    Sometimes we struggle with very minor decisions in different settings. A common example of this is when we want to watch a movie and we have not picked one after one hour of scrolling. When we don’t make a decision, we’re deciding not to decide. Sometimes, this is the worst decision we can make. Decision…

  • Play For The Team

    Play For The Team

    During my career I’ve seen many teams of different shapes and sizes, and I’ve noticed that the most effective teams are those where people actually care more about their teammates than themselves. Takehiko Inoue shows this very clearly in his best seller manga Slam Dunk, which also happens to be my favourite. This manga follows…

  • De-risking A Rebuild

    De-risking A Rebuild

    My team recently started working on a product rebuild from the ground up. All software development projects have some inherent risks. In my opinion, the main risks of this project are: To manage these kinds of risks, teams often turn to frameworks like the Project Triangle, as I explained in this article. However, that doesn’t…

  • Project Deadline Estimation

    Project Deadline Estimation

    When we estimate how long a project will take, we need to start with a fundamental understanding: we will always be wrong. No matter how much experience we have or how carefully we analyse the work, unforeseen factors will influence the outcome. The goal of estimation is not to predict an exact completion date but…

  • The Paradox of Agile Estimation

    The Paradox of Agile Estimation

    In the world of software development, Agile is recognised for its flexibility, iterative feedback, and embrace of uncertainty. Paradoxically, most developers are still expected to estimate when a project will be completed. In this article, I’ll explain why we estimate, how Agile was born, and how this paradox arises. Why We Estimate Software developers who…

  • Dysfunctional Teams

    Dysfunctional Teams

    I recently finished a book titled The Five Dysfunctions Of A Team, by Patrick Lencioni, and I found that the concepts it presents are so interesting that I should write about them. This article is not intended as a substitute for the book. I hope that after reading this article you get a copy and…

  • The Fallacy of “No Time”: Embracing Decision-Making for Better Productivity

    The Fallacy of “No Time”: Embracing Decision-Making for Better Productivity

    I have frequently heard someone say they wish they had more time to do all the things they have or want to. If we were talking about reading every book ever written, then yeah, that’s life. There’s just not enough time in a lifetime to do that. Instead, today I’ll discuss the case when we…