Mob programming at Customer Data
At Customer Data we wanted to give a try to Mob Programming. Everything started earlier in September 2019, when our colleague Marilyn Docquier participated in an Agile congress in Washington. Among the different takeaways of those inspiring days she shared with us the concept of Mob Programming: one squad working at the same time on one problem with only one laptop.
At first I was wondering if we were talking about a cost saving initiative. Only one laptop means less licences and less ownership cost. Are we talking about reducing the indirect costs of our projects?
Talking randomly with colleagues they were not very enthusiastic about the idea of having a bunch of people together staring at one screen while there is only one developer keying commands in the terminal. How can it be more efficient to have five people sitting around watching somebody work?
And what about the guy who is typing with all those eyes on him? Isn’t it too much stress to have five people waiting for you to find the right key in the keyboard?
With all our fears we started to ask around and, surprisingly, we found that some Tribes in ING both in Belgium and the Netherlands were already using Mob programming in some of their squads.
With their help and our search for information we learnt about the different roles in Mob Programming. We discussed mainly about the following roles:
- Driver: person who is keying
- Researcher: person that moves out of the Mob programming to search for the information that is missing
- Navigators: all other people that is nor the Researcher nor the Driver. They give instructions on how to proceed with the code
Some interesting links:
Next step was to find a problem in Customer Data where we could experiment the set of a Mob Programming team. Ideas came when talking to Marilyn Docquier and Arnoud Van Nijverseel and I started thinking on doing this experiment with my Chapter of Java developers.
A couple of refinements were done with our most enthusiastic engineers to come with the final problem statement. Thanks a lot Manisha Sharma and Pragya Sharma for all the energy you bring to the team!
We were ready to start our experiment. The hypothesis we wanted to validate is if by working in a Mob Programming team the quality of our deliveries increases. The Best of the Whole Team makes it into the code.
And actually, it is not something that new. If you look for images regarding Mob Programming you will find something similar to the picture below. This is a normal day in Customer Data teams where, spontaneously, some engineers group together to solve a problem in the most efficient way.
On Friday the 11th October 2019 we put all the engineers participating in the Mob Programming experiment in the same room and we presented this problem:
“As an owner of Customer Data database I want to build a layer of services so that I can provide the information to my consumers in a standardize and secure way”
With some breakfast and lunch together, team was working non-stop for more than 4 hours to make it real. At the end of the session a REST API was connected to the Mainframe and was retrieving party details. From a draw on the board to a functional API in the server in four hours looks like a good investment.
Looking forward for the next session.