Monday, March 15, 2010

Visualizing yak-shaving

Over the weekend I read Cary Millsap's excellent paper Thinking Clearly About Performance. In it, he hijacks the UML Sequence Diagram format by drawing the vertical axis to scale. The bigger the gap between lines, the more time was taken performing that interaction. Suddenly, the sequence diagram can give you a clear picture of where time is being spent.

Wouldn't this be a useful diagram to draw instead of value-stream maps? You would lose the easy distinction between "value generating" and "waste" steps, but I think you'd gain a deeper understanding of hand-offs and of system complexity. Drawing it to scale would give a helpful picture of where time is being spent, and where response time can be improved.

More generally, Lean folk should probably read Millsap's paper and think hard about what it means for software engineering process.

Also, I reckon drawing up a quick sequence diagram would be a great way of seeing how deep one is in yak-shaving. Each time you go one layer deeper, add a new column and draw a new arrow and make a note of when & why.

2 comments:

Cory said...

> I reckon drawing up a quick sequence diagram would be a great way of seeing how deep one is in yak-shaving. Each time you go one layer deeper, add a new column and draw a new arrow and make a note of when & why.

I love this idea. I'm going to try it out. I'm deep enough in my current projects (both at work and at home) that this will be a non-trivial diagram.

If it provides any useful information, I may share this with my team as well. Thanks!

Marlin Forbes said...

In my experience, it would be realized as a stack with the most recent problem to solve topmost.

Twitter Updates

Blog Archive