Movie making and software development are process and project driven endeavors. They both have a well-defined beginning, middle, and end. They require the collaboration of a wide array of talented individuals, all motivated and focused on producing a unified and coherent deliverable. Project risks run high and catastrophic results are legend.
The successful completion of a movie is a miracle of sorts. The process demands that a large number of independently artistic people come together with a single goal—the successful rendition of an idea to film, finished within a restricted time frame and budget.
Replace the quote above with—the successful rendition of an idea to silicon—and it works equally as well for software development. Although there certainly are a large number of bad movies produced each year, I would argue that Hollywood, on the whole, does a much better job of managing large and complex projects than we do in the technology business.
Assuming that this premise is valid, the question that begs asking is why? Perhaps one answer is that, for the most part, only top talent gets to play. You could probably build a strong case for this argument; however, I believe that there is a more subtle idea at work. Movie making is by definition a creative and chaotic process—something that no one disputes. On the other hand, we have tended to treat software development as an engineering process—a potentially fatally flawed premise.
Certainly no one would argue that there does not exist a pervasive and influential engineering component within the software development discipline. Just as no one would argue that a movie’s technological underpinnings are trivial. However, story telling is central to the movie making process, whereas the idea of software as a story telling vehicle has only recently surfaced as a meme that is being bandied about.
If you start with the premise that software is primarily story based, then the entire dynamic of the process shifts. More emphasis is placed on the creative relationships and conversations taking place among cast members, than on the technology required to render the idea to silicon. The human factor becomes front and center. Everything else becomes an important, but secondary, consideration.