Software Project Management is as much about people as it is about software. A technically inept team of so-called “software professionals” can never produce a satisfying result no matter how good the project plan is. Similarly, a team of exceptionally good developers can not deliver results if the planning isn’t done well.
Looking closer still, there are two more factors. The first is the composition of the team. A development team needs to be balanced. A team made up of self-assured, highly competent people can not work as well as a team in which there are both leaders as well as followers. Which brings me to my next point – leadership. It is very important that the leader and/or Project Manager distinguish him/herself in the eyes of the team. People work for managers, not companies. I have seen outstanding managers get outstanding results out of mediocre teams and I have seen mediocre managers get mediocre results out of outstanding teams. Most people just need a reason to perform. Or not to.
While we’re at the topic, another thing that I’ve learnt is that leaders create leaders. Instead of holding on tightly to their knowledge and position, good leaders share and give away everything, in the process creating new leaders who can take their place, so that they themselves can move on to higher responsibilities.
Another interesting fact is that the world is increasingly getting flatter, more and more people are getting empowered and hierarchies are getting flattened (think Wikipedia and YouTube). While on one side there are more and more “suits” getting their MBA degrees and company cars, on the other there’s a new breed of high-performance teams emerging. These are teams that are self-organizing, with minimal intervention from “the management” (more on that later).
One of the biggest challenges in project management today is the management of distributed teams – usually across countries, time zones and often cultures. I think that the open source community is the best example of a self-organizing, distributed and high-performance team (or rather a cluster of teams, more on that too later).
- The Mythical Man Month: Essays on Software Engineering (20th Anniversary Edition), by Frederick P. Brooks (Addison-Wesley Professional, 1995)
- The Cathedral and the Bazaar, by Eric S. Raymond (Version 3.0, 2002)
- Homesteading the Noosphere, by Eric S. Raymond (Version 3.0, 2002)