Thursday, 23 May 2013

The Connection between Movie Making and Software Development - Tony DeRose, Pixar

There are several reasons why I very much enjoyed Tony DeRose's keynote on the connection between movie making and software development:

It gave great insights into the process of movie making at Pixar (unfortunately the technical ones exceed the scope of this post) as well as getting across one important point: make sure to get your story right, be it for movie making or software development!

Particularly their form of organization struck me as very transferable to software development: Pixar movie development is organized in small teams, with clear roles and responsibility for product vision (director) and project (producer). The entire team works together closely, finding and refining stories, animating the shots, reiterating, etc. to make sure the result is living up to the directors vision.

So how exactly do they organize to achieve this goal? Regular, even daily, meetings are used to pitch stories, storyboard drafts, review animation or designs, to refine, rework, discuss, adjust the work to the vision of the director. The current state of the work (from sketchy to fully animated, very abstract to detailed) is packed into a story reel (here's a progression reel from Toy Story), which plays the movie-to-be, highlighting any (story) flaws, that might get covered up by fancy effects otherwise.
There's a lot more to it until the movie is finally to be released; however, the key point for this successful process to me seems the (let's say it!) Scrum-like clear definition of responsibilities as well as the continuous feedback and review sessions.

Interestingly, when taking on replacing their 80's dated animation system, Pixar first turned to "typical" engineering approaches, which resulted in two failed attempts.

At that time, Steve Jobs proposed to consider the software development process more a creative process then an engineering process. As a consequence, the next development attempt was structured according to the Pixar movie development organization (with slight modifications, such as changing from daily reviews to "engineering weeklys"), using the established tools such as pitching, story reels, and continuous iterative refinement.

Turns out, this way of tackling the problem was really good for the design phases, but did not provide enough support for project planning in the implementation phase (so they took to "something agile", whilst keeping up their reviews and pitches).

Remains to be said that despite the usual pains during roll-out, the system has become very successful, enabling many things that before could not be done (check out Merida's hair in Brave; it's so hard to do that "hair is essentially another character in the film" (seems the problem lies mainly in the"hair-to-hair collisions"!)).

To sum up: movie-making techniques such as story-telling, pitching, and progression reels can greatly improve software development. And, as was remarked during the Q&A, presumably also scientific paper writing!

1 comment:

  1. Thanks for marvelous posting! I certainly enjoyed reading it; you could be a great author. I will be sure to bookmark your blog and may come back in the foreseeable future. I want to encourage you continue your great posts, have a nice day.
    Corporate Website Design Services

    ReplyDelete