Rob and I ran a workshop at Lean Agile Scotland 2023 on Stigmergy. Two groups thought about how their actions shape their environment, which in turn encourages more actions.
Table of Contents
- Stigmergy is a reinforcing feedback loop
- Story 1 - Headphones
- Story 2 - Code, for better or worse
- Takeaways from participants
The paper Stigmergy as a Universal Coordination Mechanism: components, varieties and applications introduces the concept of Stigmergy as follows:
The concept of stigmergy was introduced by the French entomologist Pierre-Paul Grassé (Grassé, 1959) to describe a mechanism of coordination used by insects. The principle is that work performed by an agent leaves a trace in the environment that stimulates the performance of subsequent work—by the same or other agent’s.
The insight came from Grassé’s observation of how termites repair their nest. He noted that initially termites wander around more or less randomly, carrying mud and depositing it here or there. However, the deposits that are created in this haphazard way then stimulate the insects to add more mud in the same place. Thus, the small heaps quickly grow into columns that eventually come together to form an intricate cathedral of interlocking arches. The only communication between the termites is indirect: the partially executed work of the ones provides information to the others about where to make their own contribution.
It made a couple of participants think about how their actions influence their environment and vice versa.
Stigmergy is a reinforcing feedback loop
Actions stimulate their own continued execution via the intermediary of the marks they make—where a mark is a perceivable effect, trace or product of an action.
– Stigmergy as a Universal Coordination Mechanism: components, varieties and applications
Actions lead to traces leading to more actions.
We had two groups, everyone told a story that could be stigmergic, and then the group decided two to take forward. One ’good’ and one ’bad. We mentioned the ’gray zone’ in the introduction - in human systems it is not always easy to make clear what is stigmergic - traces in the environment - and what is copying behaviour of others.
Story 1 - Headphones
Wearing headphones in a noisy office is contageous. One person starts wearing headphones. Someone else sees this, and also starts wearing headphones. Until everyone wears headphones and direct communication is very difficult.
Symptons (purple stickies)
- Wearing my headphones invites others to wear headphones
- Headphones put other people off
Break existing trail:
Stigmergic remediations (change the environment, often can be started by one person)
- Put up a “Please do disturb sign
Facilitation / set example:
- Wear earmuffs and other ways of making it ridiculuously absurd
- Interrupt the headphone workers
- Take extraneous chat elsewhere
Make a new trail:
- Start giving vital information VERBALLY
- Have more interactive working situations. e.g:
- Start pairing
- Start mobbing on issues
This poster is fairly stigmergic, but even then, some of the turn-arounds are more facilitation, setting examples.
Story 2 - Code, for better or for worse
The quiet brainstorm in this group let to talk about all the good code and the bad code that can be. And the gray code of course. They all replicate, but there are subtle differences.
We looked at the traces ‘good’ code and ‘bad’ code leave, and what effects it has on the people that work with it.
- Can serve as a template
- “It was obvious” (for a newcomer)
- Is easy to follow
- (working with it leads to) Shared understanding
- (helps in) Finding your way around
- (helps in) Understanding the Bigger Picture
- Corporate standard by example. This required some explanation.
- Reproducing bad patterns
- Hard to test and change
- Nobody understands the bigger picture
- Nobody dares to try - one of the participants told the story of monkeys reaching the ceiling
Most surprising outcome here was that approachable code (part of the discussion was understanding what goes on as a newcomer) can lead to an understanding of the overall structure and why the structure is as it is. ’Good’ code can serve as a kind of template, is easy to follow, and was obvious (to someone new from the outside). It creates shared understanding, and makes it easy to find your way around.
As an aside a few of the participants re-trained as a developers, and found this kind of code very helpful to get started in their jobs.
Reinforcement tactics discussed were praising making use of desireable code, highlighting good examples, and making it easier to replicate, in the form of templates, scaffolding or archetypes (Spring calls scaffolds archetypes, I believe it boils down to the same thing).
Less desireable code
It is still code that works, and replicates in similar ways to desireable code.
Ways to remediate and other reflections. We didn’t separate the stigmergic and ‘other’ (e.g. facilitation) solutions on this poster, this is an improvement for next time.
Stigmergic solutions (change the environment):
- Identify the most popular place to copy, improve that place, so that new copies are better.
- Convention over configuration - extract scaffolds for code generation (also called archetypes or templates)
- Create shared understanding
- Challenge the status quo - shake things up.
And finally we had some more reflection, coming to acceptance and awareness:
- Good can turn to bad
- Accept the gray (some code is good to some people, solving some problem in some context)
Takeaways from participants
Find small experiments. Just do them
For instance, if you spend a lot of time fixing versus developing (and assuming you work alone? or publish as a team?), track your own development / fix ratio and publish that on the company chat (Slack, Teams, etc.)
Model behaviour, and focus on the trail in addition
Wouter Lagerweij: when mentoring or leading teams we often model behaviour. If in addition to that, we can leave traces of our work for others to follow, the results will last longer when we are gone.
Apply them, and see what happens
Remote people - find things that leave traces
For instance interactive boards (e.g. Miro) in addition to ticketing systems that may not leave enough traces for others to follow.
Focus on the desired outcome to turn things around
Wouter Lagerweij: Something that was stigmergic in one environment was producing detailed reports about activity. It was not entirely clear why they were needed and who used them. They added business level outcomes, in addition to the usual reporting (instead of fighting against the reporting). Eventually people lost interest in the detailed reports, because the business level outcomes were what they really needed.