Generally I finish a first draft in 2-6 months, then I set it aside for a while so that when I come back to it I can read it with fresh eyes and figure out how to improve it.
Complexity that works is built up out of modules that work perfectly, layered one over the other.

