January 15, 2011

...Learn TDD with Codemanship

The Illusion Of Control - Beware Consultants Selling Lucky Pants

If you've read the book or seen the movie "The Secret" (or watched a lot of Oprah), you will be familiar with an idea called "The Law Of Attraction". The authors claim that by thinking positively, we can influence outcomes in our lives and become healthier, wealthier and happier.

Critics point out that the evidence is overwhelmingly against this being true, often citing notorious genocides throughout history as the ultimate statistical disproof that thinking positively attracts positive outcomes in a large and diverse population.

It is actually a form of mental delusion to believe that we can influence events that are physically beyond our control. It is often where people get ideas about "lucky charms" (e.g., a sportsman's lucky pants to influence the outcome of a race) and how elaborate rituals can evolve (e.g., rain dances to influence the weather).

The reality is, I'm afraid, that the Law Of Attraction is demonstrably bunk. As are lucky pants and rain dances (beyond a mild, but observable placebo effect.) It can be easily disproved with a selection of positive- and negative-thinking test subjects and a pair of dice.

But that hasn't stopped millions of otherwise sane and rational people buying into the illusion of control. It's a huge and growing industry, selling "lucky pants" to people in all walks of life to cure all manner of ills ranging from baldness to poor business performance.

Of course, in the logical, dispassionate world of computer programming, we don't succumb to such delusions. Or do we?

Well, there possibly is a software equivalent of "The Secret"; namely, the secret of delivering value through software. Is it possible that there are people and organisations out there who know whether one set of software features will have more value than another? Certainly there are many who claim they know, and claim they can teach you their secret.

Let's examine the evidence. Take one of the most successful software companies in the market today: Facebook. One can assume that a company worth billions from software must know the secret, right?

Wrong. What distinguishes Facebook from, say, FriendsReunited? Why is one company worth $50 billion and another worth a tiny fraction of that? What did Facebook get so right, and how did the founders know it was right? The answer is: nothing and they didn't. How do I know that? Because I am on facebook. (No, we can't be friends, by the way - I just use it to occasionally see what old school chums are up to now they're not on FriendsReunited.) Why am I on Facebook? Because my school friends are on Facebook. Why are they on Facebook? Because their friends are on Facebook. What is it about Facebook they like so much? They like that their friends are on it. And that's it. The Unique Selling Point of Facebook is that it is so successful. One may as well ask "why are planets so big, but micro-meteorites are so small? What is the secret of Jupiter's success?" The answer, of course, is luck, and then gravity does the rest.

Of course, Facebook needs a basic feature set - updates, groups, events, photos, and wotnot. But these are very easily replicated, and many far less successful social networking sites actually do these things much, much better. The only feature that marks Facebook out for greatness is that everyone's on it. And that just happened. One guy invited his friends to join, some of whom invited their friends to join, and it just snowballed from there. It could have happened to any number of other similar sites.

Here's how success works. It spreads like a forest fire. Most forest fires burn out quickly and don't spread far. But every so often, completely at random, one tiny little fire spreads and spreads and before you know it the whole forest is ablaze and it's time to call out International Rescue (or Scooby Doo, if the Thunderbirds are busy and there may be a ghost involved).

We can no more predict which software will succeed than we can predict earthquakes or stock market crashes. Skill, knowledge, wisdom, application and good judgement only deal you into the game. They can't guarantee a winning hand. Nothing can.

Of course, with the benefit of hindsight, it's easy to see why the winners won and the losers lost. Just as it's possible to understand what caused an earthquake after it's hit. But we still can't see them coming. That's why the smart venture capitalists understand that they are gamblers, not prophets.

It is possible to analyse the need for a software product and test that it solves the problem it's designed to solve. That's a different kettle of fish altogether. Functional and operational goals are things we have control over. We can verify that a microprocessor-controlled microwave oven heats soup to the right temperature when we select "Soup" from the control menu. What we cannot know up-front is that this will mean the microwave will sell 1,000,000 units. Because we are unable to wite software that instructs the buyer's brain to walk into an electrical goods store and take out their cheque book. Not yet, at least.

The success or failure of a software product in the marketplace (including internal markets of business users) is largely beyond our control.

Anyone who says they can teach you how to "attract" that kind of success is essentially just selling you lucky pants.

Posted 10 years, 3 months ago on January 15, 2011