As well as my recent session at PHP South Wales, I’ve also been involved with a lot more mob programming recently with members of my team.
We recently added a new feature to our codebase that we completed over a couple of mob sessions - starting by describing the problem and some potential solutions within a technical design document before moving on to the implementation.
I was already familiar with the existing code that we needed to extend, so had some ideas of how to approach parts of the solution which we discussed - but there were other parts that I hadn’t thought of.
What was very interesting was that an approach was suggested that I probably wouldn’t have thought of myself, which become part of the final solution. This is an advantage of pair programming and is multiplied when working in groups - that you get to include everyone’s thoughts, experience and perspective, and collectively decide on the best approach to take in real-time.
As a side effect, we had continuous code review from members of the group, and if we need to work on this code again in the future, everyone will already be familiar with it.
As it was already reviewed, we didn’t need to wait before pushing the feature to production so it was delivered quickly and providing value by fixing an issue that someone was experiencing.
We’re already working on the next feature as a group, and if you haven’t tried pair or mob programming before, I’d recommend that you give it a try.