On Slowing Down to Speed Up (and Pair Programming)
via https://www.ionos.co.uk/digitalguide/websites/web-development/pair-programming/

On Slowing Down to Speed Up (and Pair Programming)

I've been contemplating writing up a blog post recently on pair and mob programming as it's a subject that I care about. I then found this arrive in my blog feed and thought 'they've said it all better than I ever could have!'

https://martinfowler.com/articles/on-pair-programming.html

Who is this article for?

  • Managers/Senior managers - if you've not seen the impact of effective pairing, this is well worth a read. This is ultimately about flow of work and flow of value - it applies equally to things like supply chain, but is incredibly prevalent in software engineering
  • Software Engineers - if you haven't yet tried pair programming, or it's not routinely used in your teams, have a read, share it with your teams, and experiement

The Too Long; Didn't Read (TL;DR) on this one won't be short - I love the subject!

Aside from the great content in this article, my own experience of helping teams introduce these practices over the past 10 years or so has seen teams move from overworked/stressed/juggling priorities to being high performers who have bonded and taken more joy in their roles. Pairing and Mobbing helped massively in that shift.

Firstly, Pairing vs. Mobbing?

This article describes 'pair programming' or 'pairing' very well, so I won't elaborate on it. Mob programming (or mobbing) involves 'more than 2' - some of the approaches are different, but this article applies well to both, and I've seen the benefits mentioned in this article apply equally well to mobbing. When talking of the benefits/costs, please treat pairing and mobbing as synonymous.

When should teams mob? pair? go solo? There isn't really a 'one size fits all' here, but I think the article highlights the approach I've seen work best - make pairing the 'sensible default'. I found with teams I've worked with:

  • Sprint 0 / New Architectural Challenges - mobbing by default worked well here. Teams all gained context and understood the struggle together.
  • Complex work - pairing by default worked well here, and increased flow.
  • Trivial work - teams made judgement calls on this, sometimes solo, sometimes pairing with junior staff to upskill them.

Bold Claim

I think given the past experiences, I'd agree with this article, and I'd suggest:

Teams that routinely practice pairing and mobbing will categorically deliver better flow of value to the customer than those who don't

And you can quote me on that ;)

Ultimately, we're all here to deliver value to the customer (whomever that is), and we're none of us good at multi-tasking - there's significant evidence to suggest that we lose approximately 20% of our effectiveness when juggling 2 tasks, up to 40% when juggling 3. There's also growing evidence (the document links to a great article) to suggest that diverse groups solve problems more effectively together.

Cultural Impact

We cannot underestimate the cultural impact of pairing/mobbing on problems too. Putting people together to solve problems really does help build trust, relationships, and when done well, brings about great challenge and improves overall quality.

Next Steps?

I'd love to hear others' views - either positive or negative on the subject.

  • If you're in an engineering team that doesn't yet practice this, share this article around and have a group chat about it - could it benefit?
  • If you're a manager of a team that isn't doing it, do the same - engage in the chat and suggest it as a pathway in your continuous improvement.

You may not see results straight away, it's not the easiest thing to get right, but experiement for a month or two on it, and measure - see if you are indeed increasing your flow efficiency. and value delivery.

Liam Lagay

Senior Consultant at Opencast Software

5 年

More complex pieces of work we found it's worked well pairing. As you mention in the article sometimes it's necessary for speed (for example we've managed to bring some work in early) but in others it's been good to train others up as part of knowledge share (I was planning on doing this with some of the next bits of our project to knowledge share with the hope they can then apply it to other tickets). Mob programming I must say we've not done a whole lot of. It's something that interests me for next project though.

?? Jane Cranston

Data Solutions Architect

5 年

would like to hear your thoughts on how this works in teams that include neuro-atypical developers

要查看或添加评论,请登录

Terry Brown的更多文章

  • How to Avoid the Weaponising of Psychological Safety

    How to Avoid the Weaponising of Psychological Safety

    It is comforting to see that we are in an age where Psychological Safety has become ubiquitous, and synonymous with…

    6 条评论
  • Working together to prevent suicide

    Working together to prevent suicide

    Today is #WorldSuicidePreventionDay and I would anticipate a number of posts being shared on social media today. Please…

    4 条评论
  • 7 tips for raising a transgender child

    7 tips for raising a transgender child

    “Mum, Dad, there's something I need to tell you”. It’s a line that strikes fear and dread into any parent.

    8 条评论
  • Stonewall Allies Programme - 3rd March 2020

    Stonewall Allies Programme - 3rd March 2020

    I feel very fortunate to have been able to attend a day of training around being a better ally to the LGBT community…

    3 条评论
  • On talking about Psychological Safety

    On talking about Psychological Safety

    I gave a talk yesterday at work on Psychological Safety (in a conference on Agility). There were some great questions…

    1 条评论
  • On Being a Manager

    On Being a Manager

    We all of us love feedback - both directional and positive, and as a manager, I seek the directional regularly with my…

    4 条评论
  • On Enterprise Agility - SEACon 2019 Thoughts

    On Enterprise Agility - SEACon 2019 Thoughts

    SEACon 2019 - Study of Enterprise Agility The title doesn’t really sell it does it? In the same way that the ‘DevOps…

    5 条评论
  • On 1:1 meetings

    On 1:1 meetings

    There's been a lot written about what makes an effective 1:1 meeting, and even more on what makes an effective 1:1…

    16 条评论
  • On "No Release" Fridays

    On "No Release" Fridays

    There has been a lot of discussion on twitter around software engineering, and the idea of 'no release fridays'. There…

    15 条评论
  • On Estimating Things

    On Estimating Things

    I've had a number of conversations around estimation within software delivery recently, and thought I'd distil my view…

    11 条评论

社区洞察

其他会员也浏览了