Software bugs – here to stay?

Great Little Computer!Being a software developer I’m pretty ophey with the term ‘bug’. In fact, I do believe the term is used daily within my day job. Historically this term had an entirely different meaning outside of software development. However, in parallel with the app explosion the term has made it into the mainstream. An even more disturbing trend is that consumers now seem to accept that software has bugs. I am not convinced this was always the case! I remember spending hours of my youth bashing away on my Amstrad CPC464 attempting to conquer the latest 2D game. I do not remember these crashing or the need for me to upgrade to version 1.x and beyond. Does this mean that software programmers of yesterday were a smarter animal than today’s crop?

Software bugs everywhere
I’m being a little unfair comparing the developers of the 70s and 80s, against those practising today. Technology has moved on. Theoretically programming should easier as memory limits are no longer an issue (yes debatable) and processors are a lot faster. The available development tools have also increased and the feature set within each are far richer. Unfortunately, these technological developments have not simplified the programmers job. In fact, the shear number of development tools, target platforms and hardware devices available to a programmer can actually hinder the project. In my opinion this makes the job harder. Also, each tool set promises to greatly improve the development process, but, forgets to mention the 101 things it will not do. There are far too many options to be considered!
The pace of technology also moves a lot faster. The latest development methodologies jump out of fashion as quickly as they came in. Although programmers are expected to learn and adjust their craft at the same pace. With time, adjustment is possible; but, time is not a resource granted generously in the software industry. If you snooze you lose: meaning if you don’t ship your latest product your competitors will.
Another factor in making the term ‘bug’ mainstream is the tendency to push the boundaries. We want our computers to do more. This means the programs we write are far bigger in size, complexity and features than those resource limited programs of yesterday. By resources I mean RAM and disk-space. There is great beauty in simplicity, so I am not sure the race for bigger and better systems is a good thing. Though, we all reach for the stars. This and the aforementioned issues all mean there is a far greater chance that software has bugs.
The following screen shots are what prompted me to write this post. Every time I update my PC, iPhone or iPad the updates nearly always include some sort of bugs fix. You’ve got to question whether there is something wrong with the way we develop software. Now for the evidence.
Next time you update your smart phone, or, tablet take the time to check for the word bug.

5 thoughts on “Software bugs – here to stay?

  1. The type of bugs has shifted somewhat. We now tend to program at a higher level, on top of more robust and better designed system libraries, so in principle, we should see fewer bugs. And indeed, that is the case. It is a long time since I needed to deal with a buggy device driver, or OS system call.

    However, counteracting these modest improvements is an explosion in complexity, both in terms of the applications themselves, but also the degree to which they are expected to interoperate with a vast and heterogenous ecosystem.

    So, whilst we probably have a lower defect rate per unit application complexity, the expectations for application complexity per unit developer effort are probably rather higher today than they were 20 or 30 years ago.

      1. I guess it is the industrial corollary of the Peter Principle – once a technology or practice has succeeded in some area, it will be used for successively more challenging and inappropriate application areas until it breaks beyond the point of usability. Therefore, over time, our experience of technologies and practices will tend inexorably towards a state of almost-but-not-quite broken. Existential frustration is the inevitable and inescapable fate of mankind.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s