| Anthony Bailey ( @ 2004-10-17 02:08:00 |
| Current mood: | uncertain |
| Entry tags: | machinima, software_development |
Film-making and software engineering
Film-maker
cairmen posted recently comparing their current phase of production to bug-fixing in software, and wondering about analogies between his world and that of software engineering. And the other week after watching DVD extras for The Fifth Element, the lead programmer where I work (Dave Turner) said he thought he saw interesting correspondences between working on a film and on a software project. (In particular, he thought said film showed an unusually strong core vision and emergent realisation compared to some other blockbusters, and when tonight I happened on this related note re agile software development and film, it kicked me into this update.)
I'm always inclined to be a little suspicious of analogies between the two worlds since I always hear them made by those with significant experience in only one of the two. Like most software engineers, Dave may watch films, but he doesn't make them. And although the massive importance of technology in the machinima medium within which
cairmen works means that his outfit Strange Company have been involved in writing some software, I believe that he remains some distance from having a good view of what software engineering on a medium scale is like.
Of course, the fact that people on both sides posit the analogy is highly suggestive, so I would be interested to see it explored some.
Definitely in both cases we have a moderately sized team of people working together on a project with an eventually inescapable time/resource budget to produce a creative work that will be judged by a target audience whose exact desires are very hard to quantify in advance. Also it helps to have a core vision, you learn a lot as the project progresses and benefit if you can take advantage of that, and the only possible response to the inevitable over-runs is to try to cut "features" without wrecking the entire proposition.
So, you would expect analogies.
But I do think that the facts of real life mean that the above properties will hold for very many collective human creative endeavours, so maybe software and film are just two that the pair happen to have a vague awareness of. The worlds do also have some pretty major differences: an obvious one is that (jokes about generic sequels aside) you only really release a film once, whereas software goes through many versions - so postproduction maintainence is much more important. And I struggle to imagine useful analogies on a lower level (what is unit-testing for film? Or refactoring? Or software architecture?) although I grant that this could well be because I also lack experience of film.