I totally agree with his main point that ‘we are what we repeatedly code’. It takes a while to build a habit. I wish more coders wised up to this. But more importantly I wish more software managers wised up to this.
When it comes to the cost involved, I’d suggest that the cost is a little higher than Paul makes out (and others have alluded to this in his comments), but the important point is that the cost is much smaller long term than not doing it (as Paul points out in his comment reply).
The problem in many places (not here of course :-) is that whilst software managers often pay lip service to wanting proper ‘resume quality’ code, they often don’t really follow through with enough resources. Good developers are the ones who often push for better quality, but managers have to (or is that choose to?) compromise due to other constraints. Sometimes this is because software managers are victim to the old ‘all responsibility, no authority’ trap, but other times, the pressures of too much work, not enough time get in the way. What value is there in documenting a project that has been delivered and already paid for? And of course here is the problem – it should have been documented during the project… but because we didn’t document it last time, we weren’t in the habit of documenting, and because we weren’t in the habit we didn’t… etc the bad cycle becomes the habit.
It takes guts and determination to break the habit, not just from the developers, but from management as well.
And I guess it would help if clients saw the value and agreed to pay for it as well (but that’s another discussion).