Flow

While working on enhancements to Industrial Logic's Lean Management Workshop I re-learned how important whole team is to flow.

Flow is a principle of lean and is best defined by how it's not batch and queue.

Batch and Queue

Traditional assembly line manufacturing uses batch and queue to build products. Each station is run at full capacity, with faster stations piling up inventory on slower stations down line.

Batch and queue style manufacturing leads to two types of muda or waste: inventory and waiting.

Flow

Flow, and especially one piece flow, says make a single complete product at a time, don't build up an inventory of parts, and only make them as fast as orders come in (tatk time).

Flow and Software Development

You can flow in software development by building a whole team.

A whole team means everyone needed to take a feature from inception to deployment is on the team. They work together in the same room, and they all work the feature from beginning to end.

You'll know if you don't have a whole team because stories will become blocked on the board. When you are suffering from the muda waiting.

Thin Slices

The key the making this work is the capability to slice features so thinly you can deliver them quickly. On the order of one to two weeks.

Eliminate Waste

As important as whole team, is eliminating waste. Nothing will stop your flow like muda.

Any activity in your value stream that does not directly create value is waste. Eliminate it. Some waste you may think is necessary because while it doesn't create value, it contributes to value creation.

Don't buy into that.

Eliminating waste is addictive and you'll soon get back to it and eliminate it as well.

Thinking Flow

One great advantage to flow in software development is in order for your features to truly flow, you have to make many changes, all beneficial, to you development process.

Just the thought experiment of what you'd have to do to flow will lead you to areas needing improvement.

By making flow a goal, you'll soon start making your software process better and better.