Recently, I stumbled upon an interesting email. It was in Spanish(found it) so be merciful with me as I attempt to translate and paraphrase:
1969, Stanford: Professor Philip Zimbardo conducted an experiment in social psychology. He left two identical cars(same make,model, color) in two different neighborhoods(Bronx-NY, and Palo Alto-CA). Two identical cars in two neighborhoods with very different populations, along with a team of specialists in social psychology to study the behavior of people at each site.
It turned out that the car in the Bronx began to be vandalized within hours: lost the tires, engine, mirrors, radio. All that was usable was taken away, and what wasn’t usable was destroyed. The car in Palo alto remained intact.
Commonly, people attribute poverty to cause crime, but the experiment wasn’t over. With the Palo Alto car unscratched and the Bronx car destroyed, the researchers decided to break a window in the Palo Alto Car. The result was that this action unleashed the same process as in the Bronx: theft, violence and vandalism reduced the vehicle to the same state as in the poor neighborhood.
Why was the broken car window in a supposedly safe neighborhood able to unleash such a criminal reaction?
It isn’t poverty, it’s obviously something to do with psychology, human behavior and social relations
A broken window in an abandoned car conveys an idea of deterioration, lack of interest, carelessness that breaks codes of coexistence, and it resembles the absence of law, norm or rules. Every new attack suffered by the auto reaffirms and multiplies the idea, until the escalation of events, getting worse, becomes uncontrollable, leading to irrational violence.
In later experiments (James Q. Wilson and George Kelling) developed the ‘broken windows theory’, from a criminology point of view concluding that crime is higher in areas where neglect, dirt, disorder and abuse are higher.
This article got my mind running. What If the same principle is applied to Software Engineering?
Suddenly my mind wandered off to that function I left undocumented, that class that needed refactoring. I’m not a perfect programmer. Will the future programmers(or some newbs) vandalize my code? Will I be ashamed to look at my creation?
Probably. Also, you don’t need a “society” of programmers to make this theory a reality. Just you and your future you, looking back at beta version of your own self in code. You will see the broken windows, but will you fix those broken windows? Or, will they influence you to carelessness?
Some hope (from the Wiki article):
George L. Kelling [the author of the theory], was hired as a consultant to the New York City Transit Authority in 1985, and measures to test the broken windows theory were implemented by David Gunn. The presence of graffiti was intensively targeted, and the subway system was cleaned from 1984 until 1990.
According to the 2001 study of crime trends in New York by George Kelling and William Sousa, rates of both petty and serious crime fell suddenly and significantly, and continued to drop for the following ten years.
And apparently similar success occurred in Albuquerque, Massachusetts(20% drop in calls to the police) and even the Netherlands.
Feel free to drop me a line in the comment section below.
UPDATE: From the comments (below and reddit), it seems that this topic was covered previously by the Pragmatic Programmer and I recommend you read it here.