This is how I write new code. I swear my brain needs that procrastination to construct a model of the new code. When I maintain old code, test, debug, deal with prod issues, write doc/ticket etc... I find myself procrastinating a lot less and less. It's curious since writing new code is my favorite thing to do among other things.
The "procrastination for too long" into hyper work, erm, "workflow", is too real.
Sometimes if I can get started on _something_, I can kick start the working. But if I don't, this is the fallback