The handshake analogy compares:
- The number of people at a gathering to the number of handshakes required to greet them all; with
- The number of systems in an environment to the number of interfaces required to inter-link them (and associated complexity)).
1 person (system) = 0 handshakes (ie nobody else to shake hands with => 0 interfaces).
2 people (systems) = 1 handshake (1 interface)
3 people = 3 handshakes
4 people = 6 handshakes
5 people = 10 handshakes
You can see the rapid escalation of complexity here can’t you?
There’s one massive discrepancy between the two models though. A handshake generally takes only seconds. An OSS handshake can take months just getting security sign-off (within particularly risk-averse organisations) let alone coding and working through the ripple effect of modifications to down-stream systems/interfaces.
Web tech has helped, particularly through standardisation of messaging (think HTTP, XML, JSON, REST) but microservices still need coding. Message buses and catalog-driven orchestration have also helped.
But the real moral of the story is to do whatever you can to keep the number of attendees at your “systems party” as small as possible. That might even include hiring a bouncer to kick out the undesirables who are already inside 🙂 (see ruthless simplification and the chess-board analogy)
One Response