Sunday, January 09, 2005

The second most durable species

I was reading 'The Tunnel Of Time' - R. K. Laxman's autobiography which had a quote which was something like
"Politicians are the most durable species"
And of course i could not help but make the inevitable comparison with my own profession that of a software engineer. Though perhaps not as durable as the politician we probably qualify as the second most durable species.

For example

Most of the projects / products delivered are late and over budget and buggy. And these are the successful ones. There are the spectacular failures that no one has heard of.

Everyone associated with the failed project moves on to better and bigger things (perhaps in a different organization). I haven't heard of anyone getting a demotion for his role in a failed project. Instead the person has more experience( a valuable commodity in the software industry). The fact that the experience is in screwing up projects is of course not considered

Both the techies and the managers have a ready excuse list why the failure was not our fault and how a combination of circumstance, other people, client etc.. was the cause of failure. Like the teflon coated politicians nothing sticks to us either

We make a living of the fact that the things we have delivered do not function correctly. (The maintenance cost of projects almost always far exceed the initial design and development costs).

We state it as a known truth that all projects/products will always have bugs. we are in fact quite proud of it.

We come of with fancy terms (e.g. refactoring) to cover our inadequacies and incompetencies. See for example XP.

  • Fact software engineers are too bored/lazy/incompetent to keep code and documents in synch.
  • Solution come up with catchy phrases like 'The code is the documentation'

  • Fact it is really hard to design systems which are flexible and predict the future requirements.It is really hard enough to come up with a design that covers the current requirements.
  • Solution come up with a cool acronym like YAGNI(you aint gonna need it)

We love repeating our mistakes. we love repeating other peoples mistakes. Just look at the number of substandard open source projects and the number of downloads they get.

So am i disillusioned with this industry?

No comments: