When I write a post I try to finish it first and then iterate on it for improvements (even though I don’t really get to the iteration part these days). When I write code for a feature I try to do the same, first finish the very basic version of the feature and only then add all the other functionality. Doing this works much better for me than to try spend a lot of time in the beginning on one paragraph that I write or on one part of the code.
It’s better to complete something, even if it’s very basic and lacking, than to spend a lot of time on a small section first. You have something that works. You can publish it as is and someone will find it at least a little useful. When it’s done, you can see the big picture. You often can make a decision about how to extend the smaller parts only when you see how they work together. If you focus only on a small part at first, you might not be working on what you should be working on.
I’m trying to make a habit to finish what I start. Completing a task is hard. There are (mostly unjustified) doubts and time limitations. If you have something incomplete and there are other distractions, as time passes there is a lower and lower chance you’ll come back to finish it. While if it’s finished, it’s easier to come back to it and iterate on it to improve it.
For me, “completed but simple” is better than “detailed but incomplete”.