There's a concept called (in various circles) a spike, proof of concept, etc. You don't write tests, plans, requirements. You just code.
Its a terrible way to write production software. Its a rare thing in my life to spike out an idea and put it unmodified in production. But when i find myself doing what you're doing (which does happen from time to time) I find its a crucial part of breaking myself out of the cycle.
And not for nothing, but you sound like you're isolated. Working with other developers as part of a team (or better yet, a pair) can also do a lot for breaking out of this kind of cycle. ADD drugs will help, but they're not all of the solution. Stop "preparing" to write software and just write some.
Its a terrible way to write production software. Its a rare thing in my life to spike out an idea and put it unmodified in production. But when i find myself doing what you're doing (which does happen from time to time) I find its a crucial part of breaking myself out of the cycle.
And not for nothing, but you sound like you're isolated. Working with other developers as part of a team (or better yet, a pair) can also do a lot for breaking out of this kind of cycle. ADD drugs will help, but they're not all of the solution. Stop "preparing" to write software and just write some.