Is predictability impossible?

Perhaps a focus on adaptivity is more valuable

Eli Weir
Blockchain Labs Asia

--

When browsing though some of my old posts, I stumbled over one written way back in 2007 on the perceived need for predictability in business, and specifically in software development.

I have had a certain amount of pain recently centered on the age-old conflict between the ideal and the real. Specifically, the difficulties in balancing the needs of the business for predictability with the realities of software development. Predictability is essential in making business decisions regarding resources, finance, marketing, etc. At the same time, developing software has proven to be a difficult enterprise, and once that seems to historically defy all attempts at estimation and scheduling.

The question on my mind at the time is an important one to consider, “is predictability impossible when developing software”?

Martin Fowler has been around the software development world since the 80's, and is considered a pioneer in fields such as object-oriented technology, refactoring, patterns, agile methodologies, etc. He has been thinking and writing about this sort of issue since the 90's, and one essay in particular caught my eye. The following is a pertinent excerpt (see the full text here).

Is Predictability Impossible?

In general, no. There are some software developments where predictability is possible. Organizations such as NASA’s space shuttle software group are a prime example of where software development can be predictable. It requires a lot of ceremony, plenty of time, a large team, and stable requirements. There are projects out there that are space shuttles. However I don’t think much business software fits into that category. For this you need a different kind of process.

One of the big dangers is to pretend that you can follow a predictable process when you can’t. People who work on methodology are not very good at identifying boundary conditions: the places where the methodology passes from appropriate in inappropriate. Most methodologists want their methodologies to be usable by everyone, so they don’t understand nor publicize their boundary conditions. This leads to people using a methodology in the wrong circumstances, such as using a predictable methodology in a unpredictable situation.

There’s a strong temptation to do that. Predictability is a very desirable property. However if you believe you can be predictable when you can’t, it leads to situations where people build a plan early on, then don’t properly handle the situation where the plan falls apart. You see the plan and reality slowly drifting apart. For a long time you can pretend that the plan is still valid. But at some point the drift becomes too much and the plan falls apart. Usually the fall is painful.

So if you are in a situation that isn’t predictable you can’t use a predictive methodology. That’s a hard blow. It means that many of the models for controlling projects, many of the models for the whole customer relationship, just aren’t true any-more. The benefits of predictability are so great, it’s difficult to let them go. Like so many problems the hardest part is simply realizing that the problem exists.

However letting go of predictability doesn’t mean you have to revert to uncontrollable chaos. Instead you need a process that can give you control over an unpredictability. That’s what adaptivity is all about.

The issue is still one over which debate rages, 7 years later, even with the advances lean and agile methods have made.

Moreover, the issue is one that can be taken out of the software development context, and examined in the broader commercial and social context. With the advances technology has allowed us in communications, logistics, manufacturing, etc. the world has become a smaller and faster place — one in which the only constant appears to be change itself.

If the only constant is change, I would say that adaptivity is a more desirable trait today than predictability, and we need to transform both our public and private sectors with this in mind.

Blockchain Labs Asia has been working with blockchain technologies in various sectors since 2014. We apply new paradigms & technologies to transform industries, from concept to capital-raising, implementation & operation. Our focus is on using tokenised securities to transform illiquid assets into liquid assets.

The equity of Blockchain Labs Asia Ltd (LL11527) has been tokenised, and the rights to the equity is represented by the BLABS security token issued on the Ethereum network.

Visit our website, join our Telegram chat, or contact support@blabs.asia for more information about our company and BLABS.

--

--