In complex, adaptive situations, it is through the process of doing that we learn what it is we need to do.
Although we have prior experience or expectations (known knowns), and things we know we need answers for (known unknowns), there's also a third category of things we don't know yet and will discover along the way - the unknown unknowns.
Big up front thinking, as a planning or management exercise, aims to reduce the unknowns and fix them before the work begins. The reasoning can be superficially compelling from a cost perspective, as issues found later are more costly to fix. Indeed, this can even be done in an Agileway, with discovery techniques such as Example Mapping for discovering unknown unknowns.
However, too much up front thinking can restrict progress. Some decisions are best taken later (Look for new options).
It is for this reason that Estimates aren't quotes, there will be discoveries along the way that will change our understanding, maybe requiring different decisions (Estimates reveal options) - rarely is the same thing built in the same way in a reliable manner as in a production factory. This perspective of atomising knowledge work and reducing it to its estimates leads to low-performing teams, poor morale and the perception of working in a "feature factory".
This relates the the Lean concept of "Go and See" or the "Gemba walk"
There is pressure to stick to the plan, rather than Learn Along the Way.
By establishing clear goals in terms of the valuable outcomes that we want to achieve (Goals tell us the ends not the means), a team can Experiment towards a goal and Learn along the way to frequently evaluate if they're building the right thing in the right way.
For instance, the assumptions may be invalid (we Learn along the way) and baking these in incurs a high cost to change later, in the form of Technical Debt
Equally, the exact mechanisms of working with and in the space should form progressively (Learn along the way) rather than up front (Avoid premature optimization) to avoid procrastination and analysis paralysis.
Due to an agile team Learn along the way then highly-precise estimates are wasteful, for anything that's not done.
This is a form of deliberate discovery, where we Learn along the way and develop a shared understanding.
Fast feedback is why The quality of conversations drives the quality of the product - we can Learn along the way.
Learn along the way
Learn along the way
Actually, even average ideas can be good enough, and become great if they're allowed to develop through Learn along the way
We still need to Optimise for flow, not resource capacity so that we can focus our efforts on being able to Learn along the way.
Put the Journey before destination by understanding where people are on their journey and helping them to take the next steps - Learn along the way
Actually it's more productive to Learn along the way and utilise the act of writing as a thinking process, to Allow ideas to emerge.