It took me a while to understand that my going-off-on-tangents had nothing to do with impatience. It had more to do with me not realizing that the last mile is the hardest. I would start everything with gusto but as soon as I hit a road-block, I would dawdle and eventually lose interest as soon as something new came up.
I now decide a (feasible) finish line in my head before starting a new activity and consciously check myself whenever I feel like I'm about to give up on it. I force myself to look at the finish line until I re-convince myself that I need to cross it before I can even think of giving up.
I am not 'there' yet but I am beginning to see some results and that eggs me on further. :)
Also, allow yourself some blow-out projects. You don't have to finish everything, but you want to become reliable. I.e. if you say you'll do something, then you'll do it.
Read "The Effective Executive" by Peter Drucker, which addresses this in greater detail.
I either have to settle with how things are now or change the work situation I think. I'll look into that book anyway.
"How we spend our days, of course, is how we spend our lives."
I would say I am not a finisher, but what I am trying to do is reducing these reasons: trying to understand/plan better to the deepest level, sleeping/eating well, getting more satisfaction from finishing things than starting one, and doing smaller things, selectively.
I've found that exercising that sort of honesty works very well for me. It's like, if you value your word, (which I do,) then you can leverage it back against yourself when you have to do something difficult.
Don't know if it works that way for everyone who values their word, but it might be worth a go. Might need some fine-running at the start, making tamer goals than you think you can achieve to prevent inadvertently breaking your word.
If you quit when things get hard, maybe you need to realize that hard things are hard. Anything worth finishing will require you to bleed.
If you quit because you have to "feel like it" to work, you should work even when you don't feel like it. Hard things are hard, and nothing would ever get done if people did it only when they felt like it.
There are many reasons why people aren't finishers. You need to find out why, and then figure out similar people that have overcome it and the specific tactics they used to overcome it.
I wish I were as good at taking this advice as at giving it.
1. Lose the fear. (This is the root cause of all the other stuff.) Or, more
accurately, experience it but don't give in to it.
2. Timebox the work (as reasonably as one can) or limit "one more feature".
3. Fail fast, gracefully, and quietly. Learn when to *not* finish.
(You shouldn't be finishing *everything* you start. The problem is if
you finish *nothing*.)
4. Succeed decisively but simply (not ornately; don't aim for perfection).
0. Pick up your targets CAREFULLY.
Which means value your energy and time. Be afraid of starting something, stop doing or believing you can do many things at the same time while history clearly shows otherwise is a killer mistake.
Lower the bar, start achieving small things and then, just MAYBE, you should think of adding more.