Tuesday, 1 November 2005
Who Put the Suits in Charge?
The Firefly Mistake
A few months ago, I was perusing Slashdot, and noticed the article Another New Serenity Trailer. I had never heard of Serenity, so I took a gander at the preview. I love sci-fi movies, and it looked good, so I got really excited. I soon discovered that the movie was a continuation of the Firefly television series.
Being the purist that I am, I had no intention of seeing the movie until I had seen every episode of the show. Since there are only fourteen, I figured it was manageable. I had intended on either buying it on DVD or signing up with Netflix, but never got around to it. (The birth of a son will do that to you.) A couple of Fridays ago, I decided that enough was enough and downloaded the episodes using
As most who have seen Firefly can attest, it as an awesome show. While watching, I had to wonder why the show didn’t succeed. Granted, it is a science fiction show, and those typically do not last very long. But this one only lasted 11 episodes. Some of the Star Trek series lasted a few years, and Firefly is ten times better than the best Star Trek show. What gives?
The Root of the Problem
The Suits are in charge. From Wikipedia:
[E]pisodes were not aired in storyline-chronological order as the creators had intended. Most notably, the two-hour episode “Serenity” was intended to be the pilot episode and therefore contained most of the character introductions and back-story. However, FOX decided that “Serenity” was not a suitable pilot, and so the second episode, “The Train Job”, was rushed into production to become the pilot episode.
As a matter of fact the pilot, the episode that introduces the show was aired last in the United States! Excuse me? Whose show was this? Answer: Joss Whedon. Yet some Suit decided the pilot was just not going to garner the needed audience. (I would love to see the criteria for that decision. How much you want to bet it was based on a gut feeling?)
This is wrong on so many levels, I simply do not have time or space to outline them. The Suits at Fox couldn’t have been more wrong. The pilot was the best episode (OK, OK, seven and fourteen are close) and The Train Job (the episode which aired first) was the worst.
My Dad is fond of saying, “You’ve got to dance with the girl that brung ya.” He uses it in reference to sports, where, in the Big Game, you couldn’t very well change your starters. They were the players who got you there in the first place. It also means that if you’ve hired somebody to be creative and then you ignore his creative decisions, you might as well not have hired him in the first place!
I think this is a problem that exhibits itself in so many areas of our media and entertainment. Whenever The Suits take control of things that are, at their essence, creative, you (typically) get bad creations. Suits use things like focus groups and record sales charts and gut feelings to determine what to do and how to do it. When you let the creators have control, you (usually) get something much, much better because they have studied and practiced and they understand the nuances of story, rhythm, timing, pacing, etc.
Don’t believe me? Fine, but first take this short pop quiz: what would you rather enjoy? Crossroads or The Lord of the Rings? Seinfeld or Full House? NSync or The Beatles?
Writing Software is a Creative Process, Too
The same principle holds true in software. Writing software is a creative process. Most of the time The Suits (i.e., Upper Management, The Pointy Haired Bosses, etc.) just get in the way. They sit on their thrones, surveying all that they rule and control and think all is good.
They look down upon their Stupid Developers and say, “Build this, in this way. Won’t it be grand!?”
The Stupid Developers look up and say, “That is a bad idea. A better way would be to…”
But the Stupid Developers are quickly cut off as The Suits respond, “Silence, ye fiend of the pit! You know nothing! Build what I tell you to build, and do it the way I command thee!”
Or maybe The Suits have received their PMP, which makes them think they are invincible and that the Stupid Developers really are stupid, and they send out e-mail that looks like this:
PMP Suit: Stupid Developer, there are several bugs in your queue. I recommend that you start with severity 1s and 2s, etc.
Oh, really? Thanks. I must be too stupid to figure out I need to fix higher severity bugs first!
Or maybe The Suits used to be developers, but are now out of touch with reality. When you try to tell The Suit that having two monitors increases your productivity by at least 10 percent, he asks, “Why do you need two monitors?”
You gotta love The Suits.
I can’t help but think, though, that the Stupid Developers could get more done, and get it done faster, if we got rid of The Suits first. Writing software is not just about churning out code. If it was, we wouldn’t need software engineers because there would be tools that just made the software for you.
Writing software is about thinking critically and problem solving, something that no computer can do, and very few people do well. Other software engineers understand the difficulty involved. They know about all the little details that one has to keep in mind when writing programs. These details are so numerous that we have taken to writing them out in big, long Word documents. Studies have shown that, because of the knowledge that software engineers are required to have when writing software, it takes a year for an engineer to begin to develop at full productivity when moving to a new software project.
A Short Analogy
Programming is like building a house. You put together blueprints that outline what the house will eventually look like. As you get your hammer and nails and other tools, and begin to build the foundation and walls, things seem to be going swimmingly. But then, as you start to put the different pieces of the house together, connecting walls, attaching staircases, etc., you are blindfolded. You have to try and keep track of all the work you have done, all the decisions and compromises and changes not shown on the blueprints, in your head. If you can’t remember, you have to use your hands to go back over your work.
Sounds tough? It is. Tough enough that we have special engineers who are responsible for making sure the house is built correctly. But, when these inspectors arrive at the construction site, after looking at the blueprints, they, too, are blindfolded before they actually do any inspections.
The Solution
So, when your software creators, those who understand and have studied and prepared and practiced start building your software, assume that it is difficult, that it will take a long time, and trust that your code creators know what is best. After all, that’s why you hired them.
