Saturday, June 21, 2014

Creativity Inc and Software Dev: Why We Iterate, Part 2: Evolve the Product

This is part 2 of my discussion on why using iterations are important to both Pixar making films and developers writing software. Part 1 covered the benefits of rapid feedback. In this post I'm going to focus on evolving the product. As a reminder, here are the quotes that inspired me for these 2 posts:
The plot would transform again and again over many months...
...we are true believers in the power of bracing, candid feedback and the iterative process—reworking, reworking, and reworking again...

(Excerpts From: Ed Catmull with Amy Wallace. Creativity, Inc., Chapter 3, P. 85, Chapter 5, P. 127.)

It should be obvious, but I think many people miss the point of iterations. They are used to iterate the product, whether it is a film or software. By iterate, I mean to evolve and improve the product. How often have we heard Pixarians like John Lasseter, Andrew Stanton or Lee Unkrich talk about how they are continuously "plussing" or improving the film. The same goes for writing software, and was made clearer to me when I read a blog post on the Simple Programmer website. As discussed in this article, the point of iterations are to gradually improve the product, not introduce and fully complete functionality. Developing a product with iterations is not meant to be a linear process. That would be like the filmmakers at Pixar saying "OK, in this iteration we are going to work on scene X - write the script, storyboard, animate and finish the scene." But that's not iterating, that's just doing many small waterfall cycles. It's about the evolution of the product, making it better with each iteration.

I'll discuss iterations more in future posts, but in the meantime here's a great article regarding iterating not just the product but project teams as well.

No comments:

Post a Comment