And now, a word on Project Management

Ah, project management. To quote Shakespeare: “He has kill’d me, mother: Run away, I pray you! (dead).”

I don’t want to slam the art of project management here. Project managers have a tough job, and oddly enough I find myself liking it from time to time, even if only as a change of pace. To most developers, however, project management is equated with lots of long meetings (the #1 slayer of productivity) and lots of tedious paperwork (the #2 slayer of productivity).

To do project management, all you need is a methodology. A lot of times this is going to be dictated to you from above so that all project documentation looks the same and the same set of metrics can be applied to each to measure performance and whatnot (rubbish, that), so you’ll drink the kool-aid and go about your business. If you’re in IT and it’s a waterfall model derivative, go ahead and shoot yourself. In our group we’re fairly flexible, marrying a rapid application development model with some agile development philosophy, and project managers can customize things to fit the project needs and their personalities. But enough on methodology – this is a technical blog after all.

What you don’t need but really, really helps are project management tools. Good tools can help you minimize some of the pain involved in project management. I have a couple to recommend – Freemind and GanttProject. Both are free, open source, and run on a number of different platforms.

Freemind is mind mapping software. From wikipedia: A mind map (or mind-map) is a diagram used for linking words and ideas to a central key word or idea. It is used to visualize, classify, structure, and generate ideas, as well as an aid in study, problem solving, and decision making.

The human mind works in a non-linear fashion, and mind mapping replicates the way the brain works in a visual fashion. I’ve found Freemind to be great for a lot of things on a project, but in particular it’s a great tool for gathering business requirements.

If you’ve even been cursorily beaten with the project management stick, you’ve seen Gantt charts. A Gantt chart is basically a type of bar chart that shows the timing of tasks and events over a period of time. Gantt charts are used to create and track the all-important project schedule.

A lot of people use Microsoft Project for this. I’ve found MS Project to be a great deal more project management application than I need, and as such is complicated to use properly. I don’t think you should have to wrestle with software whose only purpose is to make your life easier, and Project has pinned me on a number of occasions. Think of GanttProject as an extra-light version of MS Project. It manages my project resources and schedule with as little fuss as possible, and, of course, makes those big, lovely Gantt charts that no one but you will ever read or care about but you. It can also import and export MS Project files should you be concerned about marooning your project schedule on a single software package.

Both of these tools have helped me out a LOT. If you’re either doing or being threatened with project management and you’re looking for some software that can help, these two packages are a good place to start.

Some people have suggested the Internet is the #1 productivity killer. As you are reading this blog, you are probably not one of those people.