Home Remodeling and Software Maintenance

I just finished signing the final paperwork to begin remodeling our home.  Along with the paperwork came a fairly large budget.  What strikes me as interesting is that it actually costs more to add on to a house than it does to build things from scratch.  After thinking about this for a while, it kind of makes sense.  Being a programmer, I related it back to writing code: it's sometimes faster (cheaper) to write new code than it is to debug somebody else's code.  The poor contractor can make rough estimates about what is actually under the foundation, or in the walls.  Until he actually opens things up, it's just a guessing game.

So back to software a little bit.  If we always wrote code with the assumption that 10 years from now some poor person is going to have to read and debug the code to fix it, what would we do differently?  I'm a big fan of readability, but too often I think I fall into the trap of writing comments to remind me about why I did what I did, rather then writing to an unfamiliar audience.

Well, enough rambling.  Hopefully I'll come up with some better stuff (and more) to talk about next time.