mob programming : how to never stop producing value - scrum gathering talk 03/12/2016

89
Mob Programming ScrumGathering Porto – 03/12/2016

Upload: andre-de-sousa

Post on 12-Jan-2017

115 views

Category:

Leadership & Management


0 download

TRANSCRIPT

Mob Programming ScrumGathering Porto – 03/12/2016

How To Never Stop Producing Value

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

well together just might be.”

– Woody Zuill

Obrigado ScrumGathering

@_adesousa