Story of a fun and effective Mob programming session

Tooba Aziz
Bazaar Engineering
Published in
3 min readMar 16, 2022

Considering agile and extreme programming practices, mob programming is often not exactly liked. A perception barrier can be seen where it is considered as improper resource allocation and hence is not encouraged by the management. The social aspect of it is also intimidating for a few, because more than two intelligent brains coming together to work on the same chunk of code might result into clashes. And some engineers find it tough to concentrate when they are not on the keyboard.

Going Agile — Making mob interesting:

There is a lot that can be benefited from in our day to day work processes , if we choose to look closely.

Problem Statement:

We at Bazaar Technologies came across a small mobile app task that consisted of a single user input and a button that had to call an API to verify that the entered value exists in our system or not. The flow either pauses there to prompt an error on a 400 Bad request from server, or moves to the next page on a 200 OK. Simple enough right? Here’s how we benefited from it.

A simply structured Mob session:

Photo by: unsplash.com

We conducted a small mob session on a big screen and a hot seat in an average sized room. The session consisted of a total of 4 engineers , 1 backend engineer , 1 Frontend engineer , and a Data Science/ Backend engineer who was remote , and the only navigator in this equation was a core Mobile app (android) engineer (Ateeb Akhtar).

Ateeb , or Attie as we like to call him , first introduced us newbies to the android basics , and then called us one by one to the seat where we worked on the task with proper navigation from Ateeb.

It was a 3–4 hours session, in which we completed the whole task.

The task was broken down into meaningful chunks by Ateeb, and each individual in the session contributed to a wholesome component of the feature, the task was broken down such as

Person 1:

  • Implementation of API and simple manipulation of data with test cases

Person 2:

  • Implementation of Service layer to make data usable for UI with test cases

Person 3:

  • Implementation of UI components and linking with Service Layer

The key take ways from this experience:

  1. Mob session can be considered a good way to start off with a new technology , you learn from looking at other people’s code and mistakes and you learn from your part as well.
  2. When you’re aware that you can be called randomly, you keep your head in the game.
  3. When nobody knows anything , there is nothing to be intimidated by.
  4. When you’re being navigated and instructed by a younger less experienced engineer , everybody has to be nice.
  5. It has a good impact on the navigator’s overall confidence.
  6. You get to work with and learn from individuals of different expertise and tech stack that increases collaboration.
  7. Increased team collaboration can help understand each individual’s strengths and weaknesses , which can further help in giving effort estimations for daily tasks.
  8. You can get a task done in the given timeline with all individuals learning a few new things.

Working in groups enables you to look at problems with different perspectives. It’s like a form of active and passive learning together, and can be benefited from every once in a while.

Disclaimer:

Bazaar Technologies believes in sharing knowledge and freedom of expression, and it encourages it’s colleagues and friends to share knowledge, experiences and opinions in written form on it’s medium publication, in a hope that some people across the globe might find the content helpful. However the content shared in this post and other posts on this medium publication mostly describe and highlight the opinions of the author, which might or might not be the actual and official perspective of Bazaar Technologies.

--

--