What if success in digital business, and in software development, is random? What if one cannot tell in advance what will succeed and what will fail?
My cynical side sometimes thinks everything is random. I don’t want to believe my cynical side but…
All those minimally viable products, some work, some fail.
All those stand-up meetings, do they really make a difference?
All those big requirements documents, just sometimes they work.
How can I even say this? – I’ve written books on how to “do it right.”
I advise companies on how to improve “processes.” I’ve helped individuals do better work.
And just last month I was at a patterns conference trying to spot reoccurring patterns and why they are patterns.
So let me pause my rational side and indulge my cynical side, what if it is all random?
If it is all random what we have to ask is: What would we do in a random world?
Imagine for a moment success is like making a bet at roulette and spinning the wheel.
Surely we would want to both minimise losses (small bets) and maximise wheel spins: try lots, remove the failures quickly and expand the successes (if we can).
I suggested “its all random” to someone the other day and he replied “It is not random, its complex.” And we were into Cynefin before you could say “spin the wheel.”
Dave Snowden’s Cynefin model attempts to help us understand complexity and the complex. Faced with complexity Cynefin says we should probe. That is, try lots of experiments so we can understand, learn from the experiments and adjust.
If the experiment “succeeds” we understand more and can grow that learning. Where the experiment “fails” we have still learned but we will try a different avenue next time.
Look! – it is the same approach, the same result, complexity, Cynefin or just random: try a lot, remove failure and build on success. And hang on, where have I heard that before, … Darwin and evolution; random gene mutations which give benefit get propagated and in time others die out.
It is just possible that Dave is right, Darwin is right and I am right…
Today most of the world’s mobile/cell telephone systems are built on CDMA technology. CDMA is super complex maths but it basically works by encoding a signal (sequence of numbers, your voice digitised) and injecting it into a random number stream (radio spectrum), provided you know the encoding you can retrieve the signal out of the randomness. Quite amazing really.
Further, provided the number sequences are sufficiently different they are in effect random so you can inject more signal into the same space.
That is why we can all use our mobile phones at the same time.
Put it another way: you walk into a party in London, in the room are Poles, Lebanese, Germans, Argentinians and the odd Brit. They are all talking in their own language to fellow speakers. Somehow you can hear your own language and join the right conversation. Everything else is random background noise.
Maybe the same is true in digital business and software development…
Perhaps it is all complex but it is so complex that we will never be able to follow all the cause and effect chains, it is so complex that it looks random. Dave is right with Cynefin but maybe there is so much complexity that we might as well treat it as random and save our time.
Back to CDMA and London parties, faced with apparent randomness there are useful strategies and signals can still be extracted.
Perhaps the way to deal with this complexity is not to try and understand it but to treat it as random. Rather than expend energy and time on a (possibly) impossible task accept it as random and apply appropriate strategies.
After all, if we have learned anything from statistical distributions it is that faced with actual and apparent randomness we can still find patterns, we can still learn and we can still work with, well, randomness.