Friday, July 31, 2009

The Mythical Man-Month

I have recently completed my reading on the "Mythical Man Month" by Frederick P. Brooks, Jr. This book was written over 20 years ago about software development. After 20+ years, a lot of the observations made by Mr. Brooks were still very relevant. One of the takeaway for me was the importance of conceptual integrity. Nowadays, software are so complex and the turn over of developers so great that no body have a good idea of how the application works anymore.

Combine the complexity of software with the get-rich-quick and self-entitled generation, very often the conceptual integrity wasn't even sound in the first place.

Often times, I see people come on and off projects. Perhaps people take the whole joke about "cogs in a machine" too literally. It was assume that a few weeks of "Knowledge Transfer" session was suffice for the project to continue humming along.

This is why the recent paper by Tom DeMarco really struck a cord with me. With todays metric-centric project management towards software development, Tom DeMarco comes out to clarify his often mis-quoted phrase "You can’t control what you can’t measure". In fact, last week I just came back from a internal week-long training. The entire training rally around the quantitative portion of project management and de-emphasize the qualitative part of management.

Unfortunately, the discipline of project management seems to continue centered around workplans and metrics. There are droves of "managers" with their glossy PMP certificates which ask their "sub-ordinates" to create a MS-Project plan. Then they put those plans together into a "master-workplan" and chase people for their ETC. Where the heck is the "management"? These are merely administrative task. Yet, companies continue to pay "Project Manager" big money merely to do administrative task.

When you have "project managers" who "manage" your software development project, who proudly proclaim they have never written a line of code, it is time to get our of that project.