an introduction to xp and agile
Post on 17-Oct-2014
5.554 Views
Preview:
DESCRIPTION
TRANSCRIPT
An Introduction to XP and Agile
Jason Yip, jcyip@thoughtworks.com
http://www.thoughtworks.com
We only have one opportunity to decide, so we ask for
everything… and we waste time building what we don’t actually
need
Software is too damned hard to spend time on things that don't matter. So, starting over from scratch, what are we absolutely certain matters?…Listening, Testing, Coding, Designing. That's all there is to software. Anyone who tells you different is selling something.
Kent Beck, http://www.c2.com/cgi/wiki?ExtremeProgramming
User Stories
• AS an Agile team member, I WANT a way to have self-contained small units of work SO THAT I can focus on one thing at a time, show visible progress earlier, and allow for negotiation
Card, Conversation, Confirmation
• Card – index card; physical token used for visual planning and tracking
• Conversation – primary medium of communication supplemented as necessary with documentation
• Confirmation – Examples that indicate when story is complete; turned into automated tests
http://www.xprogramming.com/xpmag/expCardConversationConfirmation.htm
Small Releases
http://www.slideshare.net/cching/rocks-into-gold-by-clarke-ching-presentation
Mistake proofing
1. Eliminate – Don’t build it – YAGNI2. Replace – Use a reliable library3. Prevent by design4. Facilitate – Only use the useful
features, ignore the rest5. Detect as early as possible – TDD,
CI, pair programming6. Mitigate – Make sure problems
don’t cascade; error-handling
Test-driven Development
1. Think2. Red3. Green4. Refactor5. Repeat
http://jamesshore.com/Blog/Red-Green-Refactor.html
People: Whole Team
http://www.think-box.co.uk/blog/2007/11/theres-hole-in-your-side-of-boat.html
Problem Solving: Daily Standups
• What did I accomplish yesterday?• What will I do today?• What obstacles are impeding my
progress?
http://martinfowler.com/articles/itsNotJustStandingUp.html
Problem Solving: Retrospectives
• What did we do well, that if we don’t discuss we might forget?
• What did we learn?• What should we do differently next
time?• What still puzzles us?
http://www.retrospectives.com/
Problem Solving: Spikes over speculation
"What is the simplest thing we can program that will convince us we are on the right track?“
Ward Cunningham
http://c2.com/xp/SpikeSolution.html
This is the evolution of what we’ve learned over decades
“Although many view iterative and incremental development as a modern practice, its application dates as far back as the mid-1950s.”
Craig Larman and Victor R. Basili
http://www.cs.umd.edu/~basili/publications/journals/J90.pdf
For some more conventional introductions…
• http://www.extremeprogramming.org
• http://www.xprogramming.com/xpmag/whatisxp.htm
• http://www.agilemanifesto.org/• http://www.poppendieck.com/
top related