All of our team had been waiting impatiently for "The Witcher 3: Wild Hunt" game from CD Projekt Red.
As fans of both the game and Kanban, we were also delighted that Kanban Tool had its part in the game's production process. Over the last decade, Kanban has proven a great way to develop games, but what are the actual reasons for applying Lean practices to game development?
The Job of Developing Games
Building games costs more with each year, as a result of commonly used hardware development and its increased capabilities, naturally demanding and allowing better, more complex and detailed games. Because of the need for higher quality graphics, better sound, more in-game space and more game-play time, the costs of game producing grows rapidly.
In order for a game development company to be successful, each of their products needs to be a hit, whereas some time ago it was ok to have some unsuccessful products, which costs would have been covered by the sales of the single hit every few years. This is why the need to reduce costs has become so vital for the industry.
How Game Development Adapts to Agile?
Lean practices promote equal amounts of work for each stage of the process within a given time - so - keeping a steady proportion between research, design, coding, testing and debugging. This doesn't necessarily need to work for game development, which would be easier dividable into two main phases: pre-production and production. It may well be, that each of the two requires a different approach.
The Stages and the Methods
In the pre-production phase, the team is meant to do research, find ideas, concepts and think of the game plan for a product. This may be a good stage to work a Scrum based methodology, because of the iterative nature of a "probing" environment. New ideas, new research topics every couple of days will be suitable for Scrum.
Once this has been done and the actual production stage begins with designing, modelling, coding, testing, quality assurance etc. At this point, since it's already known what it is that you want to make, there is very little room for iterations and frequent changes.
This is when applying Kanban makes a lot more sense, as it requires no iterations, and focuses on developing one item after another. It could be said then, that the less you know about what you're going to build, the more appropriate an iteration-based method like Scrum will be. And as soon as you're invested in an idea and are working towards its production, the less you require iterations and can look towards Kanban for task processing.
Scrum is Not the Way for the Production Stage
Simply because the stages of work need to be done sequentially (as one needs the other to be done before work can go on, as with game level design - coding - graphics - audio), and any work will delay or be compromised when one of the stages fails to deliver, it is not possible to implement Scrum to the production phase.
Why does Kanban Work, Then?
What is needed to make the work go ahead is a healthy predictability of the workflow, minimized interruptions and an eliminated waiting time - so, a system, which encompasses rough time boxing and visualizes the entire workflow in a way that is accessible to all on the team - i.e. a Kanban board.
In the production stage of game development, when the goal and idea for the game is set, the priority becomes achieving the planned result at a lowest cost possible, but with as many helpful improvements along the way, as can be squeezed in.
Applying Kanban facilitates this through:
- Levelling the flow throughout the system, thereby shortening the time from start to finish
- Running a flexible workflow, allowing for making changes and improvements quickly and visually, hence decreasing the communication time in a large team (and at this stage in game development, the teams are large) and disallowing premature work and any over-production
- Identifying and eliminating waste.
Thanks to applying Kanban method to game development many a team are able to produce games more quickly and efficiently, thus more cheaply too. With the competitiveness of the market, achieving a great result at a low cost is by far an imperative.
Kanban boards for game development allow to achieve workflow predictability (thereby utilize the resources more efficiently), and gain process transparency - hence shortening communication tracks and enabling better work distribution and process perfection, in other words optimizing the flow altogether.