Here’s an interesting phenomenon when it comes to the concept of rework in knowledge work. You can only minimize rework, but you cannot eliminate it. If you try to eliminate it, you’ll maximize it.
Most of the efforts to eliminate the rework (e.g. ”let’s agree on all the details about the product or feature upfront”) end up with way more rework at the end because there are too many assumptions that get invalidated as you progress.
Trying to eliminate rework is also one of the goals of Waterfall (can’t believe I said the word). And it’s also coming from the maximum utilization mindset. The goal is good, but the way to achieve it makes things way worse.
The goal of increasing availability in the system is to be able to minimize the rework by integrating feedback sooner as you keep discovering invalidated assumptions.