Chase Jarvis has recently driven home the old addage that the best camera is the one you have with you. For a long time I've been saying something similar about exercise: the best routine is the one you do regularly.
The underlying message is that its better to execute something imperfectly than to not execute at all. Or to state it more simply: delivery matters.
It's a constant frustration to me how many people don't give enough weight to delivery. They feel that it's just one of the many requirements of a project, along with proper architecture, project management, reporting, testing and documentation. While all of those things are important, and often aid the production process, they don't make a damn bit of difference if you don't deliver a system that meets the core business need.
For a lot of 'successful' projects these important, though secondary, aspects are missing. And because we agree that they are important, there is a tendancy to over-inflate their importance in an attempt to ensure that they are done in the future. While this is admirable, it's unrealistic. What it doesn't consider is how many projects had all these things in place, but never saw the light of day.
Often you need to take short term productivity hits to ensure long term viability. Focusing on delivery doesn't mean that you can't, or shouldn't, improve processes. But you have to do it whilst still delivering, even if it's at a slower rate.
A perfectly designed, archtected, managed and tested system is worse than useless to your clients if it doesn't help them meet their business needs.
So please keep striving for improvement, but remember: the best system is the one you actually deliver.