How To Make a Mess of Things
The other day, I was trying to buy a new phone and sign up for a mobile service plan online. I added a phone to my cart, and then when I selected a payment method, the page disappeared, and I found myself looking at a different page full of phones I didn’t want.
“OK,” I said. “Let’s try that again.”
Another try, and I got the same result. So I tried again without specifying the payment option. After I added the first phone to my cart, the site asked if I would like to purchase a second phone. Yes. I put the second phone in the cart, and the first one disappeared. Again, and again, and again. There was just no way to get two phones in the cart at the same time. And the service plan I had selected kept changing, even though I wasn’t changing it.
How can a major corporation run a website that’s THIS bad?
Well, I happen to be a programmer who has built a number of sites like this, so I have some idea of what’s going on. I know from someone who worked at this company that they outsourced development of the site to a major contractor, who brought in a huge team of programmers to build it.
This is the root of the problem. Try getting hundreds of people to collaborate seamlessly on ANY project. Try getting hundreds of people to build a coherent product of ANY kind.
Imagine you want to write a 500-page novel, and you need to do it quick, because every day it’s not out there selling on Amazon and Barnes and Noble, you’re losing money. (This is how corporate managers think.) You need to hire someone right away. But it would take a writer months to crank out 500 pages. Maybe weeks, if you keep the pressure on. But still, that’s just too long.
So how about we hire 500 writers and have them each write a page? Brilliant! We’ll have our novel by noon!
We just have to give the writers a few parameters. We’ll say it’s a Romance novel, because Romance sells well, and the formula is pretty straightforward. You have a woman who is lonely or unfulfilled. You have a new guy appear on the scene who is single. They meet under less-than-ideal circumstances, there’s lots of tension between them, and the reader knows they’re meant for each other, but they can’t be together because…
I don’t know, just throw some obstacles in their way. Maybe 400 pages worth of obstacles, but make sure we get to know and like the characters while their being obstacled to death. Then — THEN! — though fate and luck and force of will, they get together, and it’s oh so satisfying! Your readers are delighted, and they can’t wait for your next book.
We’ll put our 500 writers in the lunchroom, and we’ll assign a manager to walk around and make sure they’re actually writing and not wasting company time on Facebook. We’ll give them these parameters:
Heroine: Rebecca, a passionate but repressed red-headed librarian, age 30.
Hero: Maxibillion, a wealthy maverick technologist from the Scottish Highlands with a devil-may-care attitude and nothing on under his kilt, age 34.
Location: Portland, OR
We’ll call the book Maximum Satisfaction.
At 10:00 AM the writers are in the lunchroom and they have their instructions. OK, everyone, pens to paper, and… GO!
At noon, the proctor collects the papers, and voilà, we’re done!
Except we’re not, because the story doesn’t make any sense. Rebecca is sensitive, and then she’s not. She met the blonde-haired Max in a coffee shop on page 10, and when she meets him at the pool on page 30, she’s smitten by “the tall dark-haired man she’d never seen before.” The whole book is riddled with these inconsistencies. There are no transitions, and the tone changes from page to page. Chronologically, it’s a mess. You might as well throw all the pages up in the air and read them in whatever order they land.
Those damn writers! Why do they screw everything up?
We have to call them all back in, and we’re going to make them read the entire novel and identify all of the problems and inconsistencies. Then we’re going to outline the entire plot, scene by scene. We’ll workshop it. Then we’ll assign each writer a page and have them get to work. If the guy writing page 400 needs a bearskin rug in the living room, he’s going to have to coordinate with the guy writing page 20, where the living room is first described.
Each writer will have to consult with each of the other 499 writers to ensure that his page is consistent in fact, spirit, character, and tone with what the others have written. This will require a great number of meetings. We’ll have to cater lunches and pay overtime.
18 months into our project, we see Lonely Red sitting at the top of the bestseller lists. The passionate librarian has snagged her kilted billionaire to the delight of readers everywhere.
But this is not our book! According to the three dozen managers who are now overseeing the project, our book won’t be ready for at least another 18 months. And this Lonely Red, this bestseller that was OUR original utterly unique once-in-a-lifetime idea, was cranked out by some lone self-published author in just nine months! What the hell?
As absurd as this story sounds, this is how many large organizations develop software. They look at developers as interchangeable commodities, ten of whom should reasonably be able to produce ten times as much software as a single programmer working alone.
When they have a big project, they put together a big team, and then find that communication and management are more difficult and time-consuming than the original problem their programmers set out to solve. Though Fred Brooks exposed these issues over 40 years ago in The Mythical Man Month, some organizations still don’t get it.
In the 2000’s, many companies doubled down on their big-team philosophy by choosing the Java and C# programming languages. The hallmark of both those languages is their restrictiveness. They were designed primarily to prevent mediocre programmers from doing bad things on big projects, and they came with Integrated Development Environments (IDEs) to help enforce consistency.
If our 500 writers had IDEs like the ones the Java/C# developers use, the guy writing page 400 would not be able to say Rebecca’s raincoat is green, because the guy who wrote page 20 said it was black. The IDE knows this, and will put a squiggly red line under the word “green” when the page-400 writer types it.
So now, at least, our book is consistent, and the manager who made everyone use the IDE will get a raise for having solved an entire class of problems in one fell swoop. A $200 IDE license for each of our 500 writers cost the company $100,000 up front, but will save $200,000 in editing and proofreading over the life of the project. Which is now at least 36 months from completion. And even though the book is still going to suck compared to Lonely Red, it WILL be error free!
In his 2010 book, The Design of Design, Brooks notes that virtually every major creative and innovative work of the last century has been the product of a single mind, with a few rare exceptions coming from two well-matched minds. (Brooks lists Apple, Inc. as an example of the latter, with Steve Jobs and Steve Wozniak being an extraordinarily fortuitous match.)
In the software world of the past decade, most people working outside of Large Dysfunctional Organizations (LDOs) have recognized that smaller teams of talented people will vastly outperform large teams that have huge communications and organizational overhead. The non-LDOs have also recognized that the creative and innovative aspects of programming flourish under less restrictive programming languages, like Ruby, Python, Go, and Clojure. Instead of the Java/C# design principle of “don’t trust the programmer,” these languages were designed to let programmers express themselves freely, clearly, and simply.
Is it any wonder then, that for the past ten years or so the startups have been running circles around the LDOs?
I came away from that website the other day thinking about all this. And about how, in the past, I’ve worked with teams of 3–5 developers to produce fully functional, high-traffic retail sites that work quite well.
In the end, I wound up going with a different cell carrier, because if a company can’t even take my money when I’m trying to hand it to them, what kind of service can I expect them to provide?
By the way, LDO Publishing’s Maximum Satisfaction will be published under the pen name Duke Newcomb sometime in
2016 2017 2018 the future. While you’re waiting for that, enjoy the next seven books in the Lonely Red series.