Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
PM Powerhour presentation on XP
title date
PM Power Hour presentation
27 March 2018

XP

History

1996

  • Kent Beck
  • Chrysler Comprehensive Compensation System (i.e., payroll)

An experiment

  • Take agile and crank it to 11.
  • What if the customer were always available, always in the room.
  • What if we always were communicating F2F?
  • What if we reviewed each others' code constantly?
  • What if we tested everything? Not just systems, but even small parts of systems? What if we didn't write code unless a broken test requires it?

Agile intensified

Looks like Agile because it is Agile.

Values

  • Simplicity
  • Communication
  • Feedback
  • Respect
  • Courage

Rules

(Not necessarily going into all of these.)

Planning
  • User stories
  • Release planning creates the release schedule
  • Frequent, small releases
  • Iterations
  • Iteration planning
Managing
  • Open, dedicated workspace
  • Sustainable pace
  • Standups
  • Measure velocity
  • Move people around
  • When it breaks, fix XP
Designing
  • Simplicity
  • System metaphor
  • CRC cards (class-responsibilities-collaboration) to design system
  • Spike solutions
  • JIT functionality. Don't add early. YNGTNI.
  • Refactor aggressively
Coding
  • Customer always available
  • Code written to standards
  • Unit test first
  • Pair programming
  • One pair integrates at a time
  • Integrate often
  • Dedicated integration computer
  • Collective ownership
Testing
  • All code must be unit tested
  • All code must pass all unit tests
  • When bugs are found, create tests
  • Acceptance tests are run often and results broadcast

Pivotal

history

  • Formed 2012
  • Spun off from Dell EMC Corporation and VMWare
  • Well-known, respected consultancy
  • Produces a number of products that their consulting leverages
    • Pivotal Tracker
    • Cloud Foundry
    • Spring Boot

not monolithic

  • lots of opinions about everything, including testing
  • not dogmatic about languages, frameworks
  • not dogmatic about lots of weird things
    • adding new categories of work
  • very dogmatic about others
    • tracker

lots shared values

  • kindness
  • craftsmanship
  • doctors, not waiters
  • delivering value to clients

not shared

  • availability vs flow

XP, WT, Synchrony

How are we using it weirdly?

  • ramp-up time
  • team size
  • project time length
  • client

full stack

not about XP, per se, but...

about empowering developers/teams

balanced team

grounding

Pairing

in place of code review

experience

TDD

Mis-named. It's a design tool, not QA.

It's a code maintenance tool.

  • debugging
  • refactoring
  • maintenance

It's a documentation tool.

Oh, and it can augment with QA.

Small stories

simplicity

feedback

helps everything

YNGTNI

outcomes

outcomes are customers'

priorities

priorities are customers'

but which customer?

features

what features look like are taken from user studies/testing

takes "optimizing for learning" seriously

fact-based decision-making

A changing process

story-types story

Questions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment