What relationship do software Scrum or Lean have to industrial engineering concepts like theory of constraints?
- by DeveloperDon
In Scrum, work is delivered to customers through a series of sprints in which project work is time boxed to a fixed number of days or weeks, usually 30 days. In lean software development, the goal is to deliver as soon as possible, permitting early feedback for the next iteration.
Both techniques stress the importance of workflow in which software work product does not accumulate in development awaiting release at some future date. Both permit new or refined requirements and feedback from QA and customers to be acted on with as little delay as possible based on priority.
A few years ago I heard a lecture where the speaker talked briefly about a family of concepts from industrial engineering called theory of constraints. In the factory, they use an operations model based on three components: drum, buffer, and rope. The drum synchronizes work product as it flows through the system. Buffers that protect the system by holding output from one stage as it waits to be consumed by the next. The rope pulls product from one work station to the next.
Historically, are these ideas part of the heritage of Scrum and Lean, or are they on a separate track?
It we wanted to think about Scrum and Lean in terms of drum-buffer-rope, what are the parts?
Drum = {daily scrum meeting, monthly release)?
Buffer = {burn down list, source control system)?
Rope = { daily meeting, constant integration server, monthly releases}?
Industrial engineers define work flow in terms of different kinds of factories.
I-Factories: straight pipeline. One input, one output.
A-Factories: many inputs and one output.
V-Factories: one input, many output products.
T-Plants: many inputs, many outputs.
If it applies, what kind of factory is most like Scrum or Lean and why?