Yes. Procrastination gives you time for divergent ideas, to think in nonlinear ways and to make unaccepted leaps. When you start working on any problem immediately, you don’t get time to think through it. But, when you procrastinate, you subconsciously think about the problem and you may come up with awesome solutions inspired by nature, kids playing in the park or even from the city traffic.
“You call it procrastination, I call it thinking” - Aaron Sorkin
Procrastination will help you write better code. Example: When you create a class called Line and a method to check equality of two lines, you may think of generalizing it to Shape class. But if you procrastinate the generalization part (which you can, because generalizing is not a business requirement) you may find patterns and come up with a better generalization.
Having said that if you procrastinate to pay the electricity bill you may end up buying candles. Procrastination is good only when you need creative thinking.
“I do not rush into actual work. When I get a new idea, I start building it up in my imagination, and make improvements and operate the device in my mind” - Nikola Tesla
This article is inspired by Adam Grant TED talk