Why is Software so Complicated? Part 5 – YOU!

An article appeared awhile back quoting Nathan Myhrvold, the former Chief Technology Office for Microsoft. Nathan has been involved with the company for many years, and has guided many significant projects, not the least of which being Excel and Word.

When asked why software is so complicated, he placed the blame squarely on the customer. He pointed out that Word is an example of customer demand driving the program. The constant demand for novelty means that software is always ‘in the bleeding-edge phase’. Another comment? ‘Users are tremendously non-self-aware’, he points out. His example is corporate customers wondering if a new upgrade is worthwhile because of having too many features, and simultaneously asking for features of their own.

As has already been discussed here, customers do drive features. However, the argument of blaming someone else rather than taking responsibility is as old as Adam, and still doesn’t come across well. Small companies can argue that a big customer represents significant revenue, and implementing their requests can be a life or death decision. However, that a company as large as Microsoft feels it can still blame the customer highlights the attitude there more than anything. With its size, it can (and according to legal documents, has) dictated the market for quite some time, not the other way around.

I feel that companies such as this, in blaming the customer, are trying to imply that the customer is too stupid to ask for ‘reasonable’ features. If this is so, it begs the question, if they in turn are the intellectually superior, why is software still so bad? The solution should be simple: use their vast intellect to either 1) figure out a way to integrate features properly, 2) figure out a way to say No to customer requests, or 3) figure out a way to say No to the sales staff who demand new features.

Ultimately, software is complicated because few programmers are ‘people’ persons. Lacking people skills, it’s easier to ridicule others that disagree than see their point of view, and harder to cooperate than work solo (and thereby go off on a tangent with feature sets). Writing code is more intellectually challenging that chasing down bugs, and interacting with customers to get their needs and views is not a pleasant task. All of which contributes significantly to the current sorry code state.

And don’t expect things to get better anytime soon: looking at the typical programmer of today, people skills are in short supply and unlikely to change. However, this lack does provide a real business opportunity for any software company willing to treat customers properly, an opportunity my company has been working hard at. Part of the impetus behind this newsletter is to let people know that technology can benefit from a little humanity, and in some small part show the way.

Comments are closed.