agile project management in extreme programming projects · hours days weeks months g se p n....

37
Agile project management in Extreme Programming projects Carl Erickson Atomic Object LLC

Upload: others

Post on 05-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

Agile project management in Extreme Programming projects

Carl Erickson Atomic Object LLC

Page 2: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

Professor life

•  course planning•  team supervision•  evaluation•  research projects•  mentoring•  teaching•  grant writing

Page 3: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective
Page 4: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

This talk

•  Agile movement –  in general

•  Extreme Programming (XP) –  in particular

•  Role of PM – not mentioned in first XP book

Page 5: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

The view of some developers…

We don’t need no stinkin’ project managers!

Page 6: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

My view…

•  managing the XP process•  customer interaction facilitation•  measuring and tracking•  process above the project level

Page 7: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

Why XP?

•  Status quo: dismal – NIST study – human element

•  Logical reaction, failed approach –  the heavyweight processes

$60 billion each year

1968 software crisis

eliminate messy human element

formal communication, artifacts

top down

mean/end inversion

Page 8: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective
Page 9: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

Agile methodologies

•  Contrast to the heavyweights –  just enough – means versus ends – developer driven – source code über alles

•  Iterative versus sequential

process to make great software

what ultimately matters

Page 10: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

Classic, sequential, waterfall

Page 11: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective
Page 12: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

XP Practices

Page 13: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

Testing

•  Concurrent, test-driven – versus sequential, separate

•  Much more than defect removal – specification – design – documentation

Page 14: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective
Page 15: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

Pair work

•  Programming •  Design •  Debugging •  Testing

Page 16: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

Team work

•  Life on the kibutz – collective ownership

•  No big bangs –  frequent integration

•  Esperanto paradise – coding standards

Page 17: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

Customer relationship

•  The borg – whole team

•  One slice at a time – small, frequent releases

•  Who, what, when, why – planning game

Page 18: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

Planning

•  The hardest problems are… – not technical –  involve people – at least proportional to team size

•  A lot of behavior is driven by…

Page 19: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

FEAR

Page 20: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

Legitimate customer fears

•  Won't get what they ask for •  Will ask for the wrong things •  Pay too much for too little •  Won't see a meaningful plan •  Won't know where the project really stands •  Won't be able to react to changes in the

business

Page 21: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

Legitimate developer fears

•  Will be told to do more than they know how to •  Will be told to do silly things •  Will have hard problems to solve without help •  Will be given responsibility, but no authority •  Won't be given clear descriptions of what is

needed •  Will have to sacrifice quality to a deadline •  Won't have enough time to succeed

Page 22: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

Planning addresses fear

•  Is not anti-change spray – stuff happens

•  Embracing change – always work on most important thing – coordinate people – understand the consequences of change

•  Unacknowledged fears

Page 23: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

The XP planning game

•  Two aspects – you’re never done –  it takes two to plan

•  Time cycles/phases/scale – Releases –  Iterations – Standups – Pairing

Page 24: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

Releases

•  Driven by the business •  Time scale

– months •  Unit of work

–  the story •  Means of organization

–  the story board +

hours days weeks months

Pairing

Standup

Iteration

Release

Page 25: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

Iterations

•  Highest priority stories •  Time scale

– weeks •  Goal: tested, working system

– whole, but not feature complete –  risk reduction

•  Short enough to estimate

hours days weeks months

Pairing

Standup

Iteration

Release

Page 26: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

Estimation

•  Very hard –  lots of complicated models – simplest best?

•  Do, learn, improve –  for developers

•  Publish, track –  for customers

hours days weeks months

Pairing

Standup

Iteration

Release

Page 27: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective
Page 28: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective
Page 29: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

End of iteration

•  Acceptance tests – by the customer

•  Demo time! –  for customers –  for developers

•  New stories

hours days weeks months

Pairing

Standup

Iteration

Release

Page 30: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

Standups

•  Sharing – progress – plan for the day –  roadblocks

•  Time scale – days

•  Borg brain synch

hours days weeks months

Pairing

Standup

Iteration

Release

Page 31: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

Pairing

•  In the trenches •  Time scale

– hours •  Unit of work

–  the task •  Means of organization

–  the task board, facilities

hours days weeks months

Pairing

Standup

Iteration

Release

Page 32: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective
Page 33: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

Summary

•  Agile is spreading quickly – grounded on known-effective practices – anti-lessons from 30 years of failures – working with developer best instincts

•  This is good news – should your children study IT?

Page 34: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

Local competitiveness

low quality, inflexible, expensive

low quality, inflexible, cheap

high quality, flexible, good value

Page 35: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

Project manager role

•  Deep understanding of process •  Representing the customer •  Educating the customer •  Tracking and communicating •  And maybe the hardest of all…

Page 36: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

The process above XP

•  Out of scope for this talk •  But at least as important

Page 37: Agile project management in Extreme Programming projects · hours days weeks months g se p n. Iterations ... Summary • Agile is spreading quickly – grounded on known-effective

References •  Planning Extreme Programming

Kent Beck, Martin Fowler Addison-Wesley

•  Extremeprogramming.org One of many now, but a good first start with some details.

•  Johanna Rothman (jrothman.com) Author, speaker, consultant. Cool ideas on project management,

appreciation of agile methodologies.

•  Atomic Object (atomicobject.com) These notes, extended talk on XP