Saturday, March 24, 2007

Bug Fix or Feature Upgrade ?

I run a software company. Prior to that, I worked as a software engineer. Throughout my life as a software professional, I had always felt that it is the obligation of the company that produced the software to fix any bugs that prevent it from behaving the way it supposed to. Totally free of charge. That is what we called, Bug Fix.

On the other hand, software is often upgraded to provide new and better features. For example, Microsoft upgraded MS Office from 95 to 97, and then to 2000, and so on. Since the upgraded version has more features, it’s only right that the customers have to pay for them. If the customer feels that he doesn’t need the new features, he can choose not to upgrade the software and it will not affect the performance of the current one. That is what we called feature upgrade, which is different from bug fix.

The reason why I am talking about the difference between bug fix and feature upgrade here, is because of a sight that I had seen which hovers around my mind for quite a while. I lived in an old flat which does not have a lift that service every floor. One fine day, after my morning run, I saw an old man climbing down the stairs with his crutches. Slowly, step by step, he finally reached the ground floor. A feat that most of us could do easily, but probably a daily challenge for the old man.

I started to ponder, if we have a lift that service every floor, it would actually do a lot of good to people like the old man that I had seen. People who are old, sick or handicapped. People who have difficulties in climbing up and down the stairs. To these people, lift upgrading is not a luxury, but a neccessity.

And that brings me to further think about whether lift upgrading should be considered as a feature upgrade, or a bug fix. Flats are built for Singaporeans to have a home of their own. Singaporeans, including the old, sick and handicapped. And the basic functionalities that one should expect from a home, is not only the four walls and a roof, but also its accessibility.

If any people who lived in a flat has difficulty in stepping out of his house because of the inherent design of the flat, I would view it as a bug that prevents the product (flat) from behaving the way it supposed to. A bug which the company has the obligation to fix, free of charge.

So, lift upgrading is actually different from other fanciful upgrading carrots like playgrounds, sheltered pathways, additional storeroom or tennis courts. The latter are, what I called, features upgrade. They provide new features for your house and neighbourhood. If you opt for them, it is natural that you need to pay. But the former (lift upgrading), should not be lumped together as features upgrade. It should be seen as a bug that needs to be fixed, ASAP.

And I understand that, there are quite a handful of flats throughout the island that need such a bug fixed. But yet, we are required to pay for this bug to be fixed. Worse still, even if people are willing to pay, they may not get the bug fixed just because they lived in certain parts of the island.

Politics is dirty. And I know that. In politics, dangling carrots is one of the lethal weapons to win the battle. But we are talking about real people with real problems here. They are Singaporeans. They are humans. They are one of us. You may have win the battle. But are you prepared to lose the hearts?