Agile: More Than Just Standups

@kylecoberly

www.kylecoberly.com

We tried baseball and it didn't work

(Hat tip to Ron Jeffries)

P

1

2

SS

3

C

LF

CF

RF

B

B

B

B

B

B

B

B

B

Fundamentalist Baseball

(Stuuuuupid)

P

C

LF

RF

B

B

B

B

Scalable Baseball

P

C

LF

RF

B

Intuitive Baseball

B

B

B

P

C

LF

RF

B

Efficient Baseball

B

B

B

P

CF

LF

RF

Expert Baseball

WSBH

WSBH

WSBH

WSBH

P

CF

LF

RF

We Tried.

WSBH

WSBH

WSBH

WSBH

P

1

2

SS

3

C

LF

CF

RF

B

B

B

B

B

B

B

B

B

What it is

What it isn't

How to get there

What is agile?

Answer to Taylorism

The Dinosaur Cage

Project Management Spectrum

Predictive

Adaptive

Iterative

Agile

TPS

Ancestry

Scrum

XP

Kanban

Lean

Philosophies

Frameworks

Implementations

Agile Values

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

Individuals and interactions

over

Processes and tools

Agile Values

Individuals & interactions over processes & tools

Individuals Interactions
Kyle Talking
Elyse Reviewing
Duncan Training
Miles Developing
Processes Tools
Chain of command Instant messaging
Sign-offs Meetings
Eligibility Training courses
Handoffs IDEs

Working software

over

Comprehensive documentation

Agile Values

The Binder

Working software over comprehensive documentation

Requirement

Software

Necessary documentation

Working software over comprehensive documentation

Customer collaboration

over

Contract negotiation

Agile Values

Customer collaboration over contract negotiation

Money, Scope, Time

Tug of War

Customer collaboration over contract negotiation

The Problem

Aligned Interests

Customer

Dev Team

Responding to change

over

Following a plan

Agile Values

Responding to change over following a plan

Both of you end up wrong and pissed off.

"Read my mind!"

"Predict the future!"

Responding to change over following a plan

"We're getting closer!"

"Is this it?"

Agile Values

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

What is agile?

Fragile Agile

and the Twelve Principles

(half of)

#1: Bad stand-ups

  • Long stand-ups
  • Used for status updates
  • Used for task assignment
  • Not owned by the team
  • Low energy

"The most efficient and effective method of conveying information to and within a development team is face-to-face conversation."

Fragile Agile

#2: Big design up-front

  • Planning a full schema
  • Writing a framework first
  • Surprising the customer
  • Testing at the end

"Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage."

Fragile Agile

#3: Processes are locked down

  • Someone outside the team is mandating the process
  • Someone is revising your estimates
  • Not reflecting
  • Not changing based on the retro

"At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly."

Fragile Agile

#4: Late-night martyrdom

  • Code isn't always releasable
  • Allowing developers to burn out
  • The extra code is worse

"Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely."

Fragile Agile

#5: Trying to control scope

  • Using waterfall project managers
  • Sticking to a low-value plan
  • Not working in priorities
  • Non-agile billing practices

"Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage."

Fragile Agile

#6: Writing buggy code

  • Not being done
  • Code reviews
  • Pairing
  • Testing/TDD

"Continuous attention to technical excellence and good design enhances agility."

Fragile Agile

Devs must love this!

"It's a scam!"

"It's a get rich quick scheme!"

"Just an MBA mind-fuck"

"Sounds like a consultant payday to me"

"It's a scam!!"

Management is hard, ergo most people are bad at it.

"It's a scam!!"

Things that have certifications:

  • C/C++
  • Java
  • Haskell
  • Everything

"It's a scam!!"

Authors of the agile manifesto:

  • 5 Self-taught
  • 3 BS in Computer Science
  • 2 MS in Computer Science
  • 1 PhD in Physics
  • 1 PhD in Biometrics
  • 1 MS in Information Systems
  • 1 MS in Management (also BS in EE)
  • 1 BS in Information Systems
  • 1 BS in Aeronautical Engineering
  • 1 BA in Information Technology

Where are the MBAs?

"It's a scam!!"

People who use coaches:

  • The best athletes in the world
  • The best artists in the world
  • Why not the best software teams?

"It's all just common sense repackaged!"

"We were doing this for years before you jackals showed up!"

"There's people who are good at this and people who are bad at this and that's it."

"It's just common sense!!"

Uncommon Sense
Embrace change
Build one feature at a time
Test as you build
Deploy early and often
"Common Sense"
Plan the work up front
Build one layer at a time
​​Build then test
Deploy when you're done

"This is just about business!"

"What does this have to do with making software?"

"You figure out your shit, I'm too busy making the app over here."

"Business-driven development is a plague."

Devs aren't the center of the universe!!

"Stay outta my business!!"

"Stay outta my business!!"

Problem Selection (Marketing)

Solution Selection (Design)

Solution Implementation (Development)

Assuming the right problem...

Assuming the right solution...

"You can't just apply a rote process to a team and get results."

"Stand-ups are stupid and demoralizing!"

"Right, the road to better software is paved with more meetings."

"Good luck making real software without PMs or designers"

  • The rules and values are fixed, your practice of them is not
  • No frameworks?
  • The little meetings mean you don't have to do the big meetings
  • Roles != Titles

"No formulas!"

"Collaboration just makes people nervous!"

"It's a system made to grind developers down and average them out."

"Having constant deadlines makes everything crunch time!"

"This is micromanagement."

"Agile is anti-dev!!"

Agile won't fix your broken culture.

"Agile is anti-dev!!"

No country for old cow-persons

Maybe you should quit.

"Agile is anti-dev!!"

What isn't agile?

Agile Cultures

Kill toxic practices

Unsustainable Work

  • Don't ask people to crunch
  • Don't reward people for crunching
  • End the day together

Kill toxic practices

Fear

  • Change
  • Exposure
  • Mistakes

Kill toxic practices

Performance-based Management

  • Blaming system issues on individuals
  • Vanity metrics
  • Tying compensation to performance

Kill toxic practices

Reform customer relationships

Customer == Teammate

  • Base it on trust, not contracts
  • It's an equitable relationship
  • They understand their problems better than you

Reform customer relationships

Make your billing agile

Unaligned Billing

  • Hourly
  • Fixed Scope
  • Fixed Price

Make your billing agile

Story Point Billing

  • Well-aligned
  • Bill on delivery
  • Bill for a pool / iteration

Make your billing agile

Make your billing agile

(Hat tip: Jeff Sutherland)

     your team

Hire the right people

  • The "rockstar" false economy
  • Complementary skills
  • Hire for attitude not aptitude

     your team

Be a school

  • Cross-train
  • Let people grow
  • Give them somewhere to go

     your team

Respect

  • Self-organizing
  • Bake in vacations, holidays, downtime

     your team

What it is

What it isn't

How to get there

Agile is not a silver bullet

It's a silver mirror

BONUS:

Using agile to write this talk

First Iteration

Second Iteration

Third Iteration

Fourth Iteration

Fifth Iteration

Sixth Iteration

Ta-da!

Questions?

Kyle Coberly

@kylecoberly

kylecoberly.com

Errata

"We tried agile and it didn't work"

Standups

"We tried agile and it didn't work"

The Morning

"We tried agile and it didn't work"

The Afternoon

"We tried agile and it didn't work"

The Evening

"We tried agile and it didn't work"

P

1

2

SS

3

C

LF

CF

RF

B

B

B

B

B

B

B

B

B

End Zone

End Zone

G

G

T

T

QB

RB

RB

WR

WR

PG

PG

SF

PF

PF

SF

Agile

By Kyle Coberly

Agile

Presentation for Develop Denver 2016

  • 1,860