[Update: Alex wrote a few words about our week together. They’re quite nice.]
After a week visiting BREDEX in Braunschweig, I’m struck by just how many teams I got to meet — nearly all of whom I was lucky enough to introduce to mob programming. Alex Schladebeck had prepared everyone to try it, scheduled 3 teams per day into 2-hour timeslots, and pre-selected several of the week’s Learning Hours. Pretty much all I had to do was hang out in the big meeting space, keep an eye on the schedule, and facilitate. When Learning Hour ended, some folks would take me to lunch.
Monday
- 3 teams new to Mob Programming (4-minute rotations)
- Non-programmers in each mob
- 3 GUIs: 2 ~directly from SQL, one with more Java thinking
- ”Care and Feeding of T-Shaped People”
- True fact: “Thought it’d take 2 days”, nearly done in 2 hours
Tuesday
- Python, Strangler, etc. w/Alex
- ”Gilded Rose” (big group)
- Team’s first mob session is also their first Test-Driven Development
- Team builds a feature iteratively: first client UI, then message bus, then server, then database
- More non-coders trying Driver role
Wednesday
- Team (new mob) brought egg timer! Idea: don’t splain me the feature, just start. I got it. My egg timer skills, tho
- ”Intro to TDD” (Roman Numerals)
- Team (new mob) ran into sticky design choice. Externalized our concerns as words on whiteboard
Thursday
- Arrived late, team already mobbing (💪)
- Got navigated in German, did OK despite tricky Denglisch identifiers
- ”Mob Programming for Non-Programmers”
- Flaky test failed alone, passed from suite. Binary-searched for the dependency. Got fast test working.
Friday
- 7am gym w/Alex
- Finished UI ding from Day 1
- Got navigated auf Deutsch, ganz gut gemacht
- ”Bring Your Whole Self To Work”
- Useful feedback on “Mob Programming for Non-Programmers”
- Fixed Jubula bug
- Heimwärts!
Here are all #CodingTour tweets from the week.
Reflections
After last week’s remarkable mix of technologies, it was relaxing in a way to have a week where some teams used Eclipse, others used IntelliJ, and the public meetup I attended was the local Java User Group. After my presentation there, several of us entered into a lively and worthwhile discussion about diversity in our field, including arguments for and against Codes of Conduct. This is the first time my habit of always asking about a CoC when I speak led to some conversation (at least one with me included). I’m happy for this result and hopeful I can get it to happen again.
Doing so much mobbing with so many teams reminded me of the importance of having a flipchart or whiteboard:
”We notice things as we go. Simply writing them down, where everyone can see, frees us to finish one idea at a time.”
Alex (Head of Testconsulting) and Zeb (developer) joined me to share some of our highlights from the week. Have a look.
Thanks for the feedback! I wish I could offer hard-won advice about overcoming objections and trying a new thing. But as a consultant (or on a coding tour) I’m an outsider. That means I’m playing “influence people’s behavior” on easy mode. It was even easier than usual at BREDEX, because Alex had planted seeds of mob programming a while ago, a couple teams had even already tried it, and she had prepared everyone to understand what it would be like and when they’d be doing it. When people aren’t sure they want to try something, or are sure they don’t, I haven’t found it effective to try to talk them into it. Listening to them, if they’re willing to explain why not and explain it to me, can help — provided I promise not to try to persuade them, only to try to understand their point of view. I always want participation to be voluntary. If what some of us are doing looks fun and effective — and mob programming quite often does — some folks who were on the fence may decide to come watch. Maybe even try it. That’s the best overcoming-objections advice I can give, on any subject.
My best advice for introducing a team to the concept:
I’m probably forgetting something. Get the book. It’ll fill in the gaps. Best of luck, and let us know how you get on!