1. Essentialize XP practices
Ques :- XP is an agile way of development, mainly focus on 12 development practices.
You may read mode on XP process in https://ronjeffries.com/xprog/what-is-extreme-
programming/ and https://tinyurl.com/y3gfahj9.
Your task is to essentialized these practices. Categorically, you need to represent the XP
methods in terms of Alpha, Alpha States, Activity, Grouping of Activity, Composite
everything together with all the relationships between Alphas, Activities, and others.
By:- Nivedit Jain
Collaborator:- Muskan Bathla
2. Note : These Slides were made after deadline was extended till 13th
April.
(submission on 10th April is also uploaded)
3. Alphas
Following alphas were identifies, as they were the essential practices to
keep a track of
1. Release Planning
2. Iteration Planning
3. Iteration
4. Release Planning
The process of initial planning that
how a system must look like, with the
whole team to identify the
opportunities and to make decision
on working with client.
Analysed
Accepted
Requirements Programmed
Functionality Tested
Related to: Opportunity (from Kernel)
Desired Feature Presented
Release Planning Alpha Card
It is a essential thing to follow as it a form of initial
contact with a customer.
Alpha States Identified –
• Desired Features Presented – Initially Customer
Presents the desired features of the project to the
whole team.
• Analysed – Team analyse the difficulty of the project
and based on it propose the customer.
• Accepted – Customer accepts the proposal to start
the project.
5. Release Planning Alpha State Cards (1/3)
Release Planning
Desired Feature Presented
Meeting with customer
scheduled
Customer presented desired
features
Desired features recorded
1/3
7. Release Planning Alpha State Cards (3/3)
Release Planning
Accepted
3/3
Customer received the
analysis
Customer accepts to start
working
Initial plans received from
customer
8. Iteration Planning Alpha Card
It is a essential thing to follow as it lays foundation for
iteration, which is the basic of extreme programming.
Alpha States Identified –
• Work Reviewed – After the previous iteration work
was send to customer for feedback, this state is
about its review.
• Improved Design – Improvements in design of
previous iteration were planned
• Requirements analysed – Required Collected from
customer and analysed.
Iteration Planning
Iteration planning deals with
what to be done in the next 2
weeks iteration, also
considering work of previous
iteration.
Work reviewed
Improve Design
Requirements Analysed
Finalized
Related to: Requirements (from Kernel)
9. Iteration Planning Alpha State Cards (1/3)
Iteration Planning
Reviews about the releases of
previous iteration received.
Sent to whole team
1/3
Work reviewed
10. Iteration Planning Alpha State Cards (2/3)
Iteration Planning
2/3
Improve Design
Reviews from Customer
planned to be incorporated.
Design Improvements
planned for the upcoming
iteration.
11. Iteration Planning Alpha State Cards (3/3)
Iteration Planning
3/3
Requirements Collected
Customer presented features
for next 2 weeks
Features broken down into
tasks.
Cost estimated
Release Plan updated
12. Release Planning Alpha Card
It is a essential thing to follow as it a form of initial
contact with a customer.
Alpha States Identified –
• Designed – New features designed how to
implement and who to assign.
• Implemented –New features implemented by team.
• Tested – New features tested.
• Released – Small releases are released for review.
Implemented
Tested
A focused 2 week long cycle to
implement the system feature
given by the customer.
Designed
Iteration
Related to: Work (from kernel)
Released
13. Iteration Alpha State Cards (1/4)
Programming Task
Designed
Requirements finalized
Feature Designed
Assigned for pair
programming.
1/4
14. Iteration Alpha State Cards (2/4)
Programming Task
Implemented
Customer story
implemented.
2/4
15. Iteration Alpha State Cards (3/4)
Programming Task
Tested
Programmer Tests written
Customer Tests written
Automatic Testing scripts
written.
Code fixed for failed tested.
Tested
3/4
16. Iteration Alpha State Cards (4/4)
Programming Task
Released
Feature Released
Sent to customer review
Update Release Plans
4/4
18. Capture Requirements
Requirements from users are
collected by team.
Iteration Planning : Requirements
Collected
Iteration Planning : Improve Design
Understand the Requirements
Analysis
To analyse the cost and time for
development
Iteration Planning : Requirements
Release Plan Updated
Iteration Planning : Requirements
Collected
Understand the Requirements
Analysis DevelopmentManagement
19. Pair Programming
2 programmers work in a team to
complete the features requested.
Iteration : Implemented
Iteration : Designed
Implement the System
Development
Testing
To write test (customer and
programmer) and automating
testing.
Test the System
Analysis DevelopmentTeam Work
Code Tests Test Scripts
Iteration : Implemented
Iteration : Tested
20. Small Releases
A small release is made after each
iteration.
Iteration : Released
Iteration : Tested
Deploy the System
Deployment
Design
Improvement
After feedback improve the design.
Shape the System
Development Designing
Releases
Iteration : Designed
Iteration : Designing (completed)
24. Initial Release Plans
Modified Release Plans
Final Release Plans
Describes: Release Planning
Contains description on how final
product should look like. It is
updated after and before each
iteration.
Release Plans
Initial Releases Plans : Initial Release plans are
available after Release planning
Modified Release Plans : Release plans are
modified after and before each iteration
Final Release Plans : These release plans are
available after the last iteration as release plans
are changed very quickly in each iteration.
25. Programmer Tests
Customer Tests
Describes: Iteration
Tests cases are written to ensure
system is running as a part of test
driven development.
Tests
Programmer Tests : Tests written by a
programmer for the system
Customer Tests : Tests written, for a customer
feature
27. Pseudo Coded
Final Coded
Describes: Iteration
Working code of the system being
developed
Code
Pseudo Coded : Pseudo Code written
Final Coded : Pseudo code converted to final
working code.
31. All members of extreme
programming team, behaves as
one unit, includes customer also.
Whole Team
32. Describes a common vision of
what the system must do can also
be a poetic statement.
Metaphor
33. Competencies
• Sustainable Pace, because it requires individual qualities to be
dedicated to a team, can also be made a pattern.
34. To be a part of extreme
programming team one must
develop sustainable pace, each
member should be devoted
Sustainable Pace
Not Devoted
Highly Productive
Overtime Ready
Devoted
1
2
3
4
35. Whole Team
Coding
Standards
Metaphor
Opportunity
(from kernel)
Requirements
(from kernel)
Work
(from kernel)
Software System
(from kernel)
Release
Planning
Described by
Produces
Comprises
includes
Iteration
Planning
Described by
uses
Iteration
Described by
Planned by
Described by
Code
Produces
Produces
Produces
Produces
uses
Releases
Test
Scripts
Tests