Adam Savage (presenter of the Mythbuster's TV series) recently gave a talk to the Bay Area Makers' Faire. He came up with a humorous list of "Ten Commandments for makers".
A written version of the talk - though not always exactly what Adam actually said (I think he winged it a bit on the day!) appears here. The equivalent in the embedded video is over after 10:15 (the rest is a Q&A session).
A lot of his points are entirely applicable to software projects, which after all are a kind of making.
In particular, Point 8 (better in the video than the transcript) is about "tolerance":
"Knowing when to use a tight tolerance and a lose tolerance is pretty much everything that separates the Expert from the Novice".
He means 'tolerance' in the engineering sense (the extent to which something can harmlessly be allowed to vary from the ideal): please note that 'harmlesly' - I'm not advocating sloppy wok; 'not caring about stuff that matters'.
Understanding tolerance (in that engineering sense), yields a statement which is true for anything I've ever tried to make. -In areas as diverse as cooking, music, laboratory protocols (I was formerly a molecular biologist) or software projects, the thing is to know where you have to be really careful and precise (tight tolerance), and battle to keep things within tolerance there. By comparison, when you're a novice at something, it's easy to mis-focus your efforts. You can either fail to see until too late how something can easily get beyond its tolerance (and indeed beyond what can be tolerated!), or to exhaust yourself trying to keep everything impractically perfect.
Not sure what "use more cooling fluid" is for software projects - unless beer is a cooling fluid!