23 June 2025

"Agile Game Development: Build, Play, Repeat" by Clinton Keith

Agile development techniques are revolutionizing the way software is created, enhancing collaborative work and enabling development teams to better adapt to constant market changes and initiate virtuous cycles of continuous improvement.

Instead of planning the entire project from the beginning (as in traditional waterfall development methods), agile techniques divide the work into small parts called "iterations" or "sprints" (usually lasting 1 to 4 weeks). At the end of each sprint, a functional part of the product is delivered. This iterative nature of the work aims to establish constant communication channels between the development team and its clients, empower the team to respond quickly to changing client needs, and deliver software frequently so that clients can start gaining value early and raise alerts as soon as the software does not meet their expectations. All of this is achieved by promoting the self-organization of the development team and improving their motivation.

Based on these general principles of agile development, there are methodologies that translate them into concrete, everyday work mechanisms. One example is Scrum, which proposes the aforementioned short cycles and a range of roles and regular meetings so that everyone involved in the project (not just developers) can understand its status and influence its evolution. It is also common to combine this with Kanban techniques, using boards with columns to help visualize the workflow and avoid bottlenecks; or to include Extreme Programming (XP) techniques to improve code quality, using practices such as pair programming and automated testing.

The world of video game development is no stranger to these techniques. In fact, the highly creative nature of video games and the ever-changing tastes of consumers make it highly advisable to avoid rigid waterfall development and instead adopt the aforementioned agile techniques.

The book "Agile Game Development: Build, Play, Repeat" by Clinton Keith struck me as the ideal work for both beginners and those looking to deepen their understanding of this topic.

It is a very mature work, written by a Scrum professional who previously worked in traditional development (for U.S. fighter jet control systems) and later in top-tier video game studios. This prior experience constantly surfaces through real, enriching, and entertaining examples that help contextualize the theory, unlike many similar works. Other books merely explain what Scrum is, but this one starts with the problems that waterfall development posed for the video game industry, using examples and anecdotes that are truly entertaining, enlightening, and deeply human (it's comforting to know that "everyone has their struggles").

From these challenges, the author explains in great detail the principles of agile development and how the Scrum methodology brings them into daily practice. In the first chapters (approximately the first third of the book), the description of Scrum tasks is similar to those performed in more generic application development. In fact, since I had already read other books on Scrum, my first impression during those chapters was "Scrum seems to apply exactly the same in video games as in general applications." This is not a criticism—on the contrary, I believe this first third is valuable for those new to Scrum, as the examples are from the video game world, very visual, easy to understand, and fun, yet perfectly applicable to general development.

The remaining two-thirds are where, fortunately, the book diverges from more generic Scrum works and delves into the peculiarities required by video game development. It details cases where the literal application of Scrum would not work in a video game development team and the approaches the author has seen to solve these issues. The result is not only a practical reference manual on how to lead a video game development team but also a testimony to the highs and lows of this market segment.

Therefore, I believe this work is essential for anyone looking to mature, making the leap from solo hobbyist development to team-based commercial development. Developing is not just about programming, but about delivering something functional to our clients that they can enjoy. This book will teach you how to achieve that.