Shaping Up With Sequence Diagrams
A sequence diagram can serve as a fat-marker sketch of a happy-path checklist for a spike.
Let’s unpack that mouthful. First, the fat-marker sketch is an idea well-described in Ryan Singer’s book Shape Up, based on software design practices at Basecamp. It’s a way to roughly shape a two-dimensional layout for a user interface when consideration of those two spatial dimensions is essential to articulate the intended user experience.
Breadboarding, another shaping technique discussed in the book, narrows focus to three design elements: places, affordances, and connection lines. Each place has affordances, and connection lines show how affordances take a user from place to place. Whereas fat-marker sketching addresses spatial concerns, breadboarding narrows focus to logical concerns only.
A sequence diagram can be rough like breadboarding, with a focus on connection lines among places, where the “places” are participants/actors. The connection lines in such a diagram are the arrows between lifelines. Consider these arrows as items on a checklist, so that the arrow labels are checklist-item labels.
A sequence diagram rises to the level of a fat-marker sketch when considering dimensionality. Fat-marker sketches deal with the two spatial dimensions on a user’s screen. With sequence diagrams, there is one logical dimension – the identity of a participant/actor process, which may be physically in the same “place” as another participant/actor or not – and one temporal dimension, that of epochal time.
Overall, a sequence diagram may be read as detailing a single path, e.g. a “happy path” for a core use case, through the effective statechart of the system as a whole. The result of building out this whole-system (“end-to-end”) use case, of geting one integrated slice done, is known as a spike.
Thus, a sequence diagram can serve as a fat-marker sketch of a happy-path checklist for a spike, with each labeled arrow corresponding to an item to implement and check off.
Here are a few example sequence diagrams that I used to shape up some imagined spikes for a project I’m working on now. I made the diagrams with this browser-based tool. Let me know if you find this framing of sequence diagrams helpful in your work.