Sunday, September 23, 2012

Project management is more than Microsoft Project

Microsoft Project is a nice tool, but I find that it is insufficient for managing projects. That is, it has incomplete information about the project and everything that I must manage.

When I manage projects, I think about the tasks for the project, delivery dates, and total effort. (All these items are in Microsoft Project.) I also worry about the skills of people on the team, including their technical skills, their familiarity with the code, and their people skills. (These items are not in Microsoft Project.)

Microsoft Project has elaborate information on the computed aspects of the project (total hours, etc.) but it does not know about the people. It assumes that people are interchangeable units.

Yet people are not interchangeable cogs. Individuals have specific knowledge about technology; some programmers know C++ and others PHP (and a few know both). Team members know the requirements for parts of the system but it is rare that a person knows the requirements for all areas. Some people get along with others, some are better at negotiating than others, and some have excellent skills at finding defects. I have to balance these skills and ensure that the different subteams have the right mix for their objectives (and I suspect that you have to balance those skills and needs too).

Yet Microsoft Project (and other project management software) provides no support for those kinds of analysis.

I find that simple techniques can support my decisions. For example, I often create a grid (by hand, on a blank piece of paper, with nothing more than a pen) with system subcomponents along one axis and people on the other. I then place an 'X' in each box for the match of a person with a subcomponent. When a person knows the subcomponent, I add an 'X'; when the person does not I leave the cell blank. (One can perform this exercise in a spreadsheet, if one desires a high-tech solution.)

This simple tool provides a summary of coverage for the system. I can quickly see which subcomponents have knowledge across the team and which can be supported by only a few (or perhaps even only one) team members. I use that knowledge when re-assigning or transferring team members.

Microsoft Project is clearly "necessary but not sufficient" for effective project management, yet I meet many managers who use Microsoft Project and only Microsoft Project. They perform no additional analyses. Consequently, they treat team members as interchangeable units and they act on that belief. And they often have difficulties meeting deadlines.

I sometimes think that Microsoft Project (and other project management software) and its blindness to individual skills and talents causes us managers to think of people as interchangeable units. If we have no way to note the differences between team members and our software cannot distinguish them, then we will think along those lines. Our tools shape our thoughts.

I also think, from time to time, that many managers want individuals to be interchangeable. Such a condition is easier to manage, requiring less thought. Changing project plans is easier, as there are fewer constraints.

But just because the management of a project is easier does not mean that we are more effective. Ignoring the tech and people skills of our team members does not mean that those skills go away or become meaningless. They may be ignored by the tool, but they still exist.

1 comment:

Kate Dunkin said...

Great post John! My coworker told me about resource management and how it really has changed his day to day life at work. Well I gave it a try and now I'm so organized. Thank you for sharing this with us!