Agile Production

Agile production

This is the first in a series of posts suggesting how to apply “agile and lean” methodology to production in media & entertainment. I’m shortening the name to Agile production, though it includes inspiration from agile, lean thinking, information-age corporate culture, and some of my other experiences from performing to coaching.

What does it mean to apply “agile and lean” to digital media production? More and more, technology organizations use agile and lean methods to improve software development. In computer graphics, we hear about adopting these methods for the development of the software tools used in production. Software developers are probably most familiar with the functionality of the agile development helper tools themselves, like Jira, for example. But using the development tools alone does not make one agile. Actually practicing agile methods to become an agile organization can be an ongoing process. To fully embrace this way of thinking, we need to keep improving our corporate cultures. Our values, our beliefs. In other words, and most importantly, to better become agile, we must consider what makes an agile mindset.

And so it is with a mindset that we can approach production, not just production tool development. We may have to invent concepts that parallel the familiar ones we have in software development. We can then practice to progressively improve our processes and methods to become more agile. This is an evolution, whose progress is supported by the mindset.

In the next post, we clarify the agile mindset for production, and then we follow with posts on production methods and practices that could support that mindset. Finally, we muse on what the industry may have to consider changing to adopt the mindset, as blockbuster movie making involves a widely believed broken economic model based on industrial-age corporate thinking.

Posted in Uncategorized | Leave a comment

Production Mindset

Agile and lean production mindset

As discussed in our introductory post for Agile Production, we first need to understand the mindset that guides this evolution. There are quite a few articles and books on the subject of the agile or lean mindset. Much of it could be characterized as having its foundation in the growth mindset, opening possibility for continuous improvement of talent over that of innate fixed skill. New practitioners must be careful to avoid the false growth mindset trap. As we improve, we must strive for a humble attitude to continue learning, even while at the height of expertise.

Acknowledging the difficulty to truly move toward agility, Johanna Rothman wrote Create Your Successful Agile Project to help guide organizations to the mindset and principles that help them improve. She summarizes this mindset as about team collaboration, and more frequent deliverables. For those managing a team, its about servant leadership and empowering team members. Teaching each other how to improve the people, the processes, the product with the goal of consistent deliverables. We learn continuously.

We learn about making small stories for small, incremental features that comprise feature sets. We learn how to visualize what is going on with the team. We learn to practice measuring and retrospection, to continuously learn how to improve.  We learn how to minimize multi-tasking. We consider flow-efficiency over resource-efficiency. Ultimately, we take on collaboration with conviction enough to reward teams rather than individuals.

So how does this apply to not only the tools, but production itself? Some production teams think collaboratively by nature, and others do not, and this depends on how they are managed. Often this is not on purpose, but just attributed to the style of the producers, directors, supervisors and other leaders in the projects. For example, I recall presenting new technology management practices at a big animation studio; although well received, I was told they would not be implemented because of the producers’ management predilections for the next couple of movies.

In technology-heavy filmmaking, with the large numbers of artists and technologists involved, we often hear stories of directors with different styles. We appreciate hearing about the collaborative directors, or the one’s who share their vision freely, or inspire everyone on the team.

By understanding how to effectively change mindset, we can improve the culture of a company while embracing everyone’s unique style. Everyone has specialist tendencies by the time they make it into a major VFX or CG feature animated project. So we need to encourage generalist and team thinking, even while having deep-dive specialists. Everybody contributes to everything in their team.

But most managers think this is wasteful. We have pipelines designed to make the talented specialists most efficient. In agile collaboration, it is not as important that an individual is efficient at their specialized job, as it is that the team is efficient at finishing the next deliverable value to the project. Collaborative thinking produces faster results when considering the whole deliverable. Johanna Rothman discusses considering flow efficiency vs resource efficiency and it reminded me of software developers who were considered super fast, but left such a mess that everyone else had to clean up after them.

In fact, a while ago Microsoft invented a management approach to elevate these kinds of developers and create a class system. You had stars, and then, the cleanup and testing entourage enabling these stars to work without consideration of others. In my opinion, it was invented to legitimize the human chaos and collateral damage of this approach. It rationalized the hurt it put on many people in favor of what it thought were to the company’s benefit.

Productions commonly end up like this too. We sign up for the same misanthropic behavior, working with the same managers and prima donna artists and technologists. Its not fun or fulfilling, and not good for the industry. We have to keep a career going. But who wants to work with those people?

It’s time to change the culture. See the next post on Production Culture to continue.

Posted in Uncategorized | Leave a comment

Production Culture

Corporate Culture Supporting Agile Mindset

Lets formalize what makes a production culture of collaboration and continuous improvement to enable faster deliverables of value. I enjoy the description of information-age vs. industrial-age management as described by Geoffrey James in Success Secrets From Silicon Valley   An information-age corporate culture has agile-compatible notions.

  • Business >  Ecosystem, not a Battlefield
  • Corporation > Community, not a Machine
  • Management > Service, not Control
  • Employee > Peer, not a Child
  • Motivation > Vision, not based on Fear
  • Change > Growth, not Pain

Mutual respect is a binding force of these notions. Companies in an ecosystem respect each other’s roles, rather than try to “crush the competition”. In fact, from coaching we learn that the origin of the term compete comes from striving to make each other better. Managers and team members have equal distinction. Trust, earned from integrity, has to be high enough for employees to be able to speak the truth. Collaboration depends on the safety of speaking freely. Invention and problem-solving do too.

Servant leadership is a notion from Agile that relates to the cultural notion that management is service for team members, not a control mechanism for directing them. These employees are peers learning how to direct themselves and problem-solve with coaching help from managers who can also remove obstacles in their path. Managers and team members continuously learn from each other how to improve. At the same time, directors and supervisors provide a motivating vision for the team.

Modern production can take on large tangled and complex projects whose execution may need to change as the project progresses. We need to think of this change as growth and learning, rather than painful mistake-ridden missteps toward an end-goal. In Agile is Not a Process, It’s a Mindset, Lisa Rich redefines how to look at failure in order to learn. We grow from continuously learning and improving. We motivate through this complexity with a vision, instead of the fear of failing or being fired. The vision helps us take one small step at a time to improve value. And the vision itself may evolve as the complexity of the project evolves.

Posted in Uncategorized | Leave a comment

Production Principles

Now that we’ve established a mindset and a culture, what is it we actually practice doing? Well, before we get to common practices, or even a production-oriented twist on a common practice, we need to establish the values and principles which drive the practices. Remember that practices without the mindset don’t actually create an agile organization. In fact, this is where you might see agile management failures. The leap between the mindset and the practices is to understand why there is a practice. And then we measure how well the practice fits the motivation. If the practice does not accomplish the goal — the why that is driving the practice, then the practice should evolve.

This is where we could take the values and principles from the Agile Manifesto, as well as the Lean Principles, and refine them for our Production Principles setting. Note in Johanna Rothman’s book Create Your Successful Agile Project she simplifies and streamlines the principles description (see page 6 of this excerpt). I will do a similar refinement with a bent toward production.


The values from the manifesto, noting the possible refinement for production in italics:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation – in production, working usually means delivering a desired visual result. Value the ability to consistently deliver visual results. If the mechanism is clearly understood, its repeatable.
  • Customer collaboration over contract negotiation – in production, we have supervisors/artists/TDs as customers for collaboration.
  • Responding to change over following a plan

Pillars of Lean

In our presentation of values, we can also consider the two pillars of lean:

  1. Respect for people – this goes along with the emphasis on individuals and interactions, building trust and the freedom for critical thinking and expression.
  2. Commitment to continuous improvement – we’ve discussed continuous improvement in the growth mindset, but the key here is the commitment to it.

In production, we can group the individuals that interact differently depending on their roles. The interaction marks a natural balance in each group’s goals. The director and the supervisors drive the visual direction of the shot, while the producers manage the cost. The artists and technologists execute the vision for the cost. So deliverable value depends on how we measure the execution of the vision relative to cost.


Note that in the translation from software development to production, we must come up with who the customer is, since it is mentioned quite often here. In some sense, it is ultimately the director, and the supervisors feed that vision. But there may be many customers in the path toward the director. A production is a very large collaboration, and the path it ultimately takes from team to team to the final result may not be as direct as planned

From the Agile Manifesto principles:

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software In production, deliver visually significant improvements toward the vision early and often.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantageWelcome changing vision. Brilliance in the process of movie making often comes from the collaboration itself.
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescaleDeliver visual results often. Don’t necessarily wait for the perfect result to present. The practice of showing dailies fits right into this principle.
  4. Business people and developers must work together daily throughout the projectProducers, production and production management works together daily with artists/technologists throughout the project. This is pretty common already though what they do may be refined, clarified and itself measured.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job doneTrust those who are motivated and empower them.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversationFace-to-face communication is best whether between artists, TDs, programmers, …
  7. Working software is the primary measure of progressVisual improvements measure progress. That’s what makes production exciting.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitelyKeep production to a sustainable slow burn rather than a sequence of exploding fire storms. Firefighting triage should be built into the methods.
  9. Continuous attention to technical excellence and good design enhances agilityRefactoring and architectural thinking can apply to artist workflow to enhance agility.
  10. Simplicity–the art of maximizing the amount of work not done–is essentialSimplicity increases the effectiveness in support of the vision.
  11. The best architectures, requirements, and designs emerge from self-organizing teamThe best production practices emerge from the collaboration of a team. Isolated pipeline thinking can hinder this improvement cycle.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordinglyIn production, make retrospection regular; it happens, but not often enough, or too late.

From The Five Principles of Lean:

  1. Define Value – besides the what that is of value, actually determining a quantitative measurement for value can be quite a challenge. Doing something for saving artist/TD labor is sometimes a wild estimate. And when value is about the visual quality of the final shot, we must attribute some value to that increased quality.
  2. Map the Value Stream – once the stages of work have been identified, this is a process in qualification and prioritization that gets rid of unnecessary work in each stage toward delivering the value (ie actually making it leaner). In larger production houses, there may be quite a few steps going through several departments to deliver the intended value.
  3. Create Flow – this is a key concept when mixing lean with agile, to consider refinement of iteration-based into flow-based development. Production fits flow better than iteration, as it has some attributes pointed out by Johanna Rothman.
    1. Interrupt-driven and maintenance – Tech Support and show-based immediate support needs grow in larger cross-show, house-wide technologies and workflows
    2. Implementors not co-located – often larger production crosses many time zones.
    3. Team not cross-functional – artist/TD testing of deliverable is in a different team.
  4. Establish Pull – Pulling tasks across a board helps eliminate multi-tasking and too much work-in-progress, big long columns on a board. This is often quite a challenge in production when priorities are difficult to manage and tend to all percolate to the top. Consider changes when collaboration is used to push more tasks into work-in-progress rather than to pull them across and finish them as a team. Because production often has several independent experts, high work-in-progress counts tend to happen.
  5. Pursue Perfection – When we work, we don’t do it “down and dirty”, rather we break up work into smaller ”clean”  steps, each step perfecting as we go.

So with these principles, we drive tangible Production Practices. These practices may be as different as the production houses are unique. But there may be some common threads to start from, as we dig into them in the next post.

Posted in Uncategorized | Leave a comment

Production Practices

Once we have established an agile and lean mindset, and the principles driving the practices, what are the practices we can apply to production?

System turnaround

What is the equivalent in production of a system that could be compiled and tested? The releasable product is a finished piece of digital media that can be viewed, heard, or interactively tested.

How do we watch a movie before it is actually finished? From animation production management, we have the concept of a workbook as an animatic of the story boards. The completion and approval of the workbook actually signals the beginning of production, the transition from pre-production to production. We could build on this concept to be a continuous representation of the whole piece through production. It could be the whole system equivalent, which we could use to continually improve.

A 3D workbook could be created by taking these storyboards into 3D form, with loosely fleshed out characters. At first we avoid too much detail, as in avoiding animation, using very rough blocking if at all, with the traditional workbook. So we could start with a textureless ambient occlusion gray-scale rendering of the primary objects and backgrounds represented in the storyboards.

Each improvement to each shot or sequence can be viewed in the context of the overall movie, or by itself. Perhaps the parallel for this in software development would be unit test vs. system test, where the individual shot viewing would be the equivalent of the unit test, while the shot plugged into the viewing of the evolving 3D workbook would be the system test.

So for fast turnaround, the management working as a service to the team continues to improve the speed of plugging improved shots into the 3D workbook for reviewing. That would be the equivalent of increasing the speed of compiling a whole software product.

We used to have to wait for film to be developed to see our dailies. Now in the digital age we could increase the turnaround for feedback. So we may also think of new ways to get feedback to teams up and down the approval chain, in a way to increase delivery speed.

Fast, frequent deliverables

In order to increase the delivery speed, we may also consider the software development practices of minimizing each deliverable. This provides for a more agile path through production. In software development, we have the terms Minimum Viable Product (MVP) and Minimum Viable Experiment (MVE), where we try to make a minimal amount something of value for the customer (MVP) or of value to the team (MVE) when several unknowns need to be explored for the target of an MVP.

In software development, the product owner (PO) works with the customer to develop stories describing that MVP or MVE. In production, the product owner might be the CG supervisor providing the vision. The key is to break a vision down into smaller, leaner parts, that could be inserted into the workbook by shot improvement. So perhaps it is a lead, who works closely with the supervisor, who actually breaks it down into viable pieces. In software development, often the goal is to create stories for MVPs or MVEs that, when addressed by the whole team at once, could be done in one day.

Shot efficiency vs. resource efficiency

Not everything might be able to done in one day, but having such a goal would improve flow efficiency as it is named in software development. This may be in opposition to a culture of traditional optimization of resource efficiency. Because software development depends on teamwork so much, it turns out that focusing on flow efficiency improves software development better than resource efficiency.

So the equivalent in production could be called shot efficiency. And we could most likely come to the agreement that it is better to get shots through faster, than it is to keep busy any given specialist, be they an animator, lighter, compositor.

Team works collaboratively

When a team works collaboratively on a shot, all focused on the same goal, no multi-tasking, shots flow through faster. It is the collaboration that actually makes shot efficiency better than resource efficiency for getting shots through the system. Even if you ask a specialist to help in an area in which they are not necessarily a specialist. Especially, when cross-fertilizing talent like this, the production reduces mistakes and improves solutions which may not be obvious.

Measuring for feedback

Agile practices provide for continual improvement of the process. Feedback for process improvement is accomplished by measuring. For example, one could measure the rate of shot stories accomplished. One could measure the number of shot stories unfinished, unfinished work. Shorter stories can reduce unfinished work. Thereby, shorter stories increase a production’s agility, its adaptability to change. Feedback provides for change, and measurement quantifies how well it is going for more concrete discussion of process, which could otherwise be more subjective and abstract.

Posted in Uncategorized | Leave a comment