extreme programming: a practitioner's approach
DESCRIPTION
The slides for our presentation at BarCamp Saigon on 15th Nov 2008. For more information, please visit http://eastagile.com.TRANSCRIPT
eXtreme Programming
A Practitioner's Approach
OutlineXP Overview
XP Values
XP Practices
XP FAQs
Demo
Q & A
XP OverviewWhat is XP?
Nothing to do with Windows XP A software engineering methodology (a form of agile software development) prescribing a set of practices (aka XP best practices).A discipline of software development based on values of simplicity, communication, feedback, courage, and respect (Jeffries, 2001).A development process that is more responsive to customer needs ("agile") than traditional methods, while creating software of better quality (Wikipedia, 2008).
How to apply XP?
5 values12 best practices
XP ValuesCommunication
Customer - DeveloperDeveloper - Developer
SimplicityStart with the simplest solution.Extra functionality can then be added later.
FeedbackFrom the systemFrom the customerFrom the team
CourageRefactoringPersistence
RespectRespect other team members' work
XP PracticesThe Planning Game:
Release PlanningIteration Planning
Pivotal Tracker as XP Management Tool
XP Practices
Stand-up meeting
XP PracticesContinuous Testing
Unit / Functional tests applying Test Driven Development
XP PracticesContinuous Testing
GUI test with Selenium
XP PracticesContinuous Testing
Acceptance Test by customer
XP PracticesPair Programming
Working environment
XP PracticesPair Programming
Working in pair ...
XP PracticesPair Programming
... and active participation
XP PracticesOnsite Customer
Communicate via phone ...
XP PracticesOnsite Customer
... via standard messenger software
XP PracticesOnsite Customer
... and web-based real-time group chat tool
XP PracticesSmall Release
System Metaphor
Simple Design
Refactoring
Collective Code Ownership
Continuous Integration
40-Hours Work Week
Coding Standards
XP FAQs
How big a project will XP work with?
Won't pair programming cut productivity in half?
Isn't it annoying having someone looking over your shoulder while you program?
Why just pair programming? Why not 3 or 4 or 100 programmers?
Demo
Pivotal Tracker: project management tool
Test Driven Development
Refactoring
Pair Programming
Ruby on Rails
ReferencesJeffries R., 2001, "XProgramming" . Available at: http://www.xprogramming.com/xpmag/whatisxp.htm [Accessed November 13th 2008]
Wikipedia, 2008, "Extreme Programming" . Available at: http://en.wikipedia.org/wiki/Extreme_Programming [Accessed November 13th 2008]
Brewer J., Design J., 2001, "Extreme Programming FAQ". Available at: http://www.jera.com/techinfo/xpfaq.html [Accessed November 13th 2008]
Wells D., 2006, "Extreme Rules" . Available at: http://www.extremeprogramming.org/rules.html [Accessed November 13th 2008]
Q & A
(Source: http://forpd.ucf.edu/strategies/QUESTION.jpg)