An Introduction to XP and Agile
- 1. An Introduction to XP and Agile Jason Yip, [email_address] http:// www.thoughtworks.com
- 3. Software takes too long , costs too much , and requires too many people
- 4. The plan is fantasy… and we don’t learn this until it’s too late
- 7. We only have one opportunity to decide, so we ask for everything… and we waste time building what we don’t actually need
- 22. 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
- 24. 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
- 25. 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
- 29. Mistake proofing Eliminate – Don’t build it – YAGNI Replace – Use a reliable library Prevent by design Facilitate – Only use the useful features, ignore the rest Detect as early as possible – TDD, CI, pair programming Mitigate – Make sure problems don’t cascade; error-handling
- 34. People: Whole Team http://www.think-box.co.uk/blog/2007/11/theres-hole-in-your-side-of-boat.html
- 36. 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
- 37. 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 /
- 38. 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
- 40. 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
- 42. For some more conventional introductions… http://www.extremeprogramming.org http://www.xprogramming.com/xpmag/whatisxp.htm http://www.agilemanifesto.org/ http:// www.poppendieck.com /