On Wednesday 9th March 2016 I took part in a one day training workshop on Collaborative Exploratory and Unit Testing which was facilitated by Maaret Pyhäjärvi and Llewellyn Falco.
My apologies that it has taken me a little to get around to posting this blog post! But I do hope you will find it an interesting insight into what I got out the TestBash workshop and it provides a little more background on what mob development is.
I’ll will be honest before the workshop I wasn’t really sure what to expect! I’d heard a bit about mob development before but I’d never really looking into it in any great depth.
Where I work we have recently started doing short 1 week sprints where we are encouraging all members of the team (both testers and developers) to actively pair on tasks. So I was really looking forward to learning about mob development and be involved in a workshop where there would be a mixture of testers and developers all learning together as one team.
Learning about Mob Development
To kick off the day we did a rather fun little set of exercises to get to know the others in the group and some warm up exercises to practice skills that would be useful during our mob development work!
The first required us to pair up with someone else (where one person had an iPhone and the other an Android) to direct the other with simple instructions on how to carry out tasks on their mobile phone. The second require us to identify similarities and differences between two types of bird (in our case identifying the differences between a Song Bird and a House Sparrow) and then sharing as team how we identified the two types of bird.
So you may be wondering at this point what Mob Development is. Well let me try and explain my understanding….
The general idea of Mob development is that you have a whole team (containing a mixture of developers and testers) who are working on the same thing at the same time using just a single computer. The work being done could be exploratory testing, development or whatever is relevant in that particular session.
The session is organised as follows:
- Single screen viewed by the whole team.
- One designated driver at the keyboard who follows instructions from a designated navigator.
- The rest of the team provide input and suggestions to the designated navigator for the direction in which the team will go.
The idea is that the roles rotate. I think we rotated approximately every 5 minutes, although the time could vary depending on the particular team or task you are working on.
If you want to learn more about Mob Development and Strong Style Pairing this is a very useful blog from Llewellyn Falco on the concepts which were central to the workshop. They have also written a book on the subject which you can check out here if you would like to learn more about it!
Most of our morning was spent exploring the application and learning as a team. It involved exploration, testing and recording our findings (for example things that didn’t seem quite right, questions we had or possible problems we should investigate).
As we tested we moved between the application and a Mindmup mind mapping session where we recorded our testing and learning journey.
I really enjoyed the morning session. I have done some exploratory testing pairing recently with another tester at work but it was just as enjoyable doing this in a bigger team. Testing in this way brought forward many more ideas of what to test and explore but it did also come with the challenge of how to channel so many different ideas as opinions!
Developing code and Unit Tests
After lunch we embarked on a session where we focused more on the code of the application and setting about writing unit tests as a mob.
Some of the thought’s I took away from the afternoon included:
- Unit Tests are better written where testers and developers collaborate.
- Empathy between developers and testers is important and it is important that both are keen to work together in order to make pairing and/or mobbing successful.
I really enjoyed the content and teaching style of this workshop.
The workshop covered important topics such as how mobbing works, the skills required and how the different styles of development and testing can interact with one another. I liked the way that Maaret and Llewellyn allowed us to focus on working as a team to learn and practice mob development.
Doing retrospectives, in the form of short and concise PostIt notes, throughout the day was a great way of getting feedback from the whole team and helping to re-emphasize and understand the key concepts. There was also plenty of really interesting ideas and discussion that came up throughout the day!
The key things I took away from the workshop were:
- Working in a big team reduces delays in communication. Issues can be identified and fixed sooner.
- There are sometimes some challenges in language between testers and developers. We may use different terms to mean the same thing for example.
- Part of the learning challenge is getting to grips with the development tools that are being used. By the end of the day I think all of us had a better understanding of the IDE we used to write the unit tests and the endless supply of new keyboard shortcuts!
- There are huge benefits of combining both test and development mindsets. It helps to increase test ideas and I also think it helps the developers look at their code in different ways and create richer unit tests.
- Learning new or unfamiliar tools collectively helps spread knowledge across the team.
I’d like to thank both Maaret and Llewellyn for running a really excellent workshop!
It wouldn’t be a TestBash workshop without an evening meetup to follow. In this case we headed over to the Eagle for an evening of Testing Games hosted by Michael Bolton and John Stevenson. It was also a chance to chat to other testers over a few beers!
I spent a fair amount of the first part of the evening playing Set. This involves matching cards shown to all the players and identifying patterns sets of cards based on the rules of the game (which are essentially looking for differences and similarities between a set of three cards). However I did play a new and slightly more challenging and called Cubu. Cubu involved matching cards based on sequence and colour and working out the best strategy to get rid of all of your cards and win the game. This was a particular challenge in the pub as I kept getting my pink, orange and red all mixed up due to the light! But it was a really great way of engaging the brain and I was pleased as I won at least two rounds :). These were only two of the many other games available. You can find a complete list here on Johns Stevenson’s blog.
This rounded off a really great day and was a nice start to TestBash 2016!