The Sopranos finale and the way it was received by different people got me thinking. It seems that the TV writers and producers absolutely loved it. Apparently Damon Lindelof almost creamed his pants when he saw it. Ron Moore was envious that he didn’t think about this first. According to the NY Times almost everyone in the TV business is currently sporting a boner for the finale. Creators of Entourage, House, Heroes, Deadwood and even people who wrote a crappy sitcom Two and a Half Men are all participating in this communal circle jerk.
I think I know why – they can all relate to Chase. They have all been there – and they can appreciate the “Cat in a Box”, write your own story ending. They all either envy his idea or appreciate his courage to wrap the series in such a controversial way. They all look at it from a writer’s perspective, trying to figure out how to end their own respective series. And they probably all chuckle at the thought of millions of Americans grabbing their remotes, or wiggling their cable wires. Andy Kaufman would be proud.
Unfortunately the viewer response is dramatically different. Nearly every person I talked to, summed up the season finale like this:
“WTF? It was stupid! I thought my cable went out.”
Chase might have produced anding that was perfect on paper. But this was not what the fans wanted. He missed the boat on this one.
Writers judge the ending differently than fans – that’s just how it is. Similarly, developers will judge software differently than end users. What we consider to be a killer feature might be a buzz kill for the average Joe who will be using the application in the end. We might think that we are improving usability while we are really destroying it.
This is why it’s important to connect with your users – to find out what they want and then deliver it. Because chances are that your clients will be much happier getting exactly what they wanted, instead of some brilliant, revolutionary, paradigm breaking framework you decided would be good for them.
Of course you must keep in mind that neither TV show fans, nor end users really know what they want ahead of time, nor they are able to express it. Often what they say they want, is not really what they expect to get in the end. Or rather, what they say they want is not always efficient, secure, scalable, maintainable or feasible to accomplish with existing technology. It’s up to you to take their desires and then translate them into a plan that can be executed within the deadlines and under the budget. This is why gathering specifications is such a crucial, and difficult stage of software life cycle.
Chase didn’t gather specs. He decided to work against the viewer, and design something clever – something he thought would be better than the conventional setup the fans wanted to see.
Don’t be David Chase when you develop software!
[tags]sopranos, sopranos series finale, david chase, software development, gathering specifications[/tags]