You are on page 1of 47

eXtreme Programming & Scrum Practices

Embrace Change Naresh Jain naresh@agilefaqs.com


Licensed Under Creative Commons by Naresh Jain
1

Agile Paradigm

Licensed Under Creative Commons by Naresh Jain


2

Agile Paradigm

Software cannot just be Engineered

Licensed Under Creative Commons by Naresh Jain


2

Agile Paradigm

Software cannot just be Engineered Its a craft!

Licensed Under Creative Commons by Naresh Jain


2

Agile Umbrella
Agile

XP DSDM Adaptive Crystal Pragmatic Lean FDD

Scrum

Licensed Under Creative Commons by Naresh Jain


3

XP Values

Licensed Under Creative Commons by Naresh Jain


4

XP Values
Communication

Licensed Under Creative Commons by Naresh Jain


4

XP Values
Communication Feedback

Licensed Under Creative Commons by Naresh Jain


4

XP Values
Communication Feedback Simplicity

Licensed Under Creative Commons by Naresh Jain


4

XP Values
Communication Feedback Simplicity Courage

Licensed Under Creative Commons by Naresh Jain


4

XP Values
Communication Feedback Simplicity Courage Respect
Licensed Under Creative Commons by Naresh Jain
4

A typical XP Project

Licensed Under Creative Commons by Naresh Jain


5

A typical XP Project
Project 1 year

Licensed Under Creative Commons by Naresh Jain


5

A typical XP Project
Project Releases 1 year 3 months

Licensed Under Creative Commons by Naresh Jain


5

A typical XP Project
Project Releases Iterations 1 year 3 months 2 weeks

Licensed Under Creative Commons by Naresh Jain


5

A typical XP Project
Project Releases Iterations Days 1 year 3 months 2 weeks 1 day

Licensed Under Creative Commons by Naresh Jain


5

A typical XP Project
Project Releases Iterations Days 1 year 3 months 2 weeks 1 day

Tasks

2 hrs

Licensed Under Creative Commons by Naresh Jain


5

A typical XP Project
Project Releases Iterations Days 1 year 3 months 2 weeks 1 day

Tasks

2 hrs

Test-Code-Refactor Cycles

15 min

Licensed Under Creative Commons by Naresh Jain


5

Stories are fundamental unit of activity

Licensed Under Creative Commons by Naresh Jain


6

Stories are fundamental unit of activity


Initial Story List

As a ____, I want to be able to ____ so that ____

Might have an initial estimate (perhaps for both analysis and development), and an expression of technical and business confidence that this is real and achievable

Licensed Under Creative Commons by Naresh Jain


6

Stories are fundamental unit of activity


Initial Story List

Release planning As a ____, I want to be able to ____ so that ____

Might have an initial estimate (perhaps for both analysis and development), and an expression of technical and business confidence that this is real and achievable

Licensed Under Creative Commons by Naresh Jain


6

Stories are fundamental unit of activity


Initial Story List Release Story List

Release planning As a ____, I want to be able to ____ so that ____ As a ____, I want to be able to ____ so that ____ I will know this is done when _______ More detailed estimate, and a specific acceptance test low confidence stories might be spiked or prototyped

Might have an initial estimate (perhaps for both analysis and development), and an expression of technical and business confidence that this is real and achievable

Licensed Under Creative Commons by Naresh Jain


6

Stories are fundamental unit of activity


Initial Story List Release Story List

Release planning As a ____, I want to be able to ____ so that ____

Iteration planning

As a ____, I want to be able to ____ so that ____ I will know this is done when _______

Might have an initial estimate (perhaps for both analysis and development), and an expression of technical and business confidence that this is real and achievable

More detailed estimate, and a specific acceptance test low confidence stories might be spiked or prototyped

Licensed Under Creative Commons by Naresh Jain


6

Stories are fundamental unit of activity


Initial Story List Release Story List Iteration Story List

Release planning As a ____, I want to be able to ____ so that ____

Iteration planning As a ____, I want to be able to ____ so that ____ I will know this is done when _______ To do this I must: 1) _____ 2) _____

As a ____, I want to be able to ____ so that ____ I will know this is done when _______

Possible automation of the acceptance test

Might have an initial estimate (perhaps for both analysis and development), and an expression of technical and business confidence that this is real and achievable

More detailed estimate, and a specific acceptance test low confidence stories might be spiked or prototyped

Development team breaks out the detail of work needed to pass test

Licensed Under Creative Commons by Naresh Jain


6

XP Practices

Licensed Under Creative Commons by Naresh Jain


7

XP Practices
Planning Game Small Releases Stories

Planning

Licensed Under Creative Commons by Naresh Jain


7

XP Practices

Simple Design

Designing

Refactoring

Metaphor

Licensed Under Creative Commons by Naresh Jain


7

XP Practices

Coding

Pair Programming

Continuous Integration

Onsite Customer

Licensed Under Creative Commons by Naresh Jain


7

XP Practices

Testing

Test First Acceptance Tests Automation

Licensed Under Creative Commons by Naresh Jain


7

XP Practices
Informative Workspace Collective Ownership Coding Standards Sustainable Pace

Team

Licensed Under Creative Commons by Naresh Jain


7

XP Practices
Planning Game Small Releases Stories Informative Workspace Collective Ownership Coding Standards Sustainable Pace

Incremental Design

XP Practices

Test First Acceptance Tests Automation Onsite Customer

Refactoring

Metaphor

Pair Programming

Continuous Integration

Licensed Under Creative Commons by Naresh Jain


8

XP - Concluding Thoughts
Very good at accommodating change Has really strong Engineering practices Greatly improves Quality Eliminates a lot of waste from the process Very heavy focus on KISS and YAGNI Automation is the key Brings back the power into the developers hand

Licensed Under Creative Commons by Naresh Jain


9

Scrum

Licensed Under Creative Commons by Naresh Jain


10

Controlled Chaos
Scrum emphasizes on project management De-emphasis command-and-control management approach There is a strong emphasis on monitoring (features delivered) and adjusting according to the results The aim is to nd a balance between allowing the business to change their mind and the development team to be able to get work done on a stable scope

Licensed Under Creative Commons by Naresh Jain


11

Scrum Values
Commitment. Be willing to commit to a goal. Scrum provides people all the authority they need to meet their commitments Focus. Do your job. Focus all of your efforts and skills on doing the work that you have committed to doing. Dont worry about anything else Openness. Scrum keeps everything about a project visible to everyone Respect. Individuals are shaped by their background and their experience. It is important to respect the different people who comprise a team. Courage. Have the courage to commit, to act, to be open and to expect respect
Licensed Under Creative Commons by Naresh Jain
12

Scrum in a Nutshell

Licensed Under Creative Commons by Naresh Jain

Courtesy of Ken Schwaber 13

Scrum Terminologies

Licensed Under Creative Commons by Naresh Jain


14

Scrum Terminologies
Sprint

Licensed Under Creative Commons by Naresh Jain


14

Scrum Terminologies
Sprint Scrum Master

Licensed Under Creative Commons by Naresh Jain


14

Scrum Terminologies
Sprint Scrum Master Product and Sprint Backlog

Licensed Under Creative Commons by Naresh Jain


14

Scrum Terminologies
Sprint Scrum Master Product and Sprint Backlog Product Owner

Licensed Under Creative Commons by Naresh Jain


14

Scrum Terminologies
Sprint Scrum Master Product and Sprint Backlog Product Owner Scrum Teams

Licensed Under Creative Commons by Naresh Jain


14

Scrum Terminologies
Sprint Scrum Master Product and Sprint Backlog Product Owner Scrum Teams Daily Scrum Meetings

Licensed Under Creative Commons by Naresh Jain


14

Scrum Terminologies
Sprint Scrum Master Product and Sprint Backlog Product Owner Scrum Teams Daily Scrum Meetings Sprint Planning Meetings

Licensed Under Creative Commons by Naresh Jain


14

Scrum Terminologies
Sprint Scrum Master Product and Sprint Backlog Product Owner Scrum Teams Daily Scrum Meetings Sprint Planning Meetings Sprint Review
Licensed Under Creative Commons by Naresh Jain
14

Scrum Terminologies
Sprint Scrum Master Product and Sprint Backlog Product Owner Scrum Teams Daily Scrum Meetings Sprint Planning Meetings Sprint Review
Licensed Under Creative Commons by Naresh Jain
14

Thank You!

Questions?

Licensed Under Creative Commons by Naresh Jain


15

You might also like