Agile Software Development with SCRUM




                  www.scrumguides.com



                   13 February 2009
Today’s Agenda

    Opening: program overview, knowing each other

    Understanding Agile and SCRUM

    SCRUM simulation...
About myself

                   Alexey Krivitsky
                   Software developer, Agile coach

                   C...
Our presence

       Ukrainian Agile community
       www.agileukraine.org

       Join our Google discussion group




  ...
Today’s Agenda

      Opening: program overview, knowing each other

      Understanding Agile and SCRUM

      SCRUM simu...
Exercise “Continuum”




                           Agile Software Development with
6                              SCRUM ©...
Project successes/failures

      Have you been on a successful project?

      Have you been on an unsuccessful project?
...
Agile might help you, let’s see…



      Understanding Agile and SCRUM




                                 Agile Softwar...
The two approaches, two cultures

     Predictive approach
       Sees projects as predictive processes which results can ...
The predictive approach
                                Release


                                          Design spec


...
The adaptive approach

     When in the project we 100% know if we
     on/off the track in terms of the time, scope,
    ...
The two approaches to project management

       Predictive approach
           Heavy-weight;
       –
           Process-...
Order and Chaos




                       Agile Software Development with
14                         SCRUM ©SCRUMguides
The cone of uncertainty
     SCRUM decreases the chaos by fixing the scope




                                       Agil...
The two approaches on the time scale




        Which advantages/disadvantages of
        the approaches you see?        ...
Agile and SCRUM

      SCRUM – one of the Agile approaches.
      It is a project framework, or a set of
      recommendat...
Agile Manifesto

     We are uncovering better ways of developing
       software by doing it and helping others do it.
  ...
Principles of Agile Manifesto



     Please see www.agilemanifesto.org for the
       twelve principles




             ...
Main aspects of Agile




                             Agile Software Development with
20                               SC...
The main aspects of Agile

       Team Work

       Prioritization

       Short cycles

       Learn and Adapt

         ...
The main aspects of Agile: Team work

       What is a team?




                                   Agile Software Develop...
Team work (cont.)

     Exercise “an airplane factory”.




                                       Agile Software Developm...
Push vs. Pull systems

       SCRUM
       is a pull system




                             Agile Software Development wi...
Team work (cont.)

       What is a team?

       Are you in a good team?

       How to become a greater team?

       Ho...
Is here such a thing as “team work”?
                                   Release


                                        ...
A SCRUM team is

      A cross-functional group of people
      (5-9 members) responsible for managing
      itself to dev...
The main aspects of Agile

       Team Work

       Prioritization

       Short cycles

       Learn and Adapt


        ...
Prioritization and Traditional approaches

       An alternative tool to backlogs are
       requirement specifications.

...
“Gimme all requirements, or ….”




                                 Agile Software Development with
30                   ...
As a result …

       As a result all requirements are the
       “top priority”.

       Which is basically the same as n...
And as a result …




                         Agile Software Development with
32                           SCRUM ©SCRUMgu...
What does it mean to us?

       As a consequence: we can cut costs and
       duration of our projects in 2/3!



       ...
What about your projects?

       Think about your current (recent) projects.

       List 5-10 features that could have b...
Prioritize (cont.)

     YAGNI - “You ain’t gonna need it”.
      A strategy of postponing decisions until the last
      ...
The “menu” (Agile) approach




       Product backlog is the project’s menu.

       “Servants” help to make better decis...
What saves our projects?




     “The features that we manage to de-scope are
       the savers of our projects” © Kent B...
Today’s Agenda

       Opening: program overview, knowing each other

       Understanding Agile and SCRUM till 16:00

   ...
The main aspects of Agile

       Team Work

       Prioritization

       Short cycles

       Learn and Adapt


        ...
The main aspects of Agile: Short Cycles

     The shorter the cycle the more efficient the process

          We have more...
The “Flip Coins project




                               Agile Software Development with
42                             ...
Short Cycles (cont.)



     “Fail fast” (с) Ken Schwaber




                                Agile Software Development w...
Iterative and Incremental approach



         How do you eat an elephant?
     -
         One bite at a time!
     -




...
Shorter Cycles = Faster Feedback

          Daily meetings
     1.
          Code Reviews
     2.
          Release to end...
Shorter Cycles = Faster Feedback (ordered)

       Pair programming (immediate feedback)
       Unit-testing (5-10 minutes...
The main aspects of Agile

       Team Work

       Prioritization

       Short cycles


       Learn and Adapt

        ...
Exercise “Ball Points”




                              Agile Software Development with
48                               ...
The main aspects of Agile: Learn and Adapt

       As we work we learn lots of new things about
       the product being d...
Visibility tools

     In order to evolve the way we work we need to
       keep everything visible to ourselves and our
 ...
The Sprint Burndown Chart




                                 Agile Software Development with
51                         ...
The Task Board - an information radiator




                                  Agile Software Development with
52         ...
The main aspects of Agile

       Team Work

       Prioritization

       Short cycles

       Learn and Adapt


        ...
Agile Software Development with
54       SCRUM ©SCRUMguides
Today’s Agenda

       Opening: program overview, knowing each other

       Understanding Agile and SCRUM

       SCRUM s...
SCRUM in 59 minutes




                           Agile Software Development with
57                             SCRUM ©S...
Game structure

     Planning
           Choose a product and your PO
        Help your PO to build up a PB
        Help y...
Today’s Agenda

      Opening: program overview, knowing each
      other

       Understanding Agile and SCRUM

       SC...
SCRUM recap

      Roles
           The Team
       –
           ScrumMaster
       –
           Product Owner
       –


...
Today’s Agenda

       Opening: program overview, knowing each other

       Understanding Agile and SCRUM

       SCRUM s...
Join our community!

        Ukrainian Agile community
        www.agileukraine.org

        Join our Google discussion gr...
Upcoming SlideShare
Loading in …5
×

ScrumGuides training: Agile Software Development With Scrum

9,470
-1

Published on

The slides from the ScrumGuides training on Agile Software Development with Scrum, day 1

Published in: Business

ScrumGuides training: Agile Software Development With Scrum

  1. 1. Agile Software Development with SCRUM www.scrumguides.com 13 February 2009
  2. 2. Today’s Agenda Opening: program overview, knowing each other Understanding Agile and SCRUM SCRUM simulation Extra SCRUM topics We will be having 10-minute breaks each 60-90 minutes. Agile Software Development with 2 SCRUM ©SCRUMguides
  3. 3. About myself Alexey Krivitsky Software developer, Agile coach Certified ScrumMaster Certified Scrum Practitioner http://www.linkedin.com/in/alexeykrivitsky email: alexey@scrumguides.com skype: alexeykrv icq: 436-471-64 gsm: +380 50 358 92 12 Currently building up a training center www.scrumguides.com Agile Software Development with 3 SCRUM ©SCRUMguides
  4. 4. Our presence Ukrainian Agile community www.agileukraine.org Join our Google discussion group Ukrainian SCRUM portal www.scrum.com.ua Agile Software Development with 4 SCRUM ©SCRUMguides
  5. 5. Today’s Agenda Opening: program overview, knowing each other Understanding Agile and SCRUM SCRUM simulation Extra SCRUM topics Agile Software Development with 5 SCRUM ©SCRUMguides
  6. 6. Exercise “Continuum” Agile Software Development with 6 SCRUM ©SCRUMguides
  7. 7. Project successes/failures Have you been on a successful project? Have you been on an unsuccessful project? Agile Software Development with 8 SCRUM ©SCRUMguides
  8. 8. Agile might help you, let’s see… Understanding Agile and SCRUM Agile Software Development with 9 SCRUM ©SCRUMguides
  9. 9. The two approaches, two cultures Predictive approach Sees projects as predictive processes which results can be foreseen (predicted) with acceptable probability after reasonable planning and study efforts spent. Adaptive approach Questions predictability of projects due to their built-in complexity. It puts stress on steering based on observations. Agile Software Development with 10 SCRUM ©SCRUMguides
  10. 10. The predictive approach Release Design spec Requirements spec Order C D Actual need P P R Agile Software Development with 11 SCRUM ©SCRUMguides
  11. 11. The adaptive approach When in the project we 100% know if we on/off the track in terms of the time, scope, costs…? Vision C Actual need Agile Software Development with 12 SCRUM ©SCRUMguides
  12. 12. The two approaches to project management Predictive approach Heavy-weight; – Process-oriented; – Plan-driven; – “Waterfall”. – Adaptive approach Light-weight; – People-oriented; – Value-driven; – “Agile”. – Agile Software Development with 13 SCRUM ©SCRUMguides
  13. 13. Order and Chaos Agile Software Development with 14 SCRUM ©SCRUMguides
  14. 14. The cone of uncertainty SCRUM decreases the chaos by fixing the scope Agile Software Development with 15 SCRUM ©SCRUMguides
  15. 15. The two approaches on the time scale Which advantages/disadvantages of the approaches you see? Agile Software Development with 16 SCRUM ©SCRUMguides
  16. 16. Agile and SCRUM SCRUM – one of the Agile approaches. It is a project framework, or a set of recommendations by following which you can increase the chance of successful ending of your projects. Agile Software Development with 17 SCRUM ©SCRUMguides
  17. 17. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. Agile Software Development with 18 SCRUM ©SCRUMguides
  18. 18. Principles of Agile Manifesto Please see www.agilemanifesto.org for the twelve principles Agile Software Development with 19 SCRUM ©SCRUMguides
  19. 19. Main aspects of Agile Agile Software Development with 20 SCRUM ©SCRUMguides
  20. 20. The main aspects of Agile Team Work Prioritization Short cycles Learn and Adapt Agile Software Development with 21 SCRUM ©SCRUMguides
  21. 21. The main aspects of Agile: Team work What is a team? Agile Software Development with 22 SCRUM ©SCRUMguides
  22. 22. Team work (cont.) Exercise “an airplane factory”. Agile Software Development with 23 SCRUM ©SCRUMguides
  23. 23. Push vs. Pull systems SCRUM is a pull system Agile Software Development with 24 SCRUM ©SCRUMguides
  24. 24. Team work (cont.) What is a team? Are you in a good team? How to become a greater team? How to evaluate and motivate people’s work in a team? Agile Software Development with 25 SCRUM ©SCRUMguides
  25. 25. Is here such a thing as “team work”? Release Design spec Requirements spec Order C D Actual need P P R Agile Software Development with 26 SCRUM ©SCRUMguides
  26. 26. A SCRUM team is A cross-functional group of people (5-9 members) responsible for managing itself to develop the product. Agile Software Development with 27 SCRUM ©SCRUMguides
  27. 27. The main aspects of Agile Team Work Prioritization Short cycles Learn and Adapt Agile Software Development with 28 SCRUM ©SCRUMguides
  28. 28. Prioritization and Traditional approaches An alternative tool to backlogs are requirement specifications. Agile Software Development with 29 SCRUM ©SCRUMguides
  29. 29. “Gimme all requirements, or ….” Agile Software Development with 30 SCRUM ©SCRUMguides
  30. 30. As a result … As a result all requirements are the “top priority”. Which is basically the same as not having the priorities at all. Agile Software Development with 31 SCRUM ©SCRUMguides
  31. 31. And as a result … Agile Software Development with 32 SCRUM ©SCRUMguides
  32. 32. What does it mean to us? As a consequence: we can cut costs and duration of our projects in 2/3! Does it mean we (the teams) will earn less money? Agile Software Development with 33 SCRUM ©SCRUMguides
  33. 33. What about your projects? Think about your current (recent) projects. List 5-10 features that could have been avoided or simplified by keeping the product as good as it was. What would be your % of rarely/never used features? Agile Software Development with 34 SCRUM ©SCRUMguides
  34. 34. Prioritize (cont.) YAGNI - “You ain’t gonna need it”. A strategy of postponing decisions until the last possible moment. Product backlog Just-in-time requirements management tool. Agile Software Development with 36 SCRUM ©SCRUMguides
  35. 35. The “menu” (Agile) approach Product backlog is the project’s menu. “Servants” help to make better decisions. Agile Software Development with 37 SCRUM ©SCRUMguides
  36. 36. What saves our projects? “The features that we manage to de-scope are the savers of our projects” © Kent Beck Agile Software Development with 38 SCRUM ©SCRUMguides
  37. 37. Today’s Agenda Opening: program overview, knowing each other Understanding Agile and SCRUM till 16:00 Coffee break 16:00 – 16:30 SCRUM simulation 16:30 – 17:30 Extra SCRUM topics 17:30 – 18:00 Agile Software Development with 39 SCRUM ©SCRUMguides
  38. 38. The main aspects of Agile Team Work Prioritization Short cycles Learn and Adapt Agile Software Development with 40 SCRUM ©SCRUMguides
  39. 39. The main aspects of Agile: Short Cycles The shorter the cycle the more efficient the process We have more time to “play” with the product that 1. we are developing; The sooner we can catch a defect the easier it is to 2. fix it; The shorter the cycle (the smaller a batch of work) 3. the less need we have in creating intermediate artifacts. Agile Software Development with 41 SCRUM ©SCRUMguides
  40. 40. The “Flip Coins project Agile Software Development with 42 SCRUM ©SCRUMguides
  41. 41. Short Cycles (cont.) “Fail fast” (с) Ken Schwaber Agile Software Development with 43 SCRUM ©SCRUMguides
  42. 42. Iterative and Incremental approach How do you eat an elephant? - One bite at a time! - Agile Software Development with 44 SCRUM ©SCRUMguides
  43. 43. Shorter Cycles = Faster Feedback Daily meetings 1. Code Reviews 2. Release to end-users 3. Iteration reviews 4. Continuous integration 5. Feedback from (onsite) clients 6. Unit-testing 7. (Automated) acceptance testing 8. Pair programming 9. Agile Software Development with 45 SCRUM ©SCRUMguides
  44. 44. Shorter Cycles = Faster Feedback (ordered) Pair programming (immediate feedback) Unit-testing (5-10 minutes) Continuous integration (hourly) Feedback from (onsite) clients (daily) Daily meetings (daily) Code Reviews (some days) (Automated) acceptance testing (some days) Iteration reviews (each second week) Release to end-users (some weeks-months) Agile Software Development with 46 SCRUM ©SCRUMguides
  45. 45. The main aspects of Agile Team Work Prioritization Short cycles Learn and Adapt Agile Software Development with 47 SCRUM ©SCRUMguides
  46. 46. Exercise “Ball Points” Agile Software Development with 48 SCRUM ©SCRUMguides
  47. 47. The main aspects of Agile: Learn and Adapt As we work we learn lots of new things about the product being developed, technologies being used, our clients, ourselves. By incorporating this information into daily work we can become better day by day. Agile Software Development with 49 SCRUM ©SCRUMguides
  48. 48. Visibility tools In order to evolve the way we work we need to keep everything visible to ourselves and our clients Tools that might help: Sprint Burndown Chart Task boards Wikis Agile Software Development with 50 SCRUM ©SCRUMguides
  49. 49. The Sprint Burndown Chart Agile Software Development with 51 SCRUM ©SCRUMguides
  50. 50. The Task Board - an information radiator Agile Software Development with 52 SCRUM ©SCRUMguides
  51. 51. The main aspects of Agile Team Work Prioritization Short cycles Learn and Adapt Agile Software Development with 53 SCRUM ©SCRUMguides
  52. 52. Agile Software Development with 54 SCRUM ©SCRUMguides
  53. 53. Today’s Agenda Opening: program overview, knowing each other Understanding Agile and SCRUM SCRUM simulation Extra SCRUM topics Agile Software Development with 56 SCRUM ©SCRUMguides
  54. 54. SCRUM in 59 minutes Agile Software Development with 57 SCRUM ©SCRUMguides
  55. 55. Game structure Planning Choose a product and your PO Help your PO to build up a PB Help your PO to prioritize the PB items Plan your first sprint Sprinting Day one - 7 min Daily standup - 3 min Day two - 7 min Demonstration - 3 min (per a team) Agile Software Development with 58 SCRUM ©SCRUMguides
  56. 56. Today’s Agenda Opening: program overview, knowing each other Understanding Agile and SCRUM SCRUM simulation Extra SCRUM topics Agile Software Development with 59 SCRUM ©SCRUMguides
  57. 57. SCRUM recap Roles The Team – ScrumMaster – Product Owner – Artifacts Product Backlog – Sprint Backlog – Sprint/Release Burndown Chart – Meetings (ceremonies) Sprint Planning – Daily Scrum (“Stand-Up”) – Sprint Review (Demo) – Retrospective – Agile Software Development with 60 SCRUM ©SCRUMguides
  58. 58. Today’s Agenda Opening: program overview, knowing each other Understanding Agile and SCRUM SCRUM simulation Summary of SCRUM concepts Agile Software Development with 61 SCRUM ©SCRUMguides
  59. 59. Join our community! Ukrainian Agile community www.agileukraine.org Join our Google discussion group Ukrainian SCRUM portal www.scrum.com.ua Agile Software Development with 62 SCRUM ©SCRUMguides
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×