Ensemble testing and ensemble programming - Thomas Much 

 July 25, 2023

You are currently viewing a placeholder content from Podigee. To access the actual content, click the button below. Please note that doing so will share data with third-party providers.

More Information

"Those supposedly 'dumb' questions that you wouldn't dare ask in 1 on 1 situations are times much quicker in such a safe ensemble space!" - Thomas Much

Ensemble Programming and Testing has evolved from the Pair Method. Thomas coaches teams that are embarking on this special and effective way of working together. The Ensemble method brings developers and testers together, a basic understanding of the other team's work develops, and this in turn leads to software being produced and tested even more effectively. Thomas explains to us what the basic framework of this method looks like and what freedoms it offers. He also gives arguments for the boss, who may not be willing to give the teams the appropriate time 😉

Thomas originally wanted to become a space gardener. Both gardening and space have remained hobbies because computers intervened and captivated him nearly 40 years ago. Over the years, he has taken on numerous roles, including developer, coding architect, and programming trainer. With a degree in computer science, Thomas is now a Technical Agile Coach for Die Techniker (TK) in Hamburg. Together with his coaching colleagues, he helps teams get better and better at collaboration and agile programming practices - including promoting pair and team programming, TDD, and test automation.

Highlights in this episode:

  • Ensemble coding/testing is like peer programming, but more intensive and promotes teamwork
  • It is important that developers and testers learn from each other in order to work better as a team
  • Ensemble sessions enable testers and developers to better understand what the other side is doing
  • There are certain structures for ensemble testing, such as the separation of execution and thinking
  • Ensemble sessions are ideally 4-6 people in size and last 2-3 hours
  • It is important that management recognizes and supports the benefits of Ensemble Sessions
  • Architecture should be seen as a team sport and be integrated into the testing/programming ensemble
  • Vorbereitung und die richtige Einstellung sind entscheidend für den Erfolg einer Ensemble Session

 

Contact Thomas:

More links:

 

Ensemble Testing & Programming: Team dynamics rethought

TLDR: Ensemble Testing and Ensemble Programming are innovative methods that bring developers and testers together to work on solutions to problems and learn from each other. This method promotes the exchange of knowledge, improves team dynamics and increases efficiency in agile projects.

What is Ensemble Testing and Programming?

Ensemble testing and programming is an innovative method of collaboration within development teams. It builds on the basic idea of peer programming, but goes far beyond this. By working together on code or tests, this method not only promotes the exchange of knowledge between developers and testers, but also creates a space for shared learning. As Thomas so aptly explained: 'It's like peer programming on steroids'. This technique enables teams to solve complex problems more effectively while encouraging communication between everyone involved.

The advantages of this method

The use of ensemble techniques offers several advantages. Firstly, it strengthens the testing knowledge within the development teams, which is particularly essential in environments with continuous delivery. Secondly, testers gain a better understanding of the challenges of development. This mutual exchange of knowledge not only helps teams to work more efficiently, but also to develop a stronger bond with each other. The result is improved testability of the developed software and increased satisfaction within the team.

How do you implement these techniques?

The introduction of Ensemble Testing and Programming requires more than just a willingness to work together; it requires a structured approach. One key to success is breaking down existing barriers between developers and testers and creating an environment that encourages open communication. Another important factor is the willingness of everyone involved to embrace new ways of working. Thomas shared his experience of how teams can experience a natural exchange that is both fun and productive through regular collaborative sessions - or 'ensembles'.

Practical tips for implementation

For teams who would like to try out this methodology, there are some practical tips for successful implementation. These include careful preparation of the sessions and clear separation of roles during the work. Another interesting aspect is the concept of the 'typist', a person in the team who acts according to the instructions of the entire ensemble. This encourages thinking out loud and discourse within the team. It is also advisable to start with a small group of four to six people and to allow enough time for each session.

More than just a method

To summarize, ensemble testing and programming are more than just methods for increasing efficiency; they pave the way for far-reaching changes in a team's working culture. Bringing together different perspectives creates fertile ground for innovation and creativity.