Tuesday May 29, 2007
My Dad, Broken Windows Theory and Software Development
My father was born in Jerusalem, Israel in 1935. His native tongue, though, is French. Not only is he fluent in French, he was always flaunting the fact that he could easily recite poems, proverbs and plays, beginning to end, in French. He could recite the entire collection of the Fables of LaFontane. As you can imagine, my childhood was peppered with intriguing stories, with lessons at the end, in French. "Qui vole un oeuf vole un boeuf", my Dad used to say: "He, that steals an egg, will steal an ox".
"James Q. Wilson and George Kelling developed the `broken windows' thesis to explain the signaling function of neighborhood characteristics. This thesis suggests that the following sequence of events can be expected in deteriorating neighborhoods. Evidence of decay (accumulated trash, broken windows, deteriorated building exteriors) remains in the neighborhood for a reasonably long period of time. People who live and work in the area feel more vulnerable and begin to withdraw. They become less willing to intervene to maintain public order (for example, to attempt to break up groups of rowdy teens loitering on street corners) or to address physical signs of deterioration.
Sensing this, teens and other possible offenders become bolder and intensify their harassment and vandalism. Residents become yet more fearful and withdraw further from community involvement and upkeep. This atmosphere then attracts offenders from outside the area, who sense that it has become a vulnerable and less risky site for crime."
The "broken window" theory suggests that neighborhood order strategies such as those listed below help to deter and reduce crime.
Source: http://www.cityofseattle.net/police/prevention/Tips/broken_window.htm
You might be thinking now: what in the world is the connection between proverbs, the Broken Windows Theory and software development. Indeed, the connection may not be straightforward. Lets see if the following scenario is possible. A large group of developers are responsible for the development of a significant commercial software product. They are all hard working, smart, innovative, diligent. But like all other software developers, they do, in fact, introduce bugs to the product. Not intentionally of course. The question is not whether the bugs are there, the question is how these bugs get treated. Do they get fixed, tested, integrated and delivered? Or do they quietly age in the system until a really important customer experiences them? Do they get treated with respect? or are they ignored?
Let me rewrite the paragraph describing the Broken Windows Theory, using some more familiar words from the software development world: ..."This thesis suggests that the following sequence of events can be expected in deteriorating software products. Evidence of decay (large defect backlogs, no documentation, no code reviews) remains in the system for a reasonably long period of time. Quality oriented engineers who work on the project feel more vulnerable and begin to withdraw. They become less willing to intervene to maintain software quality for example, to attempt to enforce code reviews, or to address signs of deterioration..."
The "Broken Software" theory suggests that good software engineering strategies such as those listed below help to deter and increase quality.
"He, that steals an egg, will steal an ox", "Broken windows invite further deterioration", "Ignoring small bugs, invite bigger ones". When someone tells you to fix "seemingly unimportant bugs", insists on good documentation, holds back feature for the sake of better quality, remember the "Broken Windows" theory.
If you have ideas of how to increase software quality, please share them. You can use the link below to add a comment.
Posted at 08:08AM May 29, 2007 by Amiram Hayardeny in Personal | Comments[6]
Today's Page Hits: 657
| www.flickr.com |
Posted by melanie gao on May 29, 2007 at 09:19 AM CST #
Posted by Amiram Hayardeny on May 29, 2007 at 09:47 AM CST #
Posted by Dave Murphy on May 29, 2007 at 11:45 PM CST #
Posted by Ben Northrop on May 31, 2007 at 11:33 PM CST #
Posted by Jose Fernandez on June 01, 2007 at 09:44 PM CST #
Posted by Anat Gafni on June 12, 2007 at 03:46 PM CST #