Mar 4, 2006

Managing Web Projects Part I

Just received a copy of J. Rodney Turner's newish book : Managing Web Projects (The Management of Large Projects and Programmes for Web-space Delivery).

I'm a fan of Turner. His handbook is, to me, a serious candidate for the title of the-only-project-management-book-you-need. It fails the criteria, of course. No single book will pass and I would consider it doubtful that any collection of 5 books will pass.

Amazon prices it at US$89.95. At 228 pages, it's likely to be priced beyond the willingness of many people interested in learning about managing web projects. How many other good books can you purchase with that cash?

I will be reading this book and reviewing it in these blog pages over the time I read it. I just borrowed my copy. Let's see if it's worth the price tag.

On the Nature of an Activity

An undertaking (i.e., a project) consists of many activities required to complete the undertaking. Failure of one or more activities eventually cascade and bring about failure somewhere in the undertaking.

Understanding the nature of activities help us understand its effects on the undertaking -- i.e., the project.

A typical activity requires people to perform the activity. The fact that people are required to undertake an activity implies a secondary activity -- assigning people to that activity, which implies other activities -- deciding (an activity) what kind of person is best suited for that activity, deciding where we can get that kind of person, etc.

Activites also require resources. To paint a wall requires not just a painter, but also paint. And brush. And newspapers to line the floor.

An activity takes time. Painting a room may take a day or so, not counting the time required to let the paint smell to dissipate to safe levels.

Activities cost money as well. Whether you hire a painter or do the job yourself, some cost is involved. You can pay for the services of a painter, or give up your time for doing other profitable activities in exchange for painting.

Activites have an end result. In our example, the end result is a painted wall.

Activities have constraints. You cannot start to paint a wall and then decide to stop midpoint. You cannot go back conveniently.

Activities may fail. A good painter may produce an evenly painted surface, but a bad one may end up with bumps and visible drips.

Lastly, once the wall has been painted, there remains some cleanup work to do.

To summarise:

An activity:
  • Requires preparatory activities
  • Has an output
  • Requires material resources
  • Requires people to undertake the activity
  • Takes time to finish
  • Has constraints
  • May fail
  • Has closing activities

Project Management

Every undertaking, faces the possibility of taking longer than anticipated, costing more than expected, and or not completing successfuly. The bigger the undertaking, the bigger the likelihood that unwanted events and outcomes occur.  One key culprit is complexity.

Consider the undertaking of changing your shower curtain versus the problem of defending Normandy beach from Allied invasion.  You might slip on the floor and bang your head seriously while doing the former.  However, many, many more things could go wrong more seriously in the latter (and many things did go wrong).

Launching an invasion is more complex than changing a shower curtain. It is this (vast) difference in complexity that makes the other undertaking much more likely to have potential problems. Complexity is like having many open doors and windows where problems are free to let themselves in. The more complex the undertaking, the more numerous the open doors and windows.

We could stay small and be content with simple undertakings, but our society's progress will be limited. We can choose to limit our undertakings to nothing more complex than mastering the art of candle-making, but our society will not progress much. If we want progress, we have to face and deal and master complexity.

Fortunately, we have tools at our disposal.

Look at the skyscrapers and other technical marvels we now have.  Science and engineering has progressed such that it is now possible to design buildings that will not randomly fall down and will even resist powerful earthquakes. We now know how to design such buildings. Complexity and its associated problems have been reduced by scientific and engineering knowledge.

But we like to push the envelope, and so complexity remains.

Every undertaking requires activities. No activity, no undertaking. The more complex the undertaking, the more numerous and varied the activities are.

Activities depend on and interact with other activities, and therefore must be coordinated. Those who need to fit glass windows to a building cannot start working until the building structure has been built. Those who need to test software cannot begin until there is some software to test.

Knowing how to design a building is not the same as knowing how to organise the activities required to build that building, and vice versa.  The orchestration of these activities is also different and demand a different kind of knowledge, attention, and discipline from that required to design a building or build a building.

To harness the benefits of science and engineering, there is another discipline that was developed to help us with our complex undertakings. This discipline is intended to help us manage the activities and ensure that:
  • We can have a confident estimation how long a undertaking will take, so we can plan for it.
  • We can have a confident estimation how much the undertaking will cost
  • We can identify the activities required to complete the undertaking.
  • We can ensure that the undertaking will take no longer than planned
  • We can ensure that the undertaking will cost no more than planned.
  • We can ensure that the undertaking will be completed.
  • Everyone's valid expectations are met.

That discipline is called Project Management.