One very useful design technique is to be able to match a diagram to code. Here I talk about our state machine design and how it's subtly different from the taught design.
This article pulls together some strands discussed here into one presentation that I gave at DevDays Galway. It essentially brings together all the techniques SSDC apply to our projects and we seem to avoid all sorts of pain because of them. It draws heavily on my writings here and were applicable I'll just link to the associated article.