Engineering, not Art

Brian in Opinion | 0 Comments May 15, 2003

From this article on msn about T-Mobile dropping Microsoft's smart phone:

"T-Mobile announced in February it planned to introduce the Microsoft phone this summer in a move analysts saw as a blow to mobile handset industry leader Nokia .

But industry sources said the phone software of the world's largest software maker still had "fundamental problems" leading to high failure rates.

Microsoft was not immediately available to comment."

After working at Microsoft for a number of years, I still believe that we hire some of the best minds in the industry. Why, then, do we have such a poor track record for quality? I think it boils down to this: we're not thinking like engineers. Software is supple: you can write a lot of code to do a complex task and change it very easily. Most engineering disciplines do not have this luxury. Silicon is not supple, and making changes to it costs an enormous amount of money. Therefore, there are two tenents in most engineering disciplines that software folks don't follow: "Think twice, cut once", and implement the simplest solution to the problem. There isn't an observable relationship between the size of body of code and the cost to produce it. The relationship exists, however: more code == more complexity == higher support costs.

It wouldn't be fair to stand on my soapbox without a careful self-critique. I'm one of the prime offenders. I am so wedded to general-purpose designs that my code is far larger and more complex than it needs to be. The .NET Framework actually makes this problem worse because it's just do damn easy to write code with it, so there is a natural tendancy to write more code. Perhaps changes starts in my own back yard...


Comments are closed