Agile project management methodologies have become increasingly popular for software development—especially among development teams making video games. Perhaps developers are attracted by the cool name which brings to mind animators and game designers in ninja outfits nimbly scampering over once insurmountable project deadlines. Or maybe it resonates with programmers who prefer writing code over writing long technical documents – perhaps because as programmers, their time is better spent, you know, programming.
Whatever brings a team to Agile methodologies like Scrum or Extreme Programming in the first place, what keeps them using the approach is almost always the same: it helps you get projects done while saving time, money and sanity.
I have worked on games developed using Agile methods for a decade now, and after trying lots of tips, tricks, apps and hacks, I’ve settled on five tools that I’ve found to be indispensable for making great games using Agile project management techniques.
1. Revision Control System with Branching: Agile development emphasizes iteration and evolutionary development techniques. Working code is important to allow for maximum iteration and experimentation. This often means you’ll need multiple builds of the game to test different features. File depositories like Perforce and GitHub allow for flexible branching and copying so you can maintain multiple versions and archives as needed.
2. Flexible and Powerful Agile Management Software: To plan and schedule your project you need software that is designed for Agile development and is backed by real management expertise. With dozens, if not hundreds, of web-based project management tools to choose from, our choice is Favro. Developed by Hansoft, a company who pioneered Agile development software, Favro is extremely flexible, powerful and simple to use.
Favro’s interface uses a project board view and feature cards that let you plan, prioritize and organize your work. The system is adaptable to all methods of Agile development including Scrum, Kanban, or even just plain old un-Agile Waterfall. This flexibility means teams can focus on collaborating and creating using the process that works best for them.
With a mobile application as well as a web-based one, Favro offers a seamless platform for team communication and integration. Most of our projects have been made up of team members based all over the West Coast and in London, Quebec, Singapore and beyond. Some folks work at home, some in the office and some wherever they can get a good cup of coffee and strong Wi-Fi signal. The mobile app is robust and easy to use, mirrors the web-based interface and functionality, and allows the team to stay connected and on-task wherever they are.
Favro integrates with all your favorite file management, version control, communication and planning apps. For instance, if you are using Jira, your tickets will show up in Favro as cards and changes to ticket status are reflected in the status of your cards. Google Drive and Dropbox files can be attached to the cards that describe and schedule them and dates associated with cards will synchronize with Google Calendar. File commit comments made in GitHub are added to your cards, and if you are using HipChat or Slack for team communication Favro notifications get posted to your chat channels.
3. A Messaging Client that Everyone Likes (or At Least is Willing) to Use: Favro’s ability to integrate with a variety of chat and messaging systems is a big plus, because a good messaging client, and one that the whole team can, and will use is vital for well-run Agile project. We’ve used Skype, Slack, ICQ and others, and they each have their different advantages, but the key is to leverage a platform that suits your team and your whole team can use. Integrating with a project management to get updates on task status and backlog updates is a great feature.
4. PowerPoint. Yes, I Said PowerPoint: It’s not just fodder for Dilbert comic strips, PowerPoint can actually be a strategic tool in the right hands. Agile teams I’ve worked on have used it to quickly describe sequences of screens or other features. Not intended for droning presentations, our slide shows were shared between team members and used for pre-code proof of concept. Easy to use and installed on just about every business computer in the world, reports of PowerPoint’s death, to paraphrase Mark Twain, are greatly exaggerated.
5. Weekly Team Play-through: While there is plenty of great technology available to help you make more great technology, game development is ultimately about shared creativity and teamwork. Agile prioritizes individuals and interactions and interactions, and we found one of the best ways to ensure this, and to keep everyone involved was to hold a weekly game play-through. We’d load the game up on a big conference screen, and the whole team would gather round. It gave us a chance to see what new content was in, what people had been working on, and give each other feedback and high fives. This was a great way to keep everyone involved and excited and doing our best work, which is ultimately what development is all about.