Fine-Grained PM on Small Projects¶
Increasing control while reducing project management costs
I made a mistake recently that I've made a few times in the past. Time to change something. :)
A small project I was working on had transitioned to a phase where very little of my time was required. Unfortunately, there was still a whole lot of email correspondence flying around. I wanted to avoid putting much time into PM when it would be disproportionate to the amount of development time. Several of the emails contained explicit direction some of which superseded others. At one point, I got it wrong in my head and did some work out of priority order. In this case the situation was easily remedied but I'd really like to have a more robust approach to this problem before I make the same mistake when it's not so easily remedied.
For large projects an issue tracker is a great PM tool. A priority field can be used to order tickets. Since so much time is being put into so many tickets, it tends not to be valuable to have explicit ordering to the degree that tickets must be worked on in a completely linear order. IOW, if ticket foo and ticket bar have the same priority, it tends not to be worthwhile to worry about which one to work on first given that the time for each is small next to the amount of time being put in on all tickets. Every team member can just bookmark the link to the canonical report that tells them what tickets to work on in what order and PM time can be minimized.
For small projects, however, things can be very different. It is very important to have explicit ticket ordering, but more than that it is often very important to track other explicit and *arbitrary* direction on a per-team-member basis. As such, an issue tracker isn't really a good match, even if it supported arbitrary ordering. Email is both noisy and lossy unless an inefficient amount of time is put into tracking it.
I was brainstorming on this with a favorite project manager, Sally Kleinfeldt, when she hit upon the embarrassingly simply solution. Use a canonical shared document somewhere for each team member requiring direction that is narrative rather than structured in nature. IOW, I get my own document that the client, the PM, and myself can edit which will always represent all of my current direction. If there are other team members requiring direction, they should each get their own page.
This document can link to particular tickets in the issue tracker to affect arbitrary explicit ordering along side any of the kind of arbitrary narrative direction that tends to be a part of small projects. Email can still be used to track when my direction changes, but never again will I have to spend a half hour digging through emails to double verify that my next and only task is to put 15 minutes into a small fix. I simply go to my page, and move on. This document could be a google doc, a wiki page, a special ticket in the issue tracker, whatever, so long as it is canonical.
It's very simple, and so probably has been in use before, but I'm nonetheless very excited about it as a way to improve efficiency on small projects.
Updated on 03 October 2008
Imported from Plone on Mar 15, 2021. The date for this update is the last modified date in Plone.