Extreme Programming
Computerworld - Oftentimes, the little things can make the biggest difference. Consider some of the tenets of a new programming approach: keep the code simple, review it frequently, test early and often, and work a 40-hour week.
Programmer Kent Beck developed extreme programming (XP) while serving as project leader on Chrysler Comprehensive Compensation (C3), a long-term project to rewrite Chrysler Corp.'s payroll application. Beck then spelled out the development methodology in a book titled Extreme Programming Explained: Embrace Change (Addison-Wesley, 1999).
![]()
![]()
XPs 12 Core Practices
1
Customers define application features with user stories.
2
XP teams put small code releases into production early.
3
XP teams use a common system of names and descriptions.
4
Teams emphasize simply-written, object-oriented code that meets requirements.
5
Designers write automated unit tests upfront and run them throughout the project.
6
XP teams frequently revise and edit the overall code design, a process called refactoring.
7
Programmers work side by side in pairs, continually seeing and discussing each others code.
8
All programmers have collective ownership of the code and the ability to change it.
9
XP teams integrate code and release it to a repository every few hours and in no case hold on to it longer than a day.
10
Programmers work only 40 hours per week; theres no overtime.
11
A customer representative remains on-site throughout the development project.
12
Programmers must follow a common coding standard so all the code in the system looks as if it was written by a single individual.
![]()
According to Beck, XP is a lightweight methodology, meaning that it dispenses with much of the usual application development process, such as lengthy requirements definition and extensive documentation, and that it emphasizes keeping development teams small and the code simple.
Instead of creating large functional-requirements documents, an XP project begins by having the end users of the software create user stories describing what the new applications need to do. Functional testing of requirements is done before any coding begins, and automated testing of the code is done throughout the project. "Refactoring"the frequent streamlining of design and improving of codeis also a core doctrine.



- Excel 2010 Cheat Sheet
- Register for this Computerworld Insider Cheat Sheet and gain access to hundreds of premium content articles, guides, product reviews and more.
- The Keys to Distributed & Agile Application Development
- How leading firms are winning with strategies for efficient application development, without relying on co-location.
- Overcome Top 7 Admin Challenges of Active Directory
- As Active Directory's role in the enterprise has drastically increased, so has the need to secure the data. Gain insight on creating repeatable,...
- Insiders Can Ruin Your Company. Take Action.
- Did you know that 80 percent of threats to an organization come from the inside? The threat from insiders is often overlooked in...
- Top Solutions and Tools to Prevent Devastating Malware
- Custom malware frequently goes undetected. According to Forrester Research, the best way to reduce risk of breach is to deploy file integrity monitoring...
- Streamline Compliance and Increase ROI
- Streamline, simplify, and automate compliance related activities; especially those that impact multiple business units. This white paper from NetIQ, outlines solutions that will... All App Development White Papers
- Reduced TCO for Communications Applications with New Oracle SPARC Servers
- In this webcast learn how Oracle's new SPARC T4 servers and SPARC Supercluster deliver the security, performance, and scalability required for 4G network...
- Optimizing Networks for the Cloud
- Join guest speaker, Rohit Mehra, IDC Director of Enterprise Communications Infrastructure, to explore current trends, discuss best practices for optimizing Data Center and...
- Apps QuickStart Series Part 2: Designing and Deploying SQL Server on VMware vSphere
- Download this webcast to learn about the design considerations for virtualizing SQL workloads, performance and scalability information and high-availability options, as well as...
- Apps QuickStart Series Part 1: Designing and Deploying Exchange 2010 on VMware vSphere
- Download this webcast to learn the virtual hardware design considerations for Exchange 2010, deployment using the building block approach, options for high-availability and...
- Customer Spotlight: How IPC The Hospitalist Company Implemented Oracle on VMware
- Have you been looking to hear about customer's experiences with the new VMware vCenter Site Recovery Manager product? View this webcast to learn... All App Development Webcasts