Saturday, 12 May 2007

Project Management Fuss

I just had a course on project management and the instructor who was quite good actually and he served us the usual things regarding process, planning, resources, etc.

Frankly I don't believe that managing a software project using analytic methods is the right way to do it because here we are mainly talking about human resources , human interactions, human creativity and the model describing this reality has yet to be created.

The fundamental problem with the analytic methods (which are perfectly valid in other circumstances by the way) is that building software cannot be treated like building a car or a plane because our industry is very very young in compared to the manufacturing industry.
These people tend to think that we have reach the taylorization stage and have to consider developers like blue collars working on a semi-automatic chain and fixing screws on a car door.

But we are millions miles away from this stage and I would say that we have only reached the CRAFTSMAN stage and this why so many people feel exited about software development. Indeed a craftsman is a bit of an artist with some techniques and light methodologies and his ultimate goal is to create his "chef d'oeuvre" (think about the Asian culture with the masters).

The instructor was talking a lot about how achievement is important for human beings and it is especially important in computer science. Creativity is also a part which is crucial in software development. People do software because they can be creative and solve elegantly complex issues never solved before.

All these software management methodologies tends to destroy creativity by overloading developers with progress reports, time sheets, ... in order to increase control on them. This will probably give more visibility and information to the management but you might end up with a standard DULL product using very common techniques and no innovation at all.

So I would yes to organize the work of your developers jointly with them in a light fashion and no to the heavy methodology which gives more weight to the process and the control.

I suppose that the people behind the XP programming have a similar view to mine.