Date

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](http://en.wikipedia.org/wiki/Value_stream_mapping)? 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](http://en.wiktionary.org/wiki/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.