"If debugging is the act of removing bugs from code, then programming must be the act of putting them in." -- Unknown
"If you don't have time to do it right the first time, when are you going to find time to do it over?"
My stepfather used to tell me this... and the more software development I do, the more I realize it is true. As technical lead in a small development shop, I have several project managers who ask me for estimates. Whenever I build in time for proper requirements and testing, they balk at the length of time required. Then, invariably, the code has bugs... and there is a crisis... that could have been prevented by proper requirements and testing.
At the same time as I'm having these struggles in the workplace, I'm getting more involved in the local .NET User Group. We're blessed with a few pretty heavy hitters. Probably the biggest advantage for me is the ability to talk to some people who've been doing this software thing for a whole lot longer than I have -- providing the mentoring that is lacking in a small software shop. Besides that, it's reassuring to know that these folks deal with the same issues that plague me, albeit on a much larger, more sophisticated scale.
If there is a question that you need help with, please give it 24 hours before contacting me directly. My e-mail is chaosian <at> experts-exchange <dot> com.