I used to love the idea of MS Project.
While working on Spider-Man 2, we'd often hear the same story:
"I was going to work on this, but I couldn't because such-and-such wasn't ready, so I tried to work on this other thing instead, but such-and-such wasn't ready, so I ended up working on item C."
I kept hearing those stories and thinking - we really should be using MS Project. It tracks dependencies! It will help prevent these sorts of problems! It's the piece of the puzzle we're missing! Once we start tracking dependencies, we'll be unstoppable!
So I looked into using Project, and some other scheduling software, and experimented with some dummy schedules and leveling tools and decided that not only did they not work very well, but we weren't ready to switch to a whole new system, not with Spidey 2 already more than halfway done.
Still, when Spidey 3 came along, I spent over a month near the beginning making a detailed schedule with MS Project. We did a bunch of things right. We asked the people doing the work how long the work would take (or their leads if those people weren't actually available yet). We extracted our staffing plan from the schedule. And we deputized some producers to run around and check to see if people were working on what the schedule said they'd be working on and to adjust it if necessary.
And after a month or two (it's been a while, I don't exactly remember) we scrapped it, because the schedule seemed completely unrelated to what people were actually doing in the offices. They still weren't working on "what they were supposed to be working on", despite the wonderful dependency tracking that was supposed to take care of that. Game development is still far too fluid and unpredictable, even when dependencies were being noted, we had problems with staffing and prototyping and changing plans that made dependencies pale in significance.
Now, some people swear by MS Project. I think they break down into a few categories:
* People who use it but not to track dependencies. For example, they might make a list of tasks, select them all and make one giant dependency chain, and then have a pretty (and completely linear) gannt chart they can show off, but under the hood this is no better than using excel and doing a Sum. They might as well use Excel.
* People who have modded the crap out of MS Project. Mike McShaffry's tools are prety cool but they actually don't seem to use Project's ability to automatically track and level dependencies - as he points out at the bottom of the page, his tools are for tracking high-level dependencies, and even then you have to eyeball it: oh look, Joe is starting a level before the World Editor is done.
* People who "do it right" but it still doesn't help them - Erik Bethke's book showed how they used Project and its leveling features for Black 9...a game that never shipped. We can't blame Project for that but it does help to show that we have bigger things to worry about than tracking dependencies.
* People who "do it right" and it does help them. I did an informal poll of the room before my Theory of Drag talk last year and it looked like maybe 1 in 200 people used Project's leveling features and believed it helped. Still they're spending an awful lot of resources on it - resources that could possibly be spent more directly on the game.
Now, let's go back to this original "problem" we had that I thought MS Project would solve. "I couldn't work on Item A or Item B, I had to work on Item C."
Is this really a problem? It's only a problem if Item C is some low-priority item that we might want to cut from the game - chances are, all of these things need to be done and although it might be nice to work on Item A first it's just fine to hit Item C instead.
And if Item C really is optional, or someone really is blocked, there are lots of things you can do that will suck down less resources:
http://www.gamasutra.com/features/20041013/fristrom_01.shtml
http://www.gamasutra.com/view/feature/2170/manager_in_a_strange_land_.php
When I wrote those articles I was still trying to make Project work. I have since given up - now I believe Excel beats Project, hands down. (Microsoft still wins, of course...)
FWIW, dependencies weren't an issue on Schizoid at all - the biggest scheduling issue on Schizoid was that I was an overbooked resource, and this was a blindingly obvious problem that we didn't need any fancy scheduling software to see.



ActionThis might be worth a look. (http://www.actionthis.com)
It's collaborative, team focused & more about getting things done than Project.
I'm biased of course (I was on the team that built it - was my day job), but it has it's place. I think it's particularly strong when you're road-blocked by someone else, but you could use it for the nitty-gritty personal tasks too.
BTW, congrats on Schizoid, and being the first commercial XNA game!
Posted by: Sharky | September 18, 2008 at 07:09 PM
I think the key phrase in your essay is the first sentence. I too love "the idea" of MS Project, but its execution is flawed for any sort of fluid project management.
Software development is fluid enough that we can use (or demand) that our project management be the same. For other fields where the development isn't as fluid (You can't just build a building, hope it works, and debug it if it topples.), the project management must reflect the processes rigdity.
I also prefer Excel to Project, or just about anything else. I use Excel also as a bug database for personal projects.
Joel on Software has a good article or two on using Excel as a project management tool that you can google.
Posted by: Jay K. | September 19, 2008 at 12:42 PM
I've been using this
https://www.pivotaltracker.com/signin
I don't know what to compare it to or if it's all that great but it's a fairly agile way of working. You add "stories" and give them a time setting of 0-3 (where 0 = 1 hour, 1 = day, 2 = 2-3 days, 3 = week+) or something like that.
It keeps a list of things finished, being worked on, need to be worked on (backlog) and not yet decided to be implemented ever (icebox) and it attempts, to figure out what 0, 1, 2, 3 ratings *actually* mean based on past history has you go and therefore tell you when a certain feature will be done.
It doesn't level or track dependencies but you can rearrange stuff and it has a nice interface.
In any case, I like it more than almost anything else I've been subjected to.
Posted by: greggman | September 20, 2008 at 02:06 AM
Yep, Excel is the way I go for big projects. (Also, it was nice seeing you at PAX.)
Posted by: Darius K. | September 23, 2008 at 08:04 AM
@task is a great alternative to MS Project. It's on-demand, so there's no software to install, and it provides all the team collaboration tools you'd need to get the job done. Before you give up on project management software and go back to Excel, you should look at @task.
Posted by: Tkiisel | October 16, 2008 at 04:05 PM
Hi !
Project is not the problem ! Project is a tool. It's used to manage activities, time and resources in a project.
Sorry I say this, please don't take it bad, but the trouble here are your Project Management skills.
You can't track dependencies with Project, or Excel! it's insane. You can track and order the activities, or the work, that produce those dependencies.
Also, you can't be checking all the if people is doing what they must do... there is something known as artifact. So, in every phase or stage in your project, every team member must do some work to produce an artifact. These artifacts can be graphics, sounds, music, code, functionality.... your planning must be based on this artifacts.
Again, please don't take this bad, but those who had this kind of problems, reading the PMBOK and taking an PM course, will improve their planning skills and will have better coordination, even if are using Project, Excel or an old-fashion notepad with a pen.
Posted by: Marcos Giagnorio | November 26, 2008 at 08:40 PM