Designing state machines


This is a post I wrote while I was working at Drivy, as we were tweaking the models state machines. You can find it here : https://drivy.engineering/designing-state-machines/.

As a TLDR; this post suggests :

  • Keep it as simple as possible
  • Talk with all your team-mates to understand the vocabulary
  • Do not over-anticipate your future needs
  • Store all relevant infos including the transitions from state to state

I initially presented these tips as a lightning talk for the ParisRb meetup on 05/07/2016. You can find my slides here : https://adipasquale.github.io/state-machines-lightning-talk