-
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).…
-
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…
-
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…
-
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…
-
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…
-
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…
-
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…
-
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…
-
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
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…