I'm working on starting my own software development business, but I've noticed that I have major issues getting projects out by their deadlines, and in general getting them out of the "almost-done" stage.
I feel my problem is that I like complex programming too much, and I end up rewriting code to make it cleaner/more efficient/less error prone as a means of putting off more "boring" development. I end up with polished applications at the end, but I spend twice as long on the project as I should have. If I ever want my company to succeed, I need to work on staying focused on what actually needs to be done, so the question is:
What techniques do you use to keep yourself focused and motivated on a project, in your career?