Extreme programming overview Agenda Extreme programming goals Extreme programming values Extreme programming practices The Extreme programming team The Extreme programmer
Extreme programming goals
Extreme programming Values Values Communication Simplicity Feedback Courage Respect
Planning approach of XP Principles Humanity Economics Mutual benefit Continuous Improvement/Reflection Diversity Flow Redundancy Opportunity/Failure Quality Small steps Accepted responsibility
XP Practices - Primary Sit together Whole team (cross functional team) Informative workspace Energized work Pair programming Stories Weekly cycle Quarterly cycle Slack quick build Continuous integration Test first programming, Incremental design
XP Practices - Secondary Real customer involvement Incremental deployment Team continuity Root Cause analysis Shared code Remove extra documentation – tests should be the documentation Single code base Negotiated scope contract
The Extreme programming team Testers Instead of manual testing, they write automated test programs Architects Apply design incrementally, look for design refactoring opportunities; but also implement stories just like other programmers Project Manager Handles the outside world; packages the team's achievements for the world; keeps a view of the big picture
The extreme programming team Product Manager Sometimes referred to as the customer. Chooses features to implement. Programmers Estimate stories, break stories into tasks, write tests, implement the code and continuously improve it.
The extreme programmer Very passionate about programming Likes to communicate Very good understanding of design, design patterns