The idea is to complete the portions of a feature that will unblock those
dependent on you. This way development moves along smoothly because
more lines of development can be active at a time. For example, instead
of implementing the entire database, implement the simple interface
and stub it out. People can work for a very long time this way using
that portion of the feature that caused others not to block. Plus
it's a form of rapid prototyping because you get immediate feedback
on these parts. Don't worry about the quality of implementation
because it doesn't matter yet.

''Sounds somewhat like "pull from demand" in LeanProgramming.''

Also known as an IntegrationPlan, but that probably sounds too much like WaterFall for the present generation.

----

I think of it as short cutting an integration plan so that subsystems
can implement using the "real" interfaces they will need, but sooner
than they otherwise could. The integration would require real functionality
so all the tests would pass. With a non-blocking approach you get other
code working as fast as possible, but it really only works in the broadest
terms.

Oh, a sort of improvised planning.  I like that!

----

SynchronizationStrategies