Last year I stumbled upon a book on Samman coaching by Emily Bache. I recognized her name as someone who had collected a whole bunch of katas. I've been meaning to do more coaching-related work, so it was definitely worth a read.
What is Samman?
Samman is the Swedish word for ensemble. What is an ensemble? It's a French word for a group of people working together. In English, we used the word ensemble to talk about a musical group. The idea is that it is a bunch of people together in real time to achieve some goal. This is all related to a concept that you may know of and heard me talk about called mob programming. A lot of people don't like the term mob programming because it reminds them of violence so there is a movement to relabel it as ensemble programming. Samman programming, ensemble programming, and mob programming all mean the same thing.
Basically, Samman is a group of people all working together on the same programming task. Many people, one keyboard/mouse. To make this work you have various roles. There is a single typist who is the one inputting things into the computer. The navigator is the one directing the typist. Everyone else in the group is responsible for brainstorming and coming up with ideas. Each applies their own special areas of expertise. The navigator acts as the funnel condensing everything into directions for the typist.
You can have other roles in the group. You could have a researcher who could have a browser open to do research if needed. You could have a timekeeper who makes sure we are switching roles at the correct time. You could also have an archivist whose job is to document the decisions being made. You can also have customers present who are there just to provide the customer perspective. In the midst of all this, you may have a coach in the back guiding things and making sure the group goes in the right direction and everyone is contributing and being heard.
What does Samman Coaching look like?
Samman coaching is built around the idea of having learning time and then application time. Learning takes time and we have to dedicate time to that, but we also have to respect that there are real business needs and do have to produce results. It also respects the fact that learning in a sanitized environment is different than taking those lessons and applying them in the context of the messiness of the real world.
Samman coaching as described in the book is typically done in a cycle, 3 weeks on, 3 weeks off. This gives the coach a break and gives the team being coached time to get real work done. During that off time, the team is applying the lessons learned and can then come back to the next coaching cycle with new questions and insights. While during the coaching the team works as an ensemble, during the off week, the team is free to work however they like. Often they'll work as an ensemble or in pairs, but that isn't required.
During each 3 week coaching session, each day is broken into 2 parts, the learning hour and ensemble working.
The learning is designed for practicing new skills and reinforcing existing ones. This is a sterile learning environment. Each learning hour starts with a specific skill in mind to learn or reinforce. The general format is that there is a short lecture to introduce the skill and then the team splits into pairs to perform an exercise - usually some form of kata. Then at the end, everyone gets together and discusses what they learned. This is where the team is introduced to new skills and since we aren't working on production code, it is a low-pressure way to practice them.
If the Learning Hour is about learning skills, Ensemble Working is about applying those new skills. Ensemble Working is a ~2-hour session where the team works together as an ensemble solving a real problem on the production codebase. This is where the teams get to practice applying what they learned during the Learning Hour. They also learn how to work more effectively as a group. Working in a group like this also helps to spread knowledge around the team and avoid knowledge silos. The coach is there to guide them, answer any questions, and make sure they are applying the techniques correctly.
More Info on Ensemble Programming
If you want more information on working as an ensemble in general, I highly recommend listening to the Mob Mentality podcast. They talk about the benefits of working in an ensemble and some of the challenges and the various techniques that people use.
Want to Experiment?
I would love to start doing some Samman Coaching. I think it is a very interesting way of working. If this sounds like something you would like to experiment with, please reach out, and let's talk.