Extreme Programming
Practices
About Me
• Kapil Raj Nakhwa Shrestha
• Co-founder of Jyaasa Technologies Pvt ltd.
• 9 years experience working with Ruby and Ruby and rails
• kapil@jyaasa.com
Origins
•March 6th, 1996,
Chrysler
Comprehensive
Compensation System
( C3) .
•Kent Beck
Kent Beck when he was young ( Not me )
• Instead of delivering everything you could possible want
on some date in future, Xp delivers the software as you
want it.
• Simple yet effective environment for enabling teams to
become highly productive.
• Improves the way we develop software in 5 key aspects.
Xp Project
Heartbeat
Type to enter a caption.
XP values
• Communication
• Simplicity
• Feedback
• Respect
• Courage
Xp Rules ( Practices)
• Planning
• Managing
• Designing
• Coding
• Testing
Planning
• User Stories
• Release Plan
• Iteration Plan
Planning
Managing
• Sustainable Pace
• Daily Stand up
• Measure Project Velocity
• Move people around
• Fix Xp when It breaks
Designing
• Simplicity ( TUBE )
• Choose a system metaphor
• CRC cards for system design
• Use Spike to reduce risk
• YAGNI
• Refactor Mercilessly
Coding
• Customer is always available
• Write code to agreed standard
• Write unit tests first
• Pair Program
• Sequential Integration
• Collective Ownership
Customer is always available
Testing
• All code must have unit tests
• All tests must pass before production
• When bug is found , Create a test
• Acceptance tests are run often and metrics provided to the
team.
XP FlowChart
Iteration FlowChart
FeedBack Loops in XP
The paradox of a process
If you do not use your process, It will not help
you. If your process does not help you, You
would not use it.
Want to discuss more on
XP?
• kapil@jyaasa.com
• twitter: xecutioner303

Extreme programming practices ( xp )