Session - 11: Extreme Programming
Session - 11: Extreme Programming
Session - 11: Extreme Programming
Extreme Programming
1
Extreme Programming
2
Extreme Programming
XP founded on four values:
communication, simplicity, feedback, and courage.
In addition to IID, it recommends 12 core practices:
3
Extreme Programming (XP)
Model
• XP Planning
– Begins with the creation of “user stories”
– Agile team assesses each story and assigns a cost
– Stories are grouped to for a deliverable increment
– A commitment is made on delivery date
– After the first increment “project velocity” is used
to help define subsequent delivery dates for other
increments
4
Extreme Programming (XP)
XP Design
– Follows the KISS(Keep it Simple, Stupid) principle
– Encourage the use of CRC cards (Class Responsibility
Collaboration)
– For difficult design problems, suggests the creation of
“spike solutions”—a design prototype( A Working Model)
– Encourages “refactoring”—an iterative refinement of the
internal program design
XP Coding
– Recommends the construction of a unit test for a store
before coding commences
– Encourages “pair programming”
XP Testing
– All unit tests are executed daily
– “Acceptance tests” are defined by the customer and
executed to assess customer visible functionality
5
Extreme Programming (XP)
spike solut ions
simple design
prot ot ypes
CRC cards
user st ories
values
accept ance t est crit eria
it erat ion plan
pair
programming
Release
sof t w are increment
unit t est
proj ect v elocit y comput ed cont inuous int egrat ion
6
Extreme Programming (XP)
7
Extreme Programming (XP)
Method Overview
8
Extreme Programming (XP)
Method Overview
9
Work products Roles and Practices
Work Products (Non Software):
-Requirements – Story Cards
-Design- CRC Cards, Sketches
-Project Management- Task list, Visible graphs
Roles: Practices:
-Costumer -Requirements
-Development -Design
-Management -Implementation
-Other -Test and Verification
-Project Management
-Configuration & Change management
environment 10
Questions
1. List out Core practices in Extreme
Programming.
2. Explain Extreme programming Life cycle.
3. Illustrate XP Work products Roles and
Practices for safe home application.
4. Write extreme programming advantages and
disadvantages?
5. How User requirements are expressed in
Extreme Programming.
11