eXtreme Programming (XP) By: Alayna McBride Jason Young
Key People Kent Beck – creator of extreme programming Ward Cunningham – frequent collaborator of Beck Ron Jeffries – collaborator on developing XP; wrote Extreme Programming Installed Chrysler Comprehensive Compensation System
What is it? Extreme Programming is a discipline of software development based on values of: simplicity communication feedback Courage. Multiple short development cycles Described as: flexible, agile
What is it? (continued…) March 6, 1996 One of several popular Agile Processes Successful Intended to improve software quality and responsiveness
How it works! Stresses customer satisfaction – Instead of delivering everything at once – Delivers the software you need as you need it Extreme Programming EMPOWERS! – Allows developers to confidently respond to changing customer requirements
Goals Higher Quality, More Productively Reduce Cost of changes in requirements Introduces: basic values, principles practices on top of the agile programming framework. Anticipate problems Plan ahead.
4 Basic Activities 1.Coding 1.Testing 1.Listening 1.Designing 1.only truly important product of the system development process 2.Unit Tests and Acceptance tests. 3.Must listen to what the customers need the system to do 4.Good design will avoid lots of dependencies within a system
5 Values Communication Simplicity Feedback Courage Respect (added in 2004)
Rules and Principles 29 rules are given in the categories of planning, managing, designing, coding, and testing. Planning, managing and designing are called out explicitly to counter claims that XP doesn't support those activities. Principles are intended to foster decisions in a system development project. The principles are intended to be more concrete than the values and more easily translated to guidance in a practical situation.
Resources mming mming