I agree. You really have to be disciplined to do this, though, because there is always something in a startup that needs to be done right now. Rushing for a month and then taking two weeks to refactor/improve code is fine. But doing the same for 12 months is a big gamble.