Course Title
5.3 Extreme Programming – Simplicity with a scent of quality assurance
A methodology to improve responsiveness and software quality in a changing environment (of the client's scope). Enforces frequent releases of short iterations. Introducing checkpoints where client interaction is provided.
Created by Kent Beck, working on a Chrysler payroll system
-
Sets software development „best practices” to an „extreme level”
-
Emphasis on verbal communication, on-site customer activity, strong technical practices
Principles
-
Improve software quality
-
Enhance responsiveness for changing requirements
-
Release frequently
-
Improve productivity on regular checkpoints with the costumers
-
Do pair programming
Rules
- Customer works closely with team to define and prioritize granular Stories
- Team estimates, plans and delivers the highest priority stories in form of a working software based on an iteration basis
-
- Team uses quality assurance methods, pair programming, continuous integration, multiple forms of testing to achieve that
Figure 5.4: Summary of XP principles