130 likes | 418 Views
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.
E N D
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 • Coding • Testing • Listening • Designing • only truly important product of the system development process • Unit Tests and Acceptance tests. • Must listen to what the customers need the system to do • Good design will avoid lots of dependencies within a system
5 Values • Communication • Simplicity • Feedback • Courage • Respect (added in 2004)
Rulesand 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 • http://xprogramming.com/book/whatisxp/ • http://www.extremeprogramming.org/ • http://en.wikipedia.org/wiki/Extreme_programming