TOC in software... and R&D
I am still looking for more thinking on how to apply Theory of Constraints ideas and thinking in heavily uncertain areas like discovery research, where typical drop-out rates are well above 80%. I've been curious about the applications in software development because it seems I could learn something there. And I have a bunch of people in my extended network that work in this arena.
David Anderson pointed to a nice summary of his own book, The Theory Of Constraints: Productivity Metrics In Software Development by Derick Bailey. The main elements of Bailey's contribution just helped me see how the TOC terminology and concepts fit into a software development arena. What is inventory or an appropriate metric for throughput? It gives me some insights into the arena. Maybe I should find Anderson's book?
I finally read through Clarke Ching's Rocks Into Gold, which he describes as a parable on how to thrive during the credit crunch. It focuses on a software company with a derivation on how valuable it is to deliver early, rather than delivering everything. Of course, in research, delivery is a likely candidate for sales (whether that is a drug or a new electronic component or a new material), so this doesn't quite equate. But there are interesting ideas nonetheless.
I would appreciate any additional pointers too.
2 Comment(s)
Yes, I can see this. At the Discovery stage, you still need to gauge your efforts based on capacity of the controlling / constraining resource. I suppose one could picture some kind of assessment of the load on the Constraint created by each activity. Thinking. Thinking.


Jack,
We are using a modified KanBan approach to software development. It's a twist forward on the more traditional Agile method.
The process is broken down into major activities. Each activity has a maximum inventory of cards that we can put in it. Each activity has a service level of how long a card should be in there. We manage the flow (we have a target that we haven't yet stabilized on) by jumping on bottlenecks (cards that are ready to move to the next activity, but can't because the activity has a full inventory) and by watching for activities that are starved for inputs.
We use a big board to track all the cards, making a visual workplace. Standups are all in front of the board, and are reactive to the starving/blocking functions above.
Is this what you are looking for?