The general human approach to programming at most companies I worked at prior to 2024 was to head off in vaguely the right direction and refine the approach as we went. There might be a design and a plan, but at some point we just winged it and fixed our work after the fact.
This seems to be the worst way of getting an AI to do anything. They do better if they can one-shot an implementation from a clear spec then only need to fix bugs. Better models can handle a less clear spec but they still can't really iterate in a major way. To have an AI model build a bigger thing, you one-shot increasingly detailed specs and decompose them into smaller ones.