Ever come across tests that are no longer in sync with the specifications/requirements? Code that has been modified but the specification/ requirements document has not? Changes made but no comments in the version control log? No version control? Defect fixes lead to side-effects destabilzing the code?
If you have, then you have come across a bhoot bangla (a broken-down haunted house).
Bhoot Banglas start with broken windows. Code that is not documented is a broken window. A requirement that cannot be traced to implementation and a test, is a broken window. A defects that is not caught in review is a broken window. A Magic numbers is a broken window (and replacing 1 by defining it as ONE does not make it any less magical). Unrestrained use of globals is a broken window. Unrestrained coupling is a broken window. A broken test is a broken window.
Look actively for broken windows. Fix broken windows as soon as they are noticed. Do not wait for a big clean-up phase. Do your good deed for the day.
The book Broken Windows, Broken Business: How the Smallest Remedies Reap the Biggest Rewards has great relevance to software development and maintenance. As it says in the introduction a "broken window" is "any small indication that something is amiss and not being repaired". It leads to much larger problems.
Broken windows result in Bhoot Banglas. And Bhoot Banglas result in broken software people.
No comments:
Post a Comment