Project Uncertainty PrincipleThis came to my mind when I was watching this lecture, given by Ricardo Semler at the MIT Sloan School of Management, in 2005.

At some point in the lecture, Ricardo talks about intuition, and how intuition is very useful to solve problems, but still is not accepted in the corporate world.

In his words, talking about the chess match between Kasparov and Deep Blue:

How is it possible, at all, for something with 4 moves (Kasparov) to play something with 4.000.000 moves (Deep Blue)?

…. There is only one thing that he has that the machine has not, and that  is intuition.

…. Where are we putting intuition to play in the corporate world?

And this thought stayed in my head. Why the majority of people find it so difficult to accept intuition and to deal with uncertainty? In Ricardo’s words, why are we willing to trick ourselves and everybody else into thinking that we have control?

And why is this topic relevant to software development?

Because that’s one of the reasons that make agile methods so difficult to be accepted. Most people are not prepared to accept that the project duration can’t be precisely measured. Or that the scope should be flexible, because we still don’t know (oh my God!) what is important and what isn’t. And that the decisions we make should not be based on a complex function point calculation, but in simply in the team’s intuition?

Instead, they prefer to develop software in ways that have failed for many and many years, but still thinking on having control over all the project. They find easier to believe in an excel-calculated estimate for the total project of 170.1234hs than in an estimate that says “roughly 1 month”, and they hope to deliver software within fixed budget, size, scope and quality (good luck with that).

As Ricardo cited, it doesn’t matter if you are wrong, but you have to be precisely wrong.


  1. Suresh said:

    Software Creativity 2.0 (http://www.developerdotstar.com/books/software_creativity_glass.html) is a good book where the author Robert Glass raises this same question. He debunks the theory “if you cannot measure it, you cannot improve it”. You might find the book interesting, it also has other interesting topics.

  2. Gabriel said:

    The main idea behind Ricardo’s lecture (and as well as using new methodologies like agile development) is the breaking of mental models. One could also call it paradigm shift.

    A mental model is a set of assumptions that are used by the brain to understand reality. The more these assumptions become taken for granted, the less their logic are questioned.

    Take a kid for example. Every experience this kid has is followed by a surprised look in his eyes. That means every time this kid is building his own whole reality. It is the “third why” Ricardo mentions.

    As time goes by, though, the kid’s surprise is less noticeable. The kid is now creating some lenses to watch reality. These lenses quickly become the default view of the world.

    This is what Ricardo argues; that we lack the capacity to question the third why. And the only way to do that is by breaking with the old mental models and building new ones, which are to be questioned again and again, in a renewing cycle that results in the so called innovation.

    Although I am not a software developer or a user of agile development methodologies, I agree with Francisco when he brings up Ricardo’s ideas to this field. In the same way of Ricardo’s new organizational model, agile is new, is innovative, is a mental model breakthrough, and because of that it is sometimes misanderstood by those who are still living in the old times.

    Is it right? Is it wrong? Is it a silver bullet? Time should tell. Or maybe one should ask the oppositors of agile for “precise answers”; they at least may be precisely wrong.

  3. Pingback: Quora

%d bloggers like this: