Friday, December 21, 2007

Customers Do So Care What Your Code Looks Like, They Just Don't Know It

Over at Coding Horror, Jeff Atwood claims "Users couldn't care less whether the underlying code is pretty."

Baloney.

The article sparked lots of responses noting that customers do care, because ugly code is often hard to maintain, and code that is hard to maintain often leads to more bugs, as well as to longer implementation times both for bug fixes and for the new features that keep you ahead of your competition.

But yes, in a short-sighted way, Jeff is right. Customers often don't appear to care about quality until something bad happens.

  • They don't care about the bad quality of cheap toys from China, until they find out they are hazardous to their children's health because the toys contain too much lead.
  • They are so enamored with the bling of their SUVs that they don't think about quality until news headlines start shouting about rollovers.
  • And, they don't care about ugly, unmaintainable code until your product has a showstopper bug and it takes you forever to fix it, because you can't figure out how to. Or, until a competitor has a feature that your customers are dying for, but that it takes you forever to match, because you can't figure out how to integrate it into your ugly codebase.

Whoops! It turns out that customers care about quality after all.

So yes, customers do care, it's just that they are so dazzled by promises of features and the potential for bargains that sometimes they forget—until something bad happens.

As always—and I think this may really be part of Jeff's point anyway—there has to be balance. Take the time to write maintainable, quality code so you don't end up in the "whoops!" situation. But on the other hand, don't stare at your code editor, re-refactoring for hours on end just to write a masterpiece.

1 comment: