Practical Software Development

Practical Software Development

    • About me
    • Privacy Policy
  • Making Decisions

    Making Decisions

    Sometimes making decisions becomes difficult due to information overload. We have so many criteria to ponder that it’s hard to decide which option is best, and we end up making suboptimal decisions, or worse, no decision at all. One way to address this problem is through the use of a Decision Matrix (a.k.a. Selection Matrix).…

    May 21, 2025
  • Writing A Blog

    Writing A Blog

    If you’ve never considered writing a blog before, you’re not alone. About a year ago, there was no way on earth for me to be writing one, and yet here I am. My main concern was not finding a topic or the time to write, but rather, why I should spend my valuable time doing…

    May 14, 2025
  • 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…

    May 7, 2025
  • Proficient vs Senior

    Proficient vs Senior

    I recently read a post in LinkedIn claiming that the difference between junior and senior developers is how we check if a number is even or odd (I was unable to find that post again to share the link). According to this post, junior developers would do something like: And that instead, senior developers (like…

    April 30, 2025
  • 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…

    April 23, 2025
  • Premature Code Optimisation

    Premature Code Optimisation

    When trying to solve a complex technical problem, it’s easy to get caught up in concerns about performance before anything’s even running. I want to share a story about a time when I introduced what seemed a reasonable idea to solve a transformation problem, but ended up in the middle of a long-running debate about…

    April 16, 2025
  • Reducing Uncertainty With Genetic Algorithms

    Reducing Uncertainty With Genetic Algorithms

    Recently, I needed to find a formula that predicted how often an event happens based on a percentage value. The challenge was to make sure the formula worked well for all reasonable inputs, without giving unrealistic results. In his book “How to Measure Anything: Finding the Value of Intangibles in Business”, Douglas Hubbard explains how…

    April 9, 2025
  • The Time Management Matrix

    The Time Management Matrix

    Time is our most valuable resource because it is limited, and we cannot get more of it. If we manage our money, we should certainly manage our time. In The 7 Habits of Highly Effective People, Stephen Covey presents a key framework for understanding how to use our time effectively: the Time Management Matrix, also…

    April 2, 2025
  • 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…

    March 26, 2025
  • 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…

    March 19, 2025
1 2 3
Next Page→