Having spent years as a developer on an array of software genres from device drivers, applications, weapons software to game engines, I have seen my share of success and failures.† One of the most important lessons I have taken away from all of this is that a projects success or failure is directly dependant on its preparation and management.† I have witnessed many great software ideas get canceled and I have seen really super stupid projects make it all the way out the door all as a direct result of project management.
Virtual Project Management
If you were a developer in the late 90’s and early 00’s working from home wasn’t really practical because of internet speeds at the time.† Even now, there really aren’t any set rules for managing virtual projects that I am aware of.
My Tips on Managing a Virtual Project
Trustworthy People – There are two types of people; those that can work on their own and those that need direct supervision.† It has been my experience that some people simply won’t work unless someone is physically present.† (I call this the, “Out of sight out of mind syndrome.”)
They don’t have the discipline.† These types will spend the majority of their day playing games and watching TV.
You can tell these types when you get them because they will be very vague about what they have completed.† You can ask to see their progress and they will get defensive or tell you they don’t want you to see it until they are further along.† This happens a lot when people start game companies with friends.† Everyone thinks it is easy and fun to make games, and then find that it is a hell of a lot of work and so they stop performing (or never start).There is only one solution to this problem and I have come across it many times; fire them.† There is no work around, no meeting after meeting to get them to improve in the future….just fire them.† Even if it is a volunteer, if they are holding back the project they jeopardize your success.
I have found that if you are working on a team of volunteers for a project, you can simply exclude the loser from all further development and the problem is fixed and will take care of itself.† They quit and make it look like it was their idea.
You have to find people that want to work because they too want to see the project succeed as much as you do.† These people will work on things without being asked or told.† If you don’t have good people, the rest of these tips are useless.
Good Communication – This kind of goes with having good people.† Make sure everyone can reach everyone at all times.† There are lots of times where someone will need a particular asset from another person on the team in short order.† Make sure everyone has up to date information on how to reach each other.† If someone is going away make sure they tell everyone. †Then have that person get anything done that needs to be before they are unavailable.
Also make sure you use a project tracking system where everyone can see what everyone else is working on, what is already done, and what needs to be done.† I will tell you how to set this up below for next to nothing.
Rule of scheduling – I don’t believe people should have to come in on weekends or work 90 hours a week on anything unless they love it that much.† If people have to work like that to play “catch-up” it is the fault of bad project planning, not the people.† Every developer I have ever met (including myself) thinks they can get things done faster than reality dictates.† So here is my 2X + 20 rule.† Whatever amount of time someone says they can do something in, take that amount of time multiply it by 2 and add 20%.† That will give you the realistic time period it will require. Put that on your Gant chart and that will tell you when the game will be done.
Use Time Boxing – When working from home it is hard to start working some times, and hard to stop working other times.† Working from home also makes it difficult to gage how long something takes because each work day varies.† We use a time boxing technique called Pomodoro.† If you do 12-16 pomodoro timers, you do 6-8 solid none interrupted hours of work.† This ends up being about 2-3 days in an office full of distractions.† There are tons of free pomodoro timers out there.
Virtual Tracking – Virtually tracking a project is hard enough, but to do it on a shoe string budget is even harder.† Here is a super cheap way of doing it.† You need Microsoft Office suite for this.
1. Setup Dropbox for the team to use.† You don’t have to use it for sensitive stuff if you are concerned about that.† Just for tracking stuff.† www.dropbox.com
2. Have everyone install MS OneNote….I know you don’t want to use SharePoint because it costs and you are on a shoe string.† LifeHacker has you all fixed up. †Go here to see how to do it OneNote with Dropbox
3. Then you can use MS Visio if you have it or some other similar package to make task charts (sorta flow charts of what needs to be done).† Big charts with major components of your game that needs to be completed and completed tasks checked off and grayed out.† Only one person should be the keeper of these, like a configuration manager.† This will be the project manager, scrum master or whatever.† Like this!
That way everyone can see at a glance what needs to be completed.† Then at the end of the project there isn’t any, “Oh my god!† I forgot we still have to do XYZ!† So glad I caught that.”
4. If you have a really big project, get source control.† You can get evaluation versions of Perforce for free, an excellent version control package, for up to 20 developers with 20 projects and creatively hook it up to your Dropbox.
That is really about all you need to do to seriously manage a huge virtually developed game successfully.
You can read more and follow me and Neuron Games, Inc. here: