For many years now, I’ve been intrigued by some of the more unusual similarities between filmmaking and software development; so much so that in 1997 I wrote a paper called Fast Iteration with Learnt Memory (or FILM), looking at how filmmaking techniques could be used in software development.
Things have moved on since then, both in filmmaking as well as in software development. If anything, the similarities betweern the two have become more pronounced over the years, catalysed and accentuated by agile techniques. So I thought I’d revisit the topic afresh.
Here’s what Wikipedia has to say on the subject of development as a phase in filmmaking:
This is the stage where an idea is fleshed out into a viable script. The producer of the movie will find a story, which may be from books, other films, true stories, original ideas, etc. Once the theme, or underlying message, has been identified, a synopsis will be prepared. This is followed by a step outline, which breaks the story down into one-paragraph scenes, concentrating on the dramatic structure. Next, a treatment is prepared. This is a 25 to 30 page description of the story, its mood and characters, with little dialog and stage direction, often containing drawings to help visualize the key points.The screenplay is then written over a period of perhaps six months, and will be rewritten several times to improve the dramatization, clarity, structure, characters, dialog, and overall style. However, producers often skip the previous steps and develop submitted screenplays which are assessed through a process called script coverage. A film distributor should be contacted at an early stage to assess the likely market and hence financial success of the film. Hollywood distributors will adopt a hard-headed business approach and consider factors such as: the film genre, the target audience, the historical success of similar films, the actors who might appear in the film and the potential directors of the film. All these factors imply a certain attaction of the film to a possible audience and hence the number of “bums on seats” during the theatrical release. Films rarely make a profit from the theatrical release alone, therefore DVD sales and worldwide distribution rights need to be taken into account.
The movie pitch is then prepared and presented to potential film financiers. If the pitch is successful and the movie is given the “green light” then financial backing is offered, typically from a major film studio, film council or independent investors. A deal is negotiated and contracts are signed.
What does all this have to do with software?
Software is about stories.
As software becomes commoditised, what matters is the customer experience. And what the customer experiences is a story. As with films, stories are made up of scenes. Each scene has a one-paragraph description with clear directions to all participants in the scene.
Stories are about visualisation.
How does the customer experience the story? By visualising it. By seeing it unfold. By feeling part of it. The better the visualisation, the more engrossed the customer becomes. So it is with films, so it is with software. Customers respond to stories.
Visualisation improves with iteration.
That’s why the beta culture works. People know what they want and what they like when they see it. They also know what they don’t like, what doesn’t work for them, and they can point it out when they see it.
What gets iterated is the script for the story.
The centrepiece of a film is not the set. It’s not the special effects. It’s not even the actors, except insofar as they bring the story to life. It’s not the director either. It’s the script. That’s what makes the story. So it is with software. Get the script right and you will wow the customers.
Only successful scripts should get financed.
That’s what angels want first and foremost. Good scripts. Because they know that they can get good producers, good directors, good actors, good everything. But good scripts are harder to come by.
BTW, have you ever wondered why angel investors exist in only two investment genres, filmmaking and software development? Now you know.
There’s a lot more I will be covering in future posts over this weekend, including, in no particular order:
- The central role of the script
- The role of the producer
- The role of the director
- The cast
- The set
- Reuse and stock shots
- Vendor independence
- Iterating through scenes
- Calling a “wrap”
- Getting certified
- IPR and DRM issues
- Revenue windows (e.g. from cinema to rental to purchase to free-to-air)
Let me leave you with a taster. Here’s the wikipedia definition of development hell as in the filmmaking context:
In the case of a film or television screenplay, the screenwriter may have successfully sold a screenplay to a certain set of producers or studio executives, but then the executives in charge change, and these new people raise objections to all the scripts and casting decisions they oversee, mandating rewrites and recasting. As a director and actors become “attached” to the project, further rewrites and recasting may be done in order to accommodate the needs of the new talents involved in the project. Should the project fail to meet their needs, they might leave the project or simply refuse to complete it, causing further rewrites and recasting. Worse still is when a finished project (for example, a television pilot) is sent back for rewrites and recasting, which can often force a project to begin again from scratch. This process can last for months or years, and a project trapped in this state will more often than not be abandoned by all interested parties or cancelled outright. This process is not naturally an element of filmmaking. Many times, this “Hell” occurs simply due to the lack of foresight and competing visions of those parties involved. This revolving door in the film industry happens most commonly with projects that, to some, may have multiple interpretations and affect several points of view.
Sound familiar? And so to bed.