> I don't understand this fetishation of "perfect code" when experience shows again and again that for most use cases, the correct approach is to ship fast and fix later.
You're conflating two separate issues, because design documents help you ship faster and fix later. They do this by making you think about what you're building, thereby allowing you and downstream consumers of the plan to focus on a smaller and more valuable set of goals.
Your approach is the opposite - building by gut feel and ignoring the available data. That's leads to wasted effort and elongated development cycles.
> my cost-benefit analysis
You don't plan, so you don't know your costs or benefits.