Project Management: Scheduling

Task-tracking tools like Trello are very useful for organizing and prioritizing tasks and for coordinating teams. However, one area where Trello really lacks is in giving you a feel for whether or not your project is on-task. This is a big factor in why Poker Solitaire dragged on a lot longer than we would’ve liked. The app itself should have taken maybe 2 to 3 months; instead, it dragged on for over half a year.

So, yeah, the game took over twice as long as it should have. What happened?

Prioritizing tasks based on general “usefulness” is easy. “A definitely is higher priority than B”. What’s more difficult, however, is cutting features because they’ll take too long. It’s easy to say “well, this feature seems pretty important, and it’ll only take one or two days to implement, which isn’t that much time”. The problem is that, while this might seem like a reasonable trade-off in isolation, if you do this a dozen times, you just pushed your project back an entire month. Oops. Additionally, when a feature slips and takes longer than planned, you don’t really have a high-level feel of how that will impact your project.

To fix this, for Ludisto‘s next game, we’ve been using a spreadsheet that looks like this:

what-the-shell-schedule-spreadsheet

This accomplishes a few things:

  1. If a feature slips, you automatically see what other features that’s pushing back. By extension, this also adds some accountability: you actually feel the impact of not getting your work done on time. Most importantly, that feeling comes from “I want to get this awesome project done on time!” and not “ugh, if I don’t get this done, my boss is going to yell at me”.
  2. Once everything is broken down by week, you have a much better idea of when you’ll actually finish your project given its current scope. Estimates get more and more rough the further out they are, but you’ll at least be in the right ballpark.
  3. If you have a better idea of when you’ll finish, it’s much easier to keep your project scope in check. It’s a lot easier to weigh your options, too: “Alright, we’re behind schedule, what do we need to get rid of to still launch by the original deadline? Well, if we cut these three features, we can move these other ones up, and hopefully still launch before the conference… or, if we leave them in, that’ll push us back to [date]”.
  4. Because we mark who is working on what feature, we can monitor work loads at a glance. One week might seem super busy for everyone because there are lots of coding tasks, but without the high-level overview, it can be easy to miss that an artist might not have anything to do for that same week.
  5. It forces you to prioritize not only in terms of how good a feature would be to have, but also in terms of how long that feature will take.

In practice, it’s not a perfect system, but it does help a ton. The spreadsheet doesn’t completely replace Trello; you still need somewhere to track smaller details, record bugs, discuss things back-and-forth with comments, etc. Because you’re then working with two different systems, you inherently have an issue of data duplication. Keeping things in sync adds some overhead. Still, the extra time invested in a schedule like this definitely pays for itself in keeping your project on-task.

We learned all of this the hard way, but to anyone experienced with project management, everything I’ve said probably seems pretty obvious. You don’t fully appreciate what a dedicated project manager does for a team until you don’t have one anymore!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s