Extreme Programming (XP)

Extreme Programming

Background

Goals

High Quality

Reduced Cost of Change

Principles

Embrace Change

Assume Simplicity

Activities

Listening

Designing

Coding

Testing

Values

Simplicity

We will do what is needed and asked for, but no more. This will maximize the value created for the investment made to date. We will take small simple steps to our goal and mitigate failures as they happen. We will create something we are proud of and maintain it long term for reasonable costs.

Communication

Everyone is part of the team and we communicate face to face daily. We will work together on everything from requirements to code. We will create the best solution to our problem that we can together.

Feedback

We will take every iteration commitment seriously by delivering working software. We demonstrate our software early and often then listen carefully and make any changes needed. We will talk about the project and adapt our process to it, not the other way around.

Respect

Everyone gives and feels the respect they deserve as a valued team member. Everyone contributes value even if it’s simply enthusiasm. Developers respect the expertise of the customers and vice versa. Management respects our right to accept responsibility and receive authority over our own work.

Courage

We will tell the truth about progress and estimates. We don’t document excuses for failure because we plan to succeed. We don’t fear anything because no one ever works alone. We will adapt to changes when ever they happen.

Practices

Primary

Team Environment

Sit Together
Whole Team
Informative

People

Energised
Paired

Planning

Stories
Cycles
Weekly
Quarterly
Slack

Integration

10 Minute Build
Continuous

Design

Test First
Incremental

Corollary

Customers

Real Involvement
Negotiated Scope
Pay Per Use

Deployment

Incremental
Daily

Team

Continuity
Shrinking

Code

Shared
Include Tests
Single
By