Augustana University College

COMPUTING SCIENCE 220
Software Engineering and Human-Computer Interfaces


Extreme Programming



Assumptions

It is commonly assumed (and was taught in this course) that the cost of changing software rises exponentially over time.

If the cost of change curve could be flattened, then other conventional assumptions about the best way to develop software would no longer hold.

There are technologies and practices that make software easier to change later in the development process:

A Metaphor

Learning to drive:

Driving is not about getting the car going in the right direction. Driving is about constantly paying attention, making a little correction this way, a little correction that way.

Four Values

The four values support each other. They are embodied in concrete ways in the practices of XP.

Basic Principles

Activities

We need to provide a structure to support the following basic activities:

The Twelve Practices

"The practices support each other. The weakness of one is covered by the strengths of others."

Managing XP

Some additional principles that relate to managing an XP project:

The manager's tasks and roles:

References

Books

This lecture is an outline and summary of the first few chapters of the most important resource on XP:

. Extreme Programming Explained: Embrace Change by Kent Beck (Addison Wesley, 2000) QA 76.76 D47 B434

Some other books in the XP series (all from Addison Wesley):

. Planning Extreme Programming by Kent Beck and Martin Fowler

. Extreme Programming Installed by Ron Jeffries, Ann Anderson, and Chet Hendrickson (Addison-Wesley, c2001) QA 76.76 D47 J44 2001

. Extreme Programming Examined by Giancarlo Succi and Michele Marchesi

. Extreme Programming Explored by William C. Wake

The essential book on a practice related to XP is:

. Refactoring by Martin Fowler (Addison-Wesley, 1999) QA 76.76 R42 F69 1999

Web Resources

. Extreme Programming: A gentle introduction.

. The Rules and Practices of Extreme Programming.

Copyright © 2003 Jonathan Mohr