Sunday, February 11, 2007

Problem-Solving

There are two contrasting patterns of problem-solving behaviour in the software industry.
  • Solving problems on a one-off basis
  • Solving an entire class of problems in a single move.
Many of the important innovations in software have resulted from successfully tackling major classes of problem rather than isolated instances. And there are many people in the software industry for whom this way of problem-solving has become an ingrained habit.

I therefore find it odd that some classes of recurring problem continue to be tackled on a one-off basis. For example, the industry still doesn't seem to have found a reliable way to eliminate software code "overflows" - even though this is a regular cause of software bugs and security vulnerabilities.

Another common example of this pattern occurs in user support. When a user reports a problem, this probably indicates that a number of other users have a similar problem. And it is probably not good enough to fix the problem only for the users who report the problem. In fact it may be more important to fix the problem for those users who haven't noticed that there is a problem at all.

But if the response is to solve the problem as if it belonged to a single user, then this seems to deny the existence of a broader problem.

Take blog feeds for example. A couple of times recently I've noticed problems with blog feeds, and I've gone to the trouble to notify the blog author. What I'd expect the blog author to do is fix the feed. What happens instead is that the blog author sends me back a helpful email telling me how to redirect my newsreader. Actually I can work that out for myself thanks.

Perhaps some blog authors assume that their subscribers are all fluent in RSS. Because I'm the one identifying a problem, they might imagine I am positioning myself at the incompetent end of the spectrum. And the problem is my problem.

Actually, it's precisely because I'm not at the incompetent end of the spectrum that I can see there is a problem. And it's not my problem if the blog author loses some of his subscribers because his feed is broken. It's his problem.

No comments: