As constraints and dependencies grow, many problems transition from being solvable by “just trying and planning harder” to becoming so complex that approaches useful for static optimization no longer work.
There is a point beyond which no individual, no team, and no company can solve the dependency and constraint puzzle using brute-force methods. Something has to give.
When percentage of work grows like 25% that involves multiple teams, touches different codebases, requires careful coordination, and requires frequent meetings that span organizational boundaries and challenge local incentives then something has to give.
There is a point beyond which no individual, no team, and no company can solve the dependency and constraint puzzle using brute-force methods. Something has to give.
Heuristic solutions like reducing work-in-progress limits, force ranking priorities, and weighted-shortest-job-first is a reasonable method for maximizing the throughput of value by prioritizing work with the highest opportunity costs that we believe can be completed quickly.
Managers often find it incredibly hard to make the case for, on the surface, doing less. Heuristic solutions feel almost like cheating. We hold out hope in the very small chance that we can thread the needle and somehow find an optimal solution.
Humans love to hold out hope, even when failure is guaranteed. Therefore, it is vital to understand the problem and use heuristic solutions to maximize output.
Organizations should shift their design or architecture to eliminate some areas of friction permanently to simplify their business model or strategy and reduce the need to do so much at once.