Mob Programming - A technique for scaling or aligning product team( experience sharing)
Namrata Chopra Datta
Agile CoE Lead| Director |Digital Transformation Coach | Product Coach |SPC
I was sitting on LA airport last week and my flight is 2 hours delayed , plus i somehow have a bad habit of reaching 3 hours early.
Now i am sitting & thinking how to utilize time and i got a msg from one of my very good friend, techie and she is leading a large Product. I thought let me share my beautiful experience as we tried solving a complex scenario she had.
They are expanding or scaling the OTT platform, product is mature and the brilliant architect feels its out of world designed and working well in production from couple of years. Now they have to add more regions, add features, better scalability, better performance and security. New brains have joined & she needs all of them to align on some architectural runway principles. We jumped on a call and she discussed certain scenarios that they have experimented & i asked have you tried Mob Programming ever and her answer was NO...
What is Mob Programming as a standard & how others have used it?
Mob Programming is a software development approach where the whole team works on the same thing, at the same time, in the same space and the same computer ( by definition) It is kind of pair programming but to the next level so that as a mob team work on a single work item continuously and collaborate to deliver the single outcome at a time. In a virtual world you can collaborate via multiple ways, coming together on a zoom call and sharing the screen and collaborate via GIT. But it depends on scenario. Her context is team members have different ideas to solve a complex problem, she wants to pick up best idea but also not let others feel left out.
Why i suggested this approach?
I have worked with her few years back while we were developing a complex platform using XP practices and pair programming. She is an evolutionary leader who wants to go beyond the pair programming and amplify the collaboration, whole team agreement and involvement and amplify the communication, continuous code review where team is self-organizing. When she was explaining what is her desire, i was building on the thoughts of Mob Programming as an approach that she can experiment. But did not want to jump on quick solution
I tried asking more questions around - " what value she wants to achieve by adding a new practice?" Why not to use Driver/Navigator model, she can deliver items faster.
While we started digging deeper i used Adaptive action approach from HSD. What we do is we inquire more because techniques should not be used or picked for testing or experimenting. She needs to be clear of ROI as may be for couple of days /Sprints they will be delivering less. Velocity will dip.
I have seen many leaders not sure on why they are picking up a new approach. Why the existing approach is not working? What if this will fail too? How ready she is to handle failures.
a) What patterns is she seeing ? or her retrospectives where she is looking to try a new technique. Why she is feeling that current approach is not giving the desired results?? What is unique thing about her problem?
b) So What - We brainstorm on the patterns , i asked her questions around - planning, acceptance criteria, product telemetry, deployments, production health..so she creates patterns on which she can think - what more she can drive from this technique and for how long this practice she can use
c) Now What - What will change? or what change is she expecting from any technique
What Value we can drive?
a. doing based learning, rather than just doing training from PPTs or articles, she wants to train team members on the code , structure, clean coding and how the code is organized... ( she being the lead architect may have this mindset but generally this mindset for Architect as Coach is missing.
领英推荐
b. let the best idea of implementation be picked and coded where all are inclusive
c. May be they will implement 1-2 features or couple of user stories but all will be on same page on what needs to be done. they will better design the WoW for future or DoD.
What Prep is needed
I asked her to document or create a proper event for 1 or 2 weeks and then we can see. It will be like entire 9-5 kind of time boxed events, what will happen, who is who, sitting arrangements, booking conference rooms, other logistics, a strong Scrum Master or coach who can facilitate Diverge scenarios and help to converge. Keeping team on track. take quick decisions. try few things and note the learnings. So more of in this approach there will be lot of learning on team dynamics, real challenges that team is facing.
Plus what's the ideal team size to do mob-programming. How will you priortize what feature to work upon. How the depth on
Why i am sharing this?
She called me today and shared that she experimented this approach with her 3 tech leads. they all booked a large conference room and experimented for 2 days what all I shared plus they all read about it on internet. They loved this experiment and now they are expanding this for a Sprint with the 2 product teams like 12 members.
If this interests you below is the reference Article for depth
I have experimented Mob Programming for 2-3 scenarios and it worked. Specially when we have new architects and they have new ideas. When you want to bring the Specialized techies on the same page.
Where have i seen failures?
Almost 10 scenarios where everyone is Specialist and they feel their way is best way. Architect that like to be individual contributors & want to work in their own zones. too much of MP is not possible because its not feasible too. Also if you dont coach to pick one and keep moving the architects will keep debating on what is right or wrong.
Happy Wednesday...!!
Senior Consultant - Talent Acquisition specializing in Talent Sourcing and Sales
2 年Thanks for sharing, it's really helpful :)
CEO of Xellentro, International Author, Consultant on Sustainability & Resilience, President Green Computing Foundation, Sustainable IT Manifesto Signatory, Independent Director
2 年Nice article. My observation is that 3 main ingredients here for success is Trust, Agility (willingness to experiment) and skillset of each team member to compliment for a common shared goal
North America Practice Head - Data and AI / GEN AI Leader, Coach, Mentor
2 年Thanks for Sharing your experience and thoughtful ideas Namrta. This setting worked really well for my team in few of my prior projects. For virtual teams I have leveraged MIRO and it works great ??
Coaching for Change: Transform Lives While Supporting Cancer Warriors
2 年That's really a scaling approach and must be tried as an experiment. That will help everyone a lot, including design thinking, user perspectives, creativity and problem solving. However as you rightly pointed, utmost caution must be followed in executing MP, in keeping agenda on track, time limits, WIP limits are the immediate concerns come to my mind. Coach would have some good time, i see! Well written Namrata..