This Cyber Monday Tuts+ courses will be reduced to just $3 (usually $15). Don't miss out.
It sounds like the stuff dreams are made of: managing your very own independent development team from the comfort of your home office. But before you get too comfortable in your Mario and Luigi PJs, realize that managing a team from behind a computer screen comes with a lot of extra hurdles not present in a traditional office environment. In this article, I'll examine some of those challenges, using my personal project management experience on Hiro Fodder and Echoes of Eternea as a guide, and offer practical advice as to how to handle them in a way that promotes both efficiency and, just as importantly, morale.
Who Is This Article For?
First and foremost, the contents below are targeted towards smaller to mid-sized indie game development teams that don't necessarily have the budget to relocate their employees to a central office. If your team currently consists of four to twelve members spread throughout the world, this article is for you.
Two- or three-man teams present significantly fewer management difficulties than, say, a team of seven. Conversely, I encourage teams with a sizable budget and more than 15 members to rent a central meeting location, even if their members aren't required to work there all the time. That, and they should have a dedicated Project Manager.
(Note: For each new member, the difficulty of coordinating schedules, setting up meetings and managing expectations grows non-linearly.)
More generally, this piece will also prove beneficial to any remote indie team with multiple departmental dependencies. Developing any game of significant scope is going to require a ton of communication and asset sharing. You may think that art and programming have little to do with one another—after all, isn't that what programmer art shows us?—but what happens when a programmer needs to know the dimensions of a sprite sheet, or what about the case where the level designer needs an updated map editor to build game worlds? Communication is key.
Finally, the advice presented below will likely prove more beneficial to teams creating RPGs (like yours truly), adventure games, or other games with level-driven gameplay, than to teams creating a trivia, puzzler, or simple educational title.
Now, let's get started!
Preparation Is Key
Project Managers set deadlines, facilitate communication, put out fires and are in charge of keeping documents organized and up to date. It's a dirty job, but someone has to do it. Unfortunately, most smaller indie teams do not have the resources or budget for a dedicated PM, and rely on the project lead—in most cases the designer or programmer—to fulfill a managerial role. The good news is that, by preparing ahead of time, you can significantly reduce the difficulties associated with managing a team.
A recurring theme in most of my articles is the importance of a Game Design Document, and I will reiterate its importance here: Game Design Documents are life-savers.
The odds that your co-workers are going to remember everything about your game and their responsibilities are zero. And, because you're working remotely, you won't always be on call to answer their questions. But if they have their handy GDD by their side, they can scour its contents and usually find the information they are looking for—as long as it's well documented. GDDs also help new team members integrate themselves more rapidly into the development process.
Going beyond the GDD, strong documentation in general is more valuable for a remote indie team than for an in-house development crew, if only because the remote team won't necessarily be working together. Never give employees an excuse not to work by providing them with asset lists, priority lists, and other documents that facilitate production.
I've been asked whether there is such a thing as too much documentation, and the answer is "Yes." Enemy databases, level overviews, player ability lists: these are all good things. But when a PM documents the minutes of every meeting for team review, that's overkill.
Also, try to keep your documentation at least somewhat visual. Just like web surfers prefer to read articles broken up by visuals, your team will better grasp your vision via screenshots, flowcharts and concept art.
Getting to Know Your Employees
As a Project Manager, it's your responsibility to readily gauge your employees' work and time management preferences. By doing so, you'll come to understand the conditions in which they work most effectively, and, ultimately, whether they're a good fit for your team.
- Before you hire new employees, ask them a few basic questions about their preferred work schedule and general availability. If their schedule is limited or their core working hours are erratic, consider looking elsewhere. Indie game development is not a nine-to-five job, but it's helpful to hire employees that are comfortable working at least some of the same hours as your other team members.
- Some employees work in grooves and prefer not to be logged into an instant messenger when they're "locked in." (The portrayal of Mark Zuckerberg in The Social Network comes to mind.) Kindly ask these employees to check their email at least once or twice a day, and try to work out an agreement where, at the very least, they sign on for team meetings and to deliver time-sensitive updates.
- If your employees don't want to be encumbered with questions, but still want to be available in an emergency, encourage them to use Skype's "Do Not Disturb" setting.
- Set aside time each working day, preferably when the majority of your employees are working, where you make yourself available for individual and small group meetings. Game development issues are going to arise on a near-daily basis, and the sooner they're addressed, the sooner they'll go away.
Remember, not everyone is cut out for working remotely. Employees that perform wonderfully in office settings can be prone to slacking off when no-one is looking. Others communicate better through direct interaction than email or instant messenger. Keep this in mind throughout the hiring process.
For more info on hiring remote workers, check out the first part of this series.
As mentioned previously, the larger your project, the more your teammates will rely on one another. But not all dependencies are created equal. I tend to classify dependencies into two categories:
- High-level dependencies: These dependencies usually exist within departments. For instance, if two programmers are working on different aspects of the same tool, a high level of interdependence exists. High-level dependencies can also exist among artists, particularly in the case where one artist is responsible for creating concept art and another for producing in-game assets. Some high-level dependencies only exist for a portion of the developmental life-cycle. Case in point: game designers and story writers should be practically living together during planning and pre-production phases, but might only need to consult with one another occasionally once a clear path has been determined.
- Low-level dependencies: Lesser dependencies are far more common. In fact, just about everyone on your team will rely on every other member at some point. Programmers will likely be able to get by with programmer art for the majority of the development process, but there will come a time when they'll need assets from your artist, especially during the critical polish phase. The environmental artist and character artist will need to consult with one another on occasion, if only to make sure they're on the same page. Low-level dependencies exist everywhere.
The sheer amount of potential dependencies on even a small team is astounding. For a five-member team, ten potential dependencies exist. On an eight-member team, that number shoots up to 28. Yikes!
To determine the number of dependencies on your team, use the following equation:
\[D = (n - 1) + (n - 2) + (n - 3) + ... + 1\]
...where \(n\) is the total number of team members.
So what does this all mean? As a Project Manager and Game Designer, it's partially up to you to determine who relies on whom, which team members need to work together constantly, which ones can get by emailing each other once a day, and which ones only need to be in same virtual room during meetings.
Although it might not matter if your character artist favors working in the morning and your composer at night, you could run into problems if your two engine programmers are never on at the same time. Take these factors into account as early as the hiring process.
In the game development world, deadlines are made to be broken, which is why it's even more important that you implement them. That may seem like a counterintuitive statement, but without deadlines your employees will begin to feel overly comfortable. And while it's important that workers feel somewhat at ease, too much comfort can lead to complacency. That wouldn't be so bad if the other members of your team didn't rely on one another to get things done (see Determining Dependencies), but game development teams function much like a machine: if one part breaks, the whole operation falls apart.
With that said, enforcing deadlines with an iron first is probably not the best idea either. An indie game development team should never be run like a regime—it's terrible for morale. Instead, ask your employees to inform you prior to the due date if something is going to be late. Work out a new deadline date, mentally readjust your own expectations of your employee, and alter future deadlines accordingly. Indie game development is a constant learning process. What might seem like a feasible deadline at first may prove completely unrealistic. Remember this for next time.
In the case that an employee is constantly missing what you deem as fair deadlines, it may be because they cannot function well in a remote environment. It's better to learn this sooner rather than later.
Keeping Morale High
One of the single biggest difficulties in managing a work-from-home game development team is keeping morale high. Feelings of isolation can easily descend into a lack of motivation and even existentialism, especially where there is no one physically watching over your employees' shoulders (and your own, for that matter).
There are a few effective ways to combat low morale, as listed below:
- Group meetings: Make time once a week for everyone to get together and talk about the game, their progress, or just life in general. I find the best time to have a group meeting is at the beginning of the week, as I can use the opportunity to gently remind my team of their deadlines.
- Constant email updates: Again, once a week is generally good enough, but if you've reached a major developmental milestone, tell your team about it.
- Praise: Along the same lines, if your employees are doing an excellent job, tell them. Nothing inspires some workers more than acknowledgement.
- New game builds: Give every member of your team, even the less tech-savvy ones, access to the latest build of the game. Not only will it help them see the big picture more clearly, concrete progress is wonderful for morale.
- Retreats: Attempt to get together, in person, at least once a year, either at a gaming convention like PAX or elsewhere—budget permitting, of course. But, at the very least, do yourself a favor and plan a huge release party. If nothing else, it will give everyone something to look forward to.
How to Handle a Poorly-Performing Employee
Sometimes, no matter what you do to keep morale up, your employees' production levels will taper off. This tends to occur most commonly during the middle stages of development.
When dealing with difficult, non-productive employees, the following tips may help:
- Don't single anyone out in a group email: Praising individual efforts in group emails is fine, but never, under any circumstances, single out an underperforming employee in a group setting. It's embarrassing and demoralizing. Always address the issue individually.
- Avoid threats: Try to work through issues in a non-threatening manner. Your employees are generally going to be overworked and underpaid, and are only doing what they do because they believe in your vision. If they're having a bad month, try to understand why, but never hold it over their head that you have the power to let them go. Unfortunately, if things get really bad, you will have to issue a written warning or dismissal notice, but until that is absolutely necessary, avoid threats.
Project Management Resources
It's essential to stay organized. And, given the wealth of Project Management resources available on the Web (many of them free), you'll have no excuse not to. With that said, I don't personally advocate the use of super sophisticated time tracking software. Instead, seek simple tools that allow for easy file sharing, task management and alerts.
Here are a few recommendations:
- Teambox: This allows you to share files, assign tasks to team members and send direct messages. It also alerts you via email whenever the status of a project is updated. But what's really nice about Teambox is that you can attach files or append notes to individual tasks. That, and it's extremely easy to learn, as evident by its three-minute tutorial.
- TeamLab: Ideal for smaller companies, TeamLab takes a very communicative approach to project management. It's loaded with social networking features and allows you to post blogs, make announcements and take polls. Its milestone and task tracking systems are perfect for monitoring day-to-day activities, allowing you to focus more on working and less on keeping in constant contact with all of your team members.
- Dropbox: Simple and effective, I only recommend using Dropbox if your team members are naturally organized. Dropbox allows you to create your own cloud-based folder structure, which is great if all uploaded files are clearly labeled and archived, and terrible if they're not.
- Google Docs: A quintessential example of how simplicity is bliss, Google Docs is a powerful tool that possesses most of the functionality of Microsoft Office. But the real beauty of Google Docs is that its cloud-based. Not only does it allow your team members to easily view your documents, but, with the proper permissions, they'll be able to comment on and change them. Again, in order to fully take advantage of this powerful tool, it's important to keep your documents organized.
- A Repository: The beauty of a repository is that anyone with access can upload new scripts, assets and code with the press of a button. Your team will receive the changes you made, and you'll receive theirs, cutting down on versioning issues considerably. Any repository will do, but personally I prefer XP-dev.com.
Indie game developers often overlook the importance of Project Managers but, without them, running a successful remote team can be an elaborate chore. With them, teams become more disciplined, organized and prepared for the challenges ahead. The good news is you don't necessarily need five years working as a PM to manage the development of a small-to-mid sized game.
In this article we've covered the framework for running a successful remote team. But even if you're all working in the same place your team will benefit from:
- Knowing what their primary and secondary tasks are.
- Understanding the game designers vision.
- Having loose deadlines.
- Knowing who they have to work with on a regular basis and who they should be delivering assets to.
- Morale boosts.
- The use of effective tools.
A good workflow can increase production by as much as 50%. I should know: for the first year of development my team was erratic and disorganized, and suffered from frequent bouts of "pre-release depression." But, since then, we've stepped up our game, and if I have to cite the number two reasons for our enhanced productivity they would be better task management and stronger communication.
Happy remote game development!