Software Development & Broken Window Theory


Broken Window theory goes something like this:

  1.   Some broken windows are left unrepaired in a neighbourhood…
  2.   People see this state of disrepair and feel like no one cares about their surroundings…
  3.   Because nobody cares, people feel like they can cause further damage without repercussion…
  4.   Further damage is done, perpetuating the cycle.

We see this exact same pattern in all areas of life including software development.

Take for instance a database where the column names are a mixture of UPPERCASE, lowercase and camelCase etc.  Some of the columns have [spaces in the name] and some have _under_scores.  Some may even have tpyos.  The SQL in the stored procedures is formatted poorly and everything is a bit sloppy.  If you are asked to make changes, are you going to take care to make your objects as good as they could possibly be??

What is key, is that it only takes one unscrupulous developer and a couple of slips in standards to make the whole team ‘give up’.  It then takes a very strong willed individual to turn it back around.

“Human behaviour is profoundly affected by its environment – [Broken windows] are a declaration that the environment is uncontrolled and uncontrollable”  –  James Q. Wilson

Hat-tip to Abdul Abass for telling me about this theory!