Experience has shown that virtually all workflow problems can be distilled down to delays in:
- feedback after a decision or activity
- value realization
- knowledge transfer
These all not only delay value delivered but they literally increase the amount of work to be done. Lowering them is critical and can be done by:
- Managing queues
- Having small batches
- Creating visibility
- Automating testing
- Having a test-first attitude at acceptance and unit level
It is important to note that most frameworks’ practices work on these items indirectly. Consider the impact of time-boxing & retrospectives.
There is no reason not to work on these directly. One, of course, can add this to most any frameworks, but be forewarned, doing so will likely lead to activities inconsistent with the framework.
My belief is that frameworks should be designed by working on these issues directly & giving practices that support them as a starting point. Then as people learn more they can refine their practices. That way we can use the framework but not be limited to its practices while still being clear whether what we’re doing is good or not.