I just re-read an old article that I was reminded of when it comes to software architecture and design. It's called Good Programmers Get Off Their Butts. The basic idea here is that it becomes all to easy to spend copious amounts of time trying to architect the perfect solution. In reality, no such thing exists.
Before I continue on, it is important to note that I do not imply that planning is not important, and that planning tools such as UML are useless. As the article says:
Coding without planning is just as futile as coding with too much planning.
You must plan.
Basically, the premise is that, at some point, you need to just start coding. Have a read of the article. It's an oldie but a goodie:
Good Programmers Get Off Their Butts.
Speaking of which, I did get some work done on the task I mentioned last night, and I feel good about it.