XP And Scrum Practices

Naresh Jain
Naresh JainTech Startup Founder at ConfEngine
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
            It’s a craft!


       Licensed Under Creative Commons by Naresh Jain
                                                        2
Agile Umbrella
                               Agile




XP                                                                 Scrum
     DSDM                                                    FDD

        Adaptive                              Pragmatic

                    Crystal             Lean


            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                                                     1 year

Releases                                                    3 months




           Licensed Under Creative Commons by Naresh Jain

                                                                       5
A typical XP Project
 Project                                                       1 year

Releases                                                      3 months


Iterations                                                    2 weeks




             Licensed Under Creative Commons by Naresh Jain

                                                                         5
A typical XP Project
 Project                                                       1 year

Releases                                                      3 months


Iterations                                                    2 weeks


  Days                                                         1 day




             Licensed Under Creative Commons by Naresh Jain

                                                                         5
A typical XP Project
 Project                                                       1 year

Releases                                                      3 months


Iterations                                                    2 weeks


  Days                                                         1 day




 Tasks                                                         2 hrs




             Licensed Under Creative Commons by Naresh Jain

                                                                         5
A typical XP Project
    Project                                                          1 year

   Releases                                                         3 months


   Iterations                                                       2 weeks


     Days                                                            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                 As a ____, I
             want to be able              want to be able
             to ____ so that              to ____ so that
                  ____                         ____


                                         I will know this is
   Might have an initial                    done when
  estimate (perhaps for                       _______
    both analysis and
  development), and an
  expression of technical        More detailed
       and business             estimate, and a
  confidence that this is     specific acceptance
   real and achievable       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




                            Release planning             Iteration planning

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


                                         I will know this is
   Might have an initial                    done when
  estimate (perhaps for                       _______
    both analysis and
  development), and an
  expression of technical        More detailed
       and business             estimate, and a
  confidence that this is     specific acceptance
   real and achievable       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             Iteration planning

               As a ____, I                 As a ____, I                  As a ____, I
             want to be able              want to be able               want to be able
             to ____ so that              to ____ so that               to ____ so that          Possible
                  ____                         ____                          ____             automation of
                                                                                             the acceptance
                                         I will know this is           I will know this is         test
   Might have an initial                    done when                     done when
  estimate (perhaps for                       _______                       _______
    both analysis and                                                                         Development
  development), and an                                                                        team breaks
                                                                          To do this I
  expression of technical        More detailed                                                out the detail
                                                                               must:
       and business             estimate, and a                                              of work needed
                                                                         1)    _____
  confidence that this is     specific acceptance                                              to pass test
                                                                         2)    _____
   real and achievable       test – low confidence
                               stories might be
                            “spiked” or prototyped

                            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



                               Designing
Simple
Design



Refactoring



      Metaphor


                 Licensed Under Creative Commons by Naresh Jain
                                                                  7
XP Practices



                Coding




                                        Onsite
       Pair           Continuous       Customer
   Programming        Integration
Licensed Under Creative Commons by Naresh Jain
                                                  7
XP Practices



                                                  Test First
                Testing
                                                 Acceptance
                                                   Tests


                                                 Automation




Licensed Under Creative Commons by Naresh Jain
                                                               7
XP Practices
           Informative       Collective
           Workspace         Ownership            Coding
                                                 Standards


                                                    Sustainable
                                                       Pace



                 Team




Licensed Under Creative Commons by Naresh Jain
                                                                  7
XP Practices
               Planning         Informative      Collective
                Game            Workspace        Ownership            Coding
                                                                     Standards
    Small
   Releases
                                                                        Sustainable
                                                                           Pace
  Stories
                                     XP                                  Test First

Incremental                       Practices
  Design                                                                Acceptance
                                                                          Tests

 Refactoring
                                                                        Automation

                                                            Onsite
       Metaphor
                              Pair        Continuous       Customer
                          Programming     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 developer’s 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 find 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. Don’t 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




                                              Courtesy of Ken Schwaber
 Licensed Under Creative Commons by Naresh Jain
                                                                         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
1 of 47

Recommended

Agile OverviewAgile Overview
Agile OverviewNaresh Jain
8.7K views72 slides
Managing IterationsManaging Iterations
Managing IterationsNaresh Jain
5.8K views24 slides
Distributed AgileDistributed Agile
Distributed AgileNaresh Jain
8.4K views120 slides
Refactoring FestRefactoring Fest
Refactoring FestNaresh Jain
14.6K views38 slides

More Related Content

What's hot(19)

Offshore Agile MaintenanceOffshore Agile Maintenance
Offshore Agile Maintenance
Naresh Jain7.1K views
Pair ProgrammingPair Programming
Pair Programming
Naresh Jain12.5K views
Agile Is the New WaterfallAgile Is the New Waterfall
Agile Is the New Waterfall
Naresh Jain68.1K views
Agile MaintenanceAgile Maintenance
Agile Maintenance
Naresh Jain13.6K views
MVP HacksMVP Hacks
MVP Hacks
Naresh Jain7.6K views
Agile games night Agile games night
Agile games night
BestBrains1.1K views
D.mathieson agile software_development_using_scrumD.mathieson agile software_development_using_scrum
D.mathieson agile software_development_using_scrum
Ramkumar Sundarakalatharan370 views
Iss 05Iss 05
Iss 05
PMInstituteIndia788 views
Creating value using Agile Methods- Nanda LankalapalliCreating value using Agile Methods- Nanda Lankalapalli
Creating value using Agile Methods- Nanda Lankalapalli
India Scrum Enthusiasts Community469 views
Redistributable introtoscrumRedistributable introtoscrum
Redistributable introtoscrum
Nguyen Quang746 views
OSSCube - Zend WebinarOSSCube - Zend Webinar
OSSCube - Zend Webinar
OSSCube1.9K views
Ultimate agilisttokyoUltimate agilisttokyo
Ultimate agilisttokyo
Tsuyoshi Ushio974 views
Software testing agile_environment_wpSoftware testing agile_environment_wp
Software testing agile_environment_wp
Cristiano Caetano432 views
Amy.stapletonAmy.stapleton
Amy.stapleton
NASAPMC13.3K views

Viewers also liked(13)

The Limited Red SocietyThe Limited Red Society
The Limited Red Society
Naresh Jain6.2K views
TDD OverviewTDD Overview
TDD Overview
Naresh Jain7.4K views
Agile TestingAgile Testing
Agile Testing
Naresh Jain15.8K views
Introducing Agile Scrum XP and KanbanIntroducing Agile Scrum XP and Kanban
Introducing Agile Scrum XP and Kanban
Dimitri Ponomareff40.3K views
Agile India 2017 ConferenceAgile India 2017 Conference
Agile India 2017 Conference
Naresh Jain25.5K views
Scrum In 15 MinutesScrum In 15 Minutes
Scrum In 15 Minutes
Srikanth Shreenivas91.9K views
Buzzword Deathmatch: Agile vs SOABuzzword Deathmatch: Agile vs SOA
Buzzword Deathmatch: Agile vs SOA
Alberto Brandolini8.2K views
Lean vs scrumLean vs scrum
Lean vs scrum
Pavel Dabrytski32K views
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
Mohan Late63.6K views

Recently uploaded(20)

Web Dev - 1 PPT.pdfWeb Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdf
gdsczhcet48 views
METHOD AND SYSTEM FOR PREDICTING OPTIMAL LOAD FOR WHICH THE YIELD IS MAXIMUM ...METHOD AND SYSTEM FOR PREDICTING OPTIMAL LOAD FOR WHICH THE YIELD IS MAXIMUM ...
METHOD AND SYSTEM FOR PREDICTING OPTIMAL LOAD FOR WHICH THE YIELD IS MAXIMUM ...
Prity Khastgir IPR Strategic India Patent Attorney Amplify Innovation23 views
Java Platform Approach 1.0 - Picnic MeetupJava Platform Approach 1.0 - Picnic Meetup
Java Platform Approach 1.0 - Picnic Meetup
Rick Ossendrijver23 views

XP And Scrum Practices

  • 1. eXtreme Programming & Scrum Practices Embrace Change Naresh Jain naresh@agilefaqs.com Licensed Under Creative Commons by Naresh Jain 1
  • 2. Agile Paradigm Licensed Under Creative Commons by Naresh Jain 2
  • 3. Agile Paradigm Software cannot just be Engineered Licensed Under Creative Commons by Naresh Jain 2
  • 4. Agile Paradigm Software cannot just be Engineered It’s a craft! Licensed Under Creative Commons by Naresh Jain 2
  • 5. Agile Umbrella Agile XP Scrum DSDM FDD Adaptive Pragmatic Crystal Lean Licensed Under Creative Commons by Naresh Jain 3
  • 6. XP Values Licensed Under Creative Commons by Naresh Jain 4
  • 7. XP Values Communication Licensed Under Creative Commons by Naresh Jain 4
  • 8. XP Values Communication Feedback Licensed Under Creative Commons by Naresh Jain 4
  • 9. XP Values Communication Feedback Simplicity Licensed Under Creative Commons by Naresh Jain 4
  • 10. XP Values Communication Feedback Simplicity Courage Licensed Under Creative Commons by Naresh Jain 4
  • 11. XP Values Communication Feedback Simplicity Courage Respect Licensed Under Creative Commons by Naresh Jain 4
  • 12. A typical XP Project Licensed Under Creative Commons by Naresh Jain 5
  • 13. A typical XP Project Project 1 year Licensed Under Creative Commons by Naresh Jain 5
  • 14. A typical XP Project Project 1 year Releases 3 months Licensed Under Creative Commons by Naresh Jain 5
  • 15. A typical XP Project Project 1 year Releases 3 months Iterations 2 weeks Licensed Under Creative Commons by Naresh Jain 5
  • 16. A typical XP Project Project 1 year Releases 3 months Iterations 2 weeks Days 1 day Licensed Under Creative Commons by Naresh Jain 5
  • 17. A typical XP Project Project 1 year Releases 3 months Iterations 2 weeks Days 1 day Tasks 2 hrs Licensed Under Creative Commons by Naresh Jain 5
  • 18. A typical XP Project Project 1 year Releases 3 months Iterations 2 weeks Days 1 day Tasks 2 hrs Test-Code-Refactor Cycles 15 min Licensed Under Creative Commons by Naresh Jain 5
  • 19. Stories are fundamental unit of activity Licensed Under Creative Commons by Naresh Jain 6
  • 20. 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
  • 21. 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
  • 22. Stories are fundamental unit of activity Initial Story List Release Story List Release planning As a ____, I As a ____, I want to be able want to be able to ____ so that to ____ so that ____ ____ I will know this is Might have an initial done when estimate (perhaps for _______ both analysis and development), and an expression of technical More detailed and business estimate, and a confidence that this is specific acceptance real and achievable test – low confidence stories might be “spiked” or prototyped Licensed Under Creative Commons by Naresh Jain 6
  • 23. Stories are fundamental unit of activity Initial Story List Release Story List Release planning Iteration planning As a ____, I As a ____, I want to be able want to be able to ____ so that to ____ so that ____ ____ I will know this is Might have an initial done when estimate (perhaps for _______ both analysis and development), and an expression of technical More detailed and business estimate, and a confidence that this is specific acceptance real and achievable test – low confidence stories might be “spiked” or prototyped Licensed Under Creative Commons by Naresh Jain 6
  • 24. Stories are fundamental unit of activity Initial Story List Release Story List Iteration Story List Release planning Iteration planning As a ____, I As a ____, I As a ____, I want to be able want to be able want to be able to ____ so that to ____ so that to ____ so that Possible ____ ____ ____ automation of the acceptance I will know this is I will know this is test Might have an initial done when done when estimate (perhaps for _______ _______ both analysis and Development development), and an team breaks To do this I expression of technical More detailed out the detail must: and business estimate, and a of work needed 1) _____ confidence that this is specific acceptance to pass test 2) _____ real and achievable test – low confidence stories might be “spiked” or prototyped Licensed Under Creative Commons by Naresh Jain 6
  • 25. XP Practices Licensed Under Creative Commons by Naresh Jain 7
  • 26. XP Practices Planning Game Small Releases Stories Planning Licensed Under Creative Commons by Naresh Jain 7
  • 27. XP Practices Designing Simple Design Refactoring Metaphor Licensed Under Creative Commons by Naresh Jain 7
  • 28. XP Practices Coding Onsite Pair Continuous Customer Programming Integration Licensed Under Creative Commons by Naresh Jain 7
  • 29. XP Practices Test First Testing Acceptance Tests Automation Licensed Under Creative Commons by Naresh Jain 7
  • 30. XP Practices Informative Collective Workspace Ownership Coding Standards Sustainable Pace Team Licensed Under Creative Commons by Naresh Jain 7
  • 31. XP Practices Planning Informative Collective Game Workspace Ownership Coding Standards Small Releases Sustainable Pace Stories XP Test First Incremental Practices Design Acceptance Tests Refactoring Automation Onsite Metaphor Pair Continuous Customer Programming Integration Licensed Under Creative Commons by Naresh Jain 8
  • 32. 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 developer’s hand Licensed Under Creative Commons by Naresh Jain 9
  • 33. Scrum Licensed Under Creative Commons by Naresh Jain 10
  • 34. 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 find 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
  • 35. 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. Don’t 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
  • 36. Scrum in a Nutshell Courtesy of Ken Schwaber Licensed Under Creative Commons by Naresh Jain 13
  • 37. Scrum Terminologies Licensed Under Creative Commons by Naresh Jain 14
  • 38. Scrum Terminologies Sprint Licensed Under Creative Commons by Naresh Jain 14
  • 39. Scrum Terminologies Sprint Scrum Master Licensed Under Creative Commons by Naresh Jain 14
  • 40. Scrum Terminologies Sprint Scrum Master Product and Sprint Backlog Licensed Under Creative Commons by Naresh Jain 14
  • 41. Scrum Terminologies Sprint Scrum Master Product and Sprint Backlog Product Owner Licensed Under Creative Commons by Naresh Jain 14
  • 42. Scrum Terminologies Sprint Scrum Master Product and Sprint Backlog Product Owner Scrum Teams Licensed Under Creative Commons by Naresh Jain 14
  • 43. Scrum Terminologies Sprint Scrum Master Product and Sprint Backlog Product Owner Scrum Teams Daily Scrum Meetings Licensed Under Creative Commons by Naresh Jain 14
  • 44. 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
  • 45. 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
  • 46. 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
  • 47. Thank You! Questions? Licensed Under Creative Commons by Naresh Jain 15