Software Development Lessons from Pixar

I came across this article on First Round about the similarities between making movies and building software at Pixar and wanted to call out a couple of things that I found really interesting.

Transparency

We also had a “story room” that contained all of these storyboards up on the walls, encompassing the design for the entire system in one space.

I love the idea of being completely transparent and having a room where all of your designs and ideas are hanging there for the world to see.  There’s something magical, when the culture supports it, about having the process hanging on the wall.

Regular Progress Updates

Internally, we also adopted the concept of engineering weeklies. This was a meeting where the entire software group gathered in a screen room once a week and individuals could present their latest work in progress. The demos could be rough and informal because they were for the rest of the software team, not our users. This meeting let everyone on the team show off what they were working on and helped to raise a greater sense of involvement. It also provided a fun way to keep everyone up to date on the latest state of the project.

There’s nothing that motivates good engineers more than having a venue in which to show off their work and get constructive feedback. Again, having a culture where feedback is shared in a way that helps, and isn’t laced with arrogance, is key. Weekly show and tells let everyone see how a project is doing and brings assurance to the business stakeholders that things are actually progressing, and also catches problems in direction sooner than even a 2-week sprint cycle would do.

When I was at Symantec and we were building a new helpdesk product, we invited all of the product owners to a weekly review webinar where they could see the progress, ask questions, and as a group we could adjust course appropriately. It was remarkably effective in keeping the product on the rails.

Producers and Directors

I love this idea and would love to pilot it on a project.

While I was at Pixar, we experimented with a director/producer model to manage our new software effort. We did this in an attempt to better balance the conflicting constraints of building something great and building something functional and on time. Our producer came from the world of software and was responsible for things like defining the deployment platform, programming language, development processes and project schedules. Whereas our director came from the world of film-making and was concerned with things like specific animation features, user workflows, the look and feel of the product, etc.

Often times the roles feel a bit muddled on a project. I really like the idea of a Producer making the practical decisions and having a Director who’s the “artistic” part of the project.  Often times a person who’s good at one is terrible at the other, but it’s often the same person at many companies.

What’s been successful where you work?