XP – eXtreme Programming

Download Report

Transcript XP – eXtreme Programming

XP – eXtreme Programming
A gentle introduction.
Cleviton Vinícius
Jobson Ronan
Thiago Rodrigues
Objective

The goal of this presentation is to
provide an introduction and overview
of Extreme Programming (XP).
The XP Philosopher


In the early 1990s a man
named Kent Beck was
thinking about better ways
to develop software.
In March of 1996 started a
project at DaimlerChrysler
using new concepts in
software development
The XP Philosophy
You need to improve communication
 You need to seek simplicity
 You need to get feedback on how
well you are doing
 And you need to always proceed with
courage

What is Extreme Programming?

Extreme Programming (XP) is actually a
deliberate and disciplined approach to
software development
 This methodology also emphasizes team
work
 Managers, customers, and developers are
all part of a team dedicated to delivering
quality software
MORE INFORMATION...
http://www.extremeprogramming.org/what.html
Four dimensions

XP is successful because it stresses
customer satisfaction.
 XP improves a software project in four
essential ways:
•
•
•
•
Communication
Simplicity
Feedback
Courage
When should Extreme
Programming be Used?
Extreme Programming (XP) was
created in response to problem
domains whose requirements
change.
 XP was also set up to address the
problems of project risk.
 XP is set up for small groups of
programmers

When should Extreme
Programming be Used?

The real goal has always been to
deliver the software that is needed
when it is needed.

Environments dynamically changing
The Rules and Practices
of Extreme Programming.
Planning
 Coding
 Designing
 Testing

MORE INFORMATION...
http://www.extremeprogramming.org/rules.html
Planning
User stories are written
 Release planning meeting creates
the schedule
 Make frequent small releases
 Move people around

Planning

The project is divided into iterations
Planning

The iteration planning starts each
iteration
Designing
Simplicity
 Choose a system metaphor
 Never add functionality early
 Refactor whenever and wherever
possible.

Coding
The Customer is Always Available
 Coding Standards
 Pair Programming
 Integrate Often

Coding

Use Coletive Code ownership
Coding

Code the Unit Test First
- Easier to create your code
- just the requirements
*Some software systems are typically
building code first and testing second
Testing
All code must have unit tests
 All code must pass all unit tests
before it can be released
 When a bug is found tests are
created
 Acceptance tests

What We Have Learned
About Extreme Programming








Release Planning
Simplicity
System Metaphor
Pair Programming
Integrate Often
Optimize Last
Unit Tests
Acceptance Tests
What We Have Learned About
Extreme Programming