geek leadership in deep legacy michael “geepaw” hill [email protected] @geepawhill on...

31
Geek Leadership in Deep Legacy Michael “GeePaw” Hill [email protected] om @GeePawHill on Twitter

Upload: bethanie-chapman

Post on 25-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

Geek Leadershipin Deep Legacy

Michael “GeePaw” Hill

[email protected]

@GeePawHill on Twitter

Page 2: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

Constraint: “Legacy”

The Code Is Old

the big ball of mud from Brian Foote

is there just entropy in all code?

The Code is Testless

definition from Mike Feathers

we don’t know what it does

The Code Isn't Ours

even moderately well-written code…

…is legacy if we don’t know its intent

Page 3: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

Constraint: “Deep”

Old, Even Ancient3+ Yearsactive developmenthoney/molasses/underwater

Massive Shipping Pressureplanning theaternearly violent competition for resources

We Don't Shipwork begins on the emergency……hot patch the next day.

Page 4: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

Constraint: “Geek”

Business Valuehow do we know the target?

Thrown Agencyhow do we move under radical uncertainty?

Geek Joyhow do we bring our whole selves to bear?

Three Strands of Excellence

Page 5: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

Constraint: “Leadership”Leader != Boss

people follow you (some)“change my team” won’t work

Pillars of Coachingmodel: be the changesituate: connect the team to their contextrelease: set them freesort: apply “most important story” to selfinvite: charm them into trying it

Page 6: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

Five TechniquesOne-Click Refactoring

Pro Pair Rotating

Blind Baby-Stepping

Lottery Lunch & Learn

Pressure Bottlenecking

Page 7: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

Why These Five?

Needed

Concrete

Simple

Inclusive

Permissable

Page 8: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

One-Click Reading

Learning To Refactor

Without Deep Understanding

Page 9: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

The Need

We Need To Start Somewhere

everything’s connected to everything…

…there are no safe changes

(in another domain: depression)

Analysis-Paralysis

the fear is overwhelming

so we need ways to work around it

Page 10: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

Mechanics

Use Your IDE, But Restrict Your Motion

actually practice this, it can be hard

allow only one click out of your target file

The Code In Front Of You *Is* The Code

only need to know that called code …

…has no side effects

(another reason to hate globals)

Page 11: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

Outcomes

Permission To Moveno side effects is much easier to provefocus refactoring towards it

Support For Baby-Steppinglarger refactorings emergefocus first on revealing the awful

Team Builds Most Basic Skill50 to 1 reading to writingcontributes to sense of progress

Page 12: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

Blind Baby Stepping

Refactor In Small Steps

Before We Know Where It Ends

Page 13: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

The Need

We Are Going There Right Now

profluence – the sense of progress

support – the sense of mutuality

Closely Related To One-Click Need

start somewhere, dodge paralysis

play through the fear to the joy

Page 14: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

Mechanics

One Pure Refactor A Day

what can you do in fifteen minutes

make some days targeted

Add Question At Standup

“today I renamed variables in class X.”

“i extracted three methods for X->Y.”

“we now have an alternate constructor.”

Page 15: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

OutcomesCreation Of A Long View

took time getting in, takes time to get outmeanwhile, stop diggingmake progress every single day

Specific Targets Give Specific Progresspractice sharingpractice self-drivingpractice succeedingpractice celebrating

Page 16: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

Lottery Learning

Help Your Team

Lead Themselves

To Excellence

Page 17: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

The Need

Effective Standards Needednot just rules or a house coding standarda genuine shared vision

Skills Transferstyletechniqueapproachessolutions

Geek Joy Transferwhat better than spending time?

Page 18: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

MechanicsA Gathering Of Code-Changers

call in lunch, use *best* projector room

only allow code-changers

With No Prep Time, Choose A Winner

name out of a hat

or rig the game in the beginning

Winner Chooses Any Code

talk, argue, laugh, explain, help, consider

defend, concede, laugh, blush, critique, laugh

Page 19: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

Outcomes

Massive Creation Of Energyenergy to considerjuice for change(random is important, here)

The Incredible Ever-Rising Standardyou simply won’t believe itthey’ll make a standardthey’ll improve it every meetingall you have to do is watch and play

Page 20: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

Pro Pair Rotating

WAIT!!!

Just Wait!

You Haven’t Heard Me Yet

Page 21: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

The Need

Skill Transfers Neededwe have great goto geeks……but they know “too much”……and we need to break up their silos

High Speed Neededbut classes are too expensive……documents are too outdated……and surfing throws up more q’s than a’s

Page 22: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

Mechanics

Make Pairing Stationsroughly one per-goto geekoptimize them for real-world pairing

Build Senior’s Pairing Skillsno driving allowed, use talk & sketchesremind and reward *teaching* goals

Rotate Rapidlytwo two-hour sessions per dayeach with random other juniors

Page 23: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

A Good Pairing Station

Page 24: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

King Stays vs. Jack Stays

When rotating, pairs split up, while the task is still a whole. Who stays on the task?

King Stays

senior geek keeps the task

best when the silos are few and tall

Jack Stays

junior geek keeps the task

best when seniors are “all round” skilled

Page 25: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

Outcomes

Fastest Possible Knowledge Transferif seniors get their targets straightjuniors will be inhaling skill

Great Way To Learn Coachinggot would-be coaches?“hand-sit pairing” is a fount of practice

Validated Team Assessmentslearn exactly where juniors arediscover FAQ’s and answer them

Page 26: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

Pressure Bottlenecking

Use Your Influence

To Limit Work In Progress

At The Source

Page 27: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

The Need

Alternatives To Death Marchcollossal waste planning theaterendless overtimemental and physical exhaustion

Unanimous Grasp Of Priority & Limiteveryone knows the problem……but no one can quite face the solution

Page 28: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

Mechanics

Radically Limit Work In Progresspure pull systemworry most about “rows per column”

Create Strong Information Radiatorkanban boards are potent *and* trendyuse a whiteboard, not a computer

Adopt Standups & Core Hoursmeeting discipline is urgent

Page 29: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

A Kanban Radiator

Rows Vs. Columns

Page 30: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

Outcomes

Pressure Will Drop

this is not rational

fortunately, neither are people

Managers Will Get It

especially grandbosses and up

over time, you’ll be *required* to do it

Page 31: Geek Leadership in Deep Legacy Michael “GeePaw” Hill GeePawHill@AnarchyCreek.com @GeePawHill on Twitter

Five Techniques ReduxOne-Click Refactoring

Pro Pair Rotating

Blind Baby-Stepping

Lottery Lunch & Learn

Pressure Bottlenecking