What is Software Teaming?
“All the brilliant minds working together on the same thing, at the same time, in the same space, and at the same computer.” We call it Software Teaming, also known as Mob Programming or Ensemble Programming. With large monitors, one computer, one keyboard, and a very collaborative approach, we use this method to supercharge our development efforts and deliver high-value software quickly.
Software Teaming is a software development approach where the whole team works together on the same thing, at the same time, in the same space, and at the same computer. This is similar to Pair Programming, where two people sit at the same computer and collaborate on the same code at the same time. However, with Software Teaming, we extend the collaboration to everyone on the team while still using a single computer for writing the code and doing other work.
In other words, this is an evolutionary step beyond the Extreme Programming concept of Pair Programming. We strive to accentuate and amplify concepts such as face-to-face and side-by-side communication, team alignment, collaboration, whole team involvement, continuous code review, and the “self-organizing team.”
“It would be better if everyone worked together as a system, with the aim for everybody to win.”
W. Edwards Deming
Software Teaming, which people might know by its earlier name “Mob Programming,” is our name for describing how we work together as a group. It grew out of a few simple ideas:
- The people doing the work can best figure out how to do that work.
- We can get a lot of benefits out of studying and practicing together.
- Pay attention to what’s working, and look for ways to do more of it.
Software Teaming is an outgrowth of paying attention to providing an environment where everyone can excel in their work. We hope your team can benefit from understanding and applying the idea of creating and protecting such an environment.
Curious to learn more? You can read about it in our book or contact us.