Coding Horror

programming and human factors

Are You Following the Instructions on the Paint Can?

We're currently undertaking some painting projects at home. Which means I'll be following the instructions on the paint can.

Paint can

But what would happen if I didn't follow the instructions on the paint can? Here's a list of common interior painting mistakes:

The single most common mistake in any project is failure to read and follow manufacturer's instructions for tools and materials being used. In regard to painting, the most common mistakes are:
  • Not preparing a clean, sanded, and primed (if needed) surface.
  • Failure to mix the paints properly.
  • Applying too much paint to the applicator.
  • Using water-logged applicators.
  • Not solving dampness problems in the walls or ceilings.
  • Not roughing up enamel paint before painting over it.

What I find particularly interesting is that none of the mistakes on this checklist have anything to do with my skill as a painter. My technical proficiency (or lack thereof) as a painter doesn't even register! To guarantee a reasonable level of quality, you don't have to spend weeks practicing your painting skills. You don't even have to be a good painter. All you have to do is follow the instructions on the paint can!

Sure, it seems like common sense. But take a close look at the houses on the streets you drive by. Each street has that one house where the owners, for whatever reason, chose not to follow the instructions on the paint can.*

For years, software development was an entire subdivision of badly painted houses. But the field of software development is now mature enough that we have a number of paint cans to refer to. Here's one such checklist from Joel Spolsky, circa 2000:

  1. Do you use source control?
  2. Can you make a build in one step?
  3. Do you make daily builds?
  4. Do you have a bug database?
  5. Do you fix bugs before writing new code?
  6. Do you have an up-to-date schedule?
  7. Do you have a spec?
  8. Do programmers have quiet working conditions?
  9. Do you use the best tools money can buy?
  10. Do you have testers?
  11. Do new candidates write code during their interview?
  12. Do you do hallway usability testing?

The type of paint can you choose – and the instructions you follow – are highly debatable, of course. But make sure, at the very least, you're following the instructions on the paint can for your software development project.

* oddball color choices notwithstanding

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Exchange and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: http://twitter.com/codinghorror