André De Sousa AGILE COACH / TRAINER + WEB ENTREPRENEUR
@_adesousa coffee-meeting.com
valtech_
#SGPT2016
Who’s Here ?
Before Agile Thinking
Silos
Coding Alone
Coding standards not shared
Poor code quality
This is communication
Specifying … a LOT !!
How Can I Break It ?
How Can I Make It ?
(External) Test team at the end.
Documentation, well… at the end !
Agile With Scrum
Good, but sometimes not sufficient.
XP and Pair Programming
Good, but only for coders and testers.
XP and Code Reviews
Good, but only for software quality.
Standup Meeting
Good, but can last.
Knowledge on Wikis, Agile Tools
Good, but is it up to date ?
Tough Reality
What is Mob Programming ?
Mob Programming Originators
Woody Zuill & his team, Hunter Industries
All the brilliant people Working on the same time, In the same space, At the same computer, On the same thing.
How They Discovered It ?
Actual Way Of Work +
Inspect & Adapt +
More Collaboration Wanted =
Mob Programming
Idea 1: The people doing the work can best figure out how to do that work.
Idea 2: We can get a lot of benefit out of studying and practicing together.
Idea 3: Getting good "at getting good results from retrospectives is important.
Idea 4: Pay attention to what’s working, and look for ways to “Turn up the good”.
Practical Overview
Quick Starter Guide"How Does It Work.
Team of 4-6 people
It is easier to start small and scale up as you gain experience.
A Great Setup
A physical setup comfortable, simple to put together and use.
Driver / Navigator Model
On Mob team, the Driver is doing the typing while the Navigators are doing the thinking, discussing…
4 to 15 minutes rotation
Allows everyone a frequent turn and focus on the navigators directions.
Invite anyone interested
Not everyone needs to take the keyboard.""
Remember: Team also can work to define stories, design, deploy …
Hold a short retrospective after each session
Tune the approach, and make adjustments for the next session.
Which Role Are You Playing ?
The Driver
Writes code & “does not think”."Only listens to navigator & Asks for help when lost.
Navigators
Tells the driver what to do. "Focuses on code, ask questions, gives ideas, might “Google” for help.
(The Facilitator)
New teams, might need it. "No types, no discussions, cares for the rules.
How Can We Work This Way ?
Individuals & Interactions +
Kindness, Consideration, Respect +
Freedom =
Mob Success
“ If you don't feel you are contributing or learning, maybe this is the moment to
split into second mob, in pair programming or work alone ”
- Woody Zuill
How many time ?
Full time, Every day FOREVER !
But
Can Be On Demand
Does it really "works ?
Urban Legends
Productivity Killers
Communication
Decisions
Doing more than needed
Task Switching
Technical Debt
Politic
Meetings
Most of these Problems are solved …
… When mobbing !
Benefits of working "like this
Knowledge, Skills, Domain transfer"&
Trust enables best of everybody &"
High level of communication &"
High Team Spirit =
Individuals & Interactions
Development Workflow Never Stops &"
Find Faster Solutions &"
Better Quality (Many eyes on tests)"&"
Shared Coding Standards =
Working Software
Share The Vision &"
Decision makers in the room or available"&"
Not getting stuck as long as before "(Question queue)
=
Customer Collaboration
Smaller feedback loops"&"
Easier commitment from team if possible =
Responding to change
From Hero to Super Hero
Production code to fix or
Critical code to create or
Complex problems to analyze/solve"or"
Big refactoring sessions =
Mob Success
Be careful
Dominant personas"
>
Rotate more
GroupThinking"
>
Discuss more
Too many people "
>
Reduce Team/Split Mob
Counterintuitive"
>
Don’t separate too early
Tedious tasks or
Long Tests Run or
Repetitive Tasks =
Mob Failures
Some Advices "To Start Well
Mob < 6 people feels right
Larger groups should consider split into multiple mobs or 1 mob and several pair programmers.
1 Tester / Mob is Ideal
A tester brings quality into Mob. He’s aware of the code areas affected, so improve collaboration.
Whole Team
Key people can attend without stopping work. If not integrated daily, specialists join when needed.
(The Facilitator)
New teams, might need it. "No types, no discussions, cares for the rules.
Going Deeper
Learning How To Mob
By Practicing/Experimenting
A team can learn « Mob » in just one hour by simple work tasks or Programming Katas.
By Reading The Mob Programming Guidebook"Llewellyn Falco & Maaret Pyhäjärvi""Mob Programming: A Whole Team Approach "Woody Zuill & Kevin Meadows ""MobProgramming.org"Official Website
By Twitter
#MobProgramming
Will Mob Programming "Works For Me ?
Try and Inspect
“Mob Programming isn’t necessarily universally applicable, but the idea of working