Ensemble - Definition
Ensemble - when a whole team works together on the same thing, at the same time, in the same space, on the same computer.
You call it Ensemble Programming when you’re working on a programming task, and Ensemble Testing when it’s a testing task. Generally we call it Ensemble Working, or simply Ensemble.
The term Ensemble Programming is a synonym for Mob Programming or Software Teaming. In Samman Coaching, we prefer to use the word “Ensemble” (see notes below).
When you have a team working together well in an ensemble, it gives everyone a good chance to share knowledge and raise the quality of the work being done. For a team new to ensemble it helps to have a facilitator, for example a Samman technical coach. More experienced teams may not need anyone explicitly in this role.
The main ensemble roles are:
- Typing - the person with the keyboard, controlling the development tools and entering the code into the computer.
- Talking - the person leading the work by explaining the goals and intended direction to everyone, including the person typing.
- Supporting - the role of everyone else in the ensemble who is contributing to the work. The main tasks are to review the work as it happens, ask relevant questions and offer improvement suggestions.
Usually everyone rotates through all of these roles on a timescale of 3-10 minutes per rotation.
Notes: Reasons to say “Ensemble” instead of “Mob”
- Ensemble has positive connotations and calls to mind a group of musicians creating something beautiful together.
- Ensemble working is inclusive of testing and testers.
- Mob is the kind of attention grabbing, controversial term that attracts early adopters, much like “eXtreme Programming”. It may not attract the early majority or the late majority. It may not be a good term to use in the kind of corporate settings where many technical coaches work.
- “Mobbing” in Swedish and German sounds similar to the word for “bullying”