About

Welcome to Allan's Ramblings!

Blogging about Technology and more.

Who am I?

Tag cloud

Archives

01 Mar - 31 Mar 2008
01 Apr - 30 Apr 2008
01 May - 31 May 2008
01 Jun - 30 Jun 2008
01 Aug - 31 Aug 2008
01 Sep - 30 Sep 2008
01 Oct - 31 Oct 2008
01 Nov - 30 Nov 2008
01 Feb - 28 Feb 2009
01 Mar - 31 Mar 2011
01 Jan - 31 Jan 2012

Calendar

« February 2012
S M T W T F S
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

Links

The Active Network
Partners For Haiti
One Mile Clinic PNG

Search!

Last Comments

Allan Nienhuis (Cisco VPN for Win…): The Shrew.net client supp…
Allan Nienhuis (Cisco VPN for Win…): I updated the article wit…
Allan Nienhuis (Cisco VPN for Win…): I tried installing the sh…
allan (Javascript intell…): when MS ships Jquery with…

Stuff

Powered by Pivot - 1.40.5: 'Dreadwind' 
XML: RSS Feed 
XML: Atom Feed 

« ELMAH - an Amazing as… | Home | Kaban Development Ove… »

Quality & Broken Windows

26 05 09 - 08:38

The authors of the Pragmatic Programmer (great book btw, highly recommended) have a lot of insights into the craft of software development, but in my opinion one of the most powerful ideas is that "living with broken windows" drives quality downward in a depressing spiral of entropy.  Well, they put it a lot more eloquently than that, but the idea is that when you're working in a codebase that's littered with problems, bugs, sloppiness, etc, you and your team are much more likely to do sloppy work.  Your standards are lowered by the sheer weight of the code around you, in spite of your best intentions and even explicit attempts to do high-quality work.  This is a great argument for continued refactoring of existing code, even if that code is more or less functional.  It can affect the quality of new code just by its presence in the same codebase.  It's like a poison, or at least a bad smelling swamp gas...

I won't attempt to elaborate much more on the concept - this article explains it much better than I'm likely to.  Go ahead and use up some of your daily or weekly geek reading time on that article - it's time well spent.

What's your experience like?  Have trouble keeping high standards when working on crappy legacy code that someone-who's-no-longer-working-here-for-a-good-reason wrote?  Wish you could rewrite that whole module or function from scratch but just don't think you have the time?  Can't convince your Dev or Product manager to let you have the time to refactor that painful and buggy sub-system?  Or, have you been able to clean up parts of your codebase with positive results? Was it worth it? Do you think it really makes much of a difference?  Or, can you manage to keep your work up to all the awesome standards that you have in spite of the muck that you're wading around in?

What do YOU think?

P.S. Don't take this as suggesting that all of the legacy code is crap - it's not.  There's a lot of really great code out there, I know.  And you don't need to look only at 'legacy' code to find sloppiness either.  These are big generalizations, but I think they're useful ones that apply to much more than just code.

Used tags:
No comments

  
Remember personal info?

Emoticons / Textile


 

  (Register your username / Log in)

Notify:
Hide email:

Small print: All html tags except <b> and <i> will be removed from your comment. You can make links by just typing the url or mail-address.