Glitches


So, I’ve been playing way too much Modern Warfare 3 (MW3) and I’ve noticed a new word that at first glance was a replacement for “bug”.  Players refer to “glitches” in the game where say a body will lie suspended in air even though they it fall to the ground.  It doesn’t stop the game, but it is not expected behavior.  Now I doubt that there was a requirement in the MW3 software development plan that stated, “All bodies, once shot, will fall to the ground.”  And they probably didn’t have a test case around it either.  But because it is a game based on reality, you notice when something deviates from reality.

In my graduate testing course, we had specific definitions for terms like faults, bugs, and errors.  But we never mentioned the word “glitch”.  The Software Engineering field needs to get ready for this term and to help that, I’ll attempt to define it.  Now the Oxford English Dictionary defines a glitch as a:

A surge of current or a spurious electrical signal (see quots.); also, in extended use, a sudden short-lived irregularity in behaviour.

Interestingly, it seems Astronauts used the term a lot.  Here is a quotation from John Glenn:

1962   J. Glenn in Into Orbit 86   Another term we adopted to describe some of our problems was ‘glitch’. Literally, a glitch is a spike or change in voltage in an electrical circuit which takes place when the circuit suddenly has a new load put on it.‥ A glitch‥is such a minute change in voltage that no fuse could protect against it.

I think these two pieces of information help define a software glitch.  One, it is short-lived and the application continues to run smoothly overall.  Second, it is very hard to reproduce and hence creating a test case for it is also inordinately difficult.  Third, because it is short-lived and doesn’t bring the system down, it is a possible siren of something more troubling going on, but it could just be a “one-time” thing.  Very similar to the movie “The Matrix” where Neo notices a “glitch in the Matrix” and it alarms the others because that usually means that the Matrix is being changed by the agents.  Although it could also just be deja vu (the glitch Neo saw).

Is Software Art?


I was reading Architecture by Sir Thomas Graham Jackson tonight to see if and where the parallels between real Architecture and Software Architecture are.  I was struck by the amount of art that is imbued and intertwined with Architecture.  As he says:

So two workmen will do the same thing, but will do it in a different way.  The work of both may be useful and serviceable, but that of one will show thought and imagination, suggestive of further progress; that of the other will be correct, but dull and commonplace, leading no further.  The one man is an artist, the other a mere mechanic.

Am I a mechanic or an artist?  I consider myself a Software Architect, but that would mean I’m an artist.

Where is the art in software?

Where is the beauty in software?

Is it from the graphic designers? NO.  They are like interior decorators in my opinion.  They make our buildings look nice to the inhabitant.  We make the structure.

I can tell you where the beauty in software is:

  • TCP/IP
  • The World Wide Web

We have something called elegance in software.  There are elegant solutions and brutish solutions.  I propose the elegant ones are where our craft becomes architecture.  Something sustainable, something that will stand the test of time.  Something to be copied.  That is what Software Architecture is.