Introduction to Agile

                                       Brenda Bao (鲍央舟)



Copyright © 2009 OutSofting. All Rights Reserved.
Agenda
 • Challenges of waterfall
 • Agile values
 • Scrum framework
 • Agile Survey results




Copyright © 2009 OutSofting. All Rights Reserved.
Waterfall




                                                    Based on Hakan Herdogmus,
                                                    GUAM 2005


Copyright © 2009 OutSofting. All Rights Reserved.
3 things we wish were true
                          The customer knows what he wants
                          The developers know how to build it
                          Nothing will change along the way


                    3 things we have to live with
                          The customer discovers what he wants
                          The developers discover how to build it
                          Most things change along the way


Copyright © 2009 OutSofting. All Rights Reserved.
Software development is complex




Copyright © 2009 OutSofting. All Rights Reserved.
Transparency




Copyright © 2009 OutSofting. All Rights Reserved.
Handling deadlines




Copyright © 2009 OutSofting. All Rights Reserved.
Design Dead Software




Copyright © 2009 OutSofting. All Rights Reserved.
Can we capitalize earlier?




Copyright © 2009 OutSofting. All Rights Reserved.
Do you want to…
 • Focus on high business value features?
 • Reduce Time to Market?
 • Manage changes easily?
 • Improve quality?
 • Improve communication?
 • ….


Copyright © 2009 OutSofting. All Rights Reserved.
Introduction to Agile
 • Agile software development refers to a group of 
   software development methodologies that are 
   based on similar principles. Agile methodologies 
   generally promote:
         – A project management process that encourages 
           frequent inspection and adaptation
         – A leadership philosophy that encourages team work, 
           self‐organization and accountability
         – A set of engineering best practices that allow for 
           rapid delivery of high‐quality software
         – And a business approach that aligns development 
           with customer needs and company goals
Copyright © 2009 OutSofting. All Rights Reserved.
Agile Manifesto
    • 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.
    http://agilemanifesto.org/
Copyright © 2009 OutSofting. All Rights Reserved.
Agile Principles
          1.        Early and continuous delivery of valuable software
          2.        Welcome changing requirements
          3.        Deliver working software frequently
          4.        Business people and developers work together
          5.        Trust motivated individuals
          6.        Face‐to‐face conversation
          7.        Working software is the primary measure of 
                    progress
          8.        Promote sustainable development
          9.        Technical excellence and good design
          10.       Simplicity is essential
          11.       Self‐organizing teams
          12.       Team reflection and adjustment
Copyright © 2009 OutSofting. All Rights Reserved.
Myths
 • No planning
 • No document
 • Loss of management control
 • Undisciplined
 •…




Copyright © 2009 OutSofting. All Rights Reserved.
Agile Family
    • Scrum
    • Extreme Programming (XP)
    • Adaptive Software Development
    • Crystal 
    • Feature Driven Development
    • DSDM
    •…
Copyright © 2009 OutSofting. All Rights Reserved.
•Time boxed
                                                      •3 Roles:
                                                          •Product owner
                                                          •ScrumMaster
                                                          •Team
                                                      •4 Ceremonies:
                                                          •Sprint planning
                                                          •Sprint review
                                                          •Sprint retrospective
                                                          •Daily scrum meeting
                                                      •4 Artifacts:
                                                          •Product backlog
                                                          •Sprint backlog
                                                          •Burndown charts
                                                          •Release burndown chart
                                         Scrum flow
Copyright © 2009 OutSofting. All Rights Reserved.
A Scrum Project




Copyright © 2009 OutSofting. All Rights Reserved.
Strategy
                   Customer
                   requirements                                                   Estimation
                                                                    Release
                                               Vison

                                                                          Iteration     Retrospective
                                          Goals        Release
                                                        plan
                                      Charter                                     Daily
                                                    Backlog
                                                              Iteration
                                                                 plan     Acceptance
                                     Funding                                testing
                                                                                        Continuous
                                                                                                 Integration
                                                                     Standup           TDD
    burndown
                                                                                                     Build
                                                                                   Collaboration

                                                                                             Refactoring

               tests
                                                                                                               Delivery of
                                                                                                               working
                              velocity                                                                         software




Copyright © 2009 OutSofting. All Rights Reserved.
Copyright © 2009 OutSofting. All Rights Reserved.
Source:crisp Henrik Kniberg

Copyright © 2009 OutSofting. All Rights Reserved.
Sequential vs. overlapping 
                       development
   Requirements                                   Design   Code   Test



            Rather than doing all of
            one thing at a time...
                                               ...Scrum teams do a little
Source: “The New New Product Development
Game” by Takeuchi and Nonaka. Harvard Business of everything all the time
Review, January 1986.




  Copyright © 2009 OutSofting. All Rights Reserved.
FUNCTIONALITY                                      RESOURCES         TIME
                                                    FIXED
                                                                            Customer Value
                                                                                Driven


                      Plan Driven
                                                            VARIABLE
             TIME                      RESOURCES                            FUNCTIONALITY


                     Traditional                                             Agile



Copyright © 2009 OutSofting. All Rights Reserved.
Source:crisp Henrik Kniberg


Copyright © 2009 OutSofting. All Rights Reserved.
Scrum has been used by:
     •Microsoft                                     •Intuit
     •Yahoo                                         •Nielsen Media
     •Google                                        •First American Real Estate
     •Electronic Arts                               •BMC Software
     •High Moon Studios                             •Ipswitch
     •Lockheed Martin                               •John Deere
     •Philips                                       •Lexis Nexis
     •Siemens                                       •Sabre
     •Nokia                                         •Salesforce.com
     •Capital One                                   •Time Warner
     •BBC                                           •Turner Broadcasting
                                                    •Oce
Copyright © 2009 OutSofting. All Rights Reserved.
Results From Scrum ‐‐ at Yahoo!
 • Productivity: 68% of respondents reported Scrum is 
   better or much better 
 • Team Morale: 52% of respondents reported Scrum is 
   better or much better; 
 • Adaptability: 63% of respondents reported Scrum is 
   better or much better;
 • Accountability: 62% of respondents reported Scrum is 
   better or much better; 
 • Collaboration and Cooperation: 81% of respondents 
   reported Scrum is better or much better; 
 • Team productivity increased an average of 36%, based 
   on the estimates of the Product Owners.
 • 85% of team‐members stated that they would continue 
   using Scrum if the decision were solely up to them

Copyright © 2009 OutSofting. All Rights Reserved.
Case Study

                                   France Telecom ‐ Orange




Copyright © 2009 OutSofting. All Rights Reserved.
France Telecom case (1/3)
 • Initial situation:
         – Department of 40 persons.
         – Analysis/Paralysis situation:
            • Requirements coming from many different stakeholders 
              abroad.
            • User Interface specification coming from abroad.
            • Inability to refactor and change code easily.
         – Long release cycles for usable features.
         – Testing and development separated and not colocated which 
           caused communication overhead.




Copyright © 2009 OutSofting. All Rights Reserved.
France Telecom case (2/3)
 • Our contribution:
         – ScrumMaster training in Chinese to all the department.
         – Certified ScrumMaster training to the future ScrumMasters.
         – ScrumMaster coaching for pilot Scrum team
             • Guided the pilot team to use the Scrum process
             • Coached the PO to manage the Product Backlog
             • Made test problems visible (technical and organizational) 
         – As requested by the customers, provided Continuous 
           Integration, TDD, acceptance testing expertise for their specific 
           platform.
         – Coached the ScrumMasters of the other teams to facilitate the 
           whole department’s adoption of Scrum.


Copyright © 2009 OutSofting. All Rights Reserved.
France Telecom case (3/3)
 • Results:
         – 1 week iterations and delivery of usable software 
           functionalities:
                  • Faster feedback provided to all the stakeholders abroad.
                  • Ability to adapt to the changing requirements while keeping the code base 
                    clean and safe.


         – How?
                  • Cross‐functional Scrum teams (including testers) focus on delivering 
                    defined features (using local UI specialist if abroad is too busy).
                  • Clarity of roles and responsibilities in Scrum enabled stronger spirit of 
                    continuous improvement and initiatives within the teams.
                  • Continuous Integration and automated acceptance testing.
                  • Unit testing and refactoring practices thoroughly followed by developers.

Copyright © 2009 OutSofting. All Rights Reserved.
OutSofting’s facilitation
 Waterfall                                                                                                        Scrum 
process for                                                                                 Product‐wide       process for 
developing              Preparation                   Pilot team          Launch            rollout            developing 
 a product                                                                                                      a product



                                                          Engineering practices training
                             Scrum training
                                                                 and coaching




                                  ScrumMaster for pilot team                   Agile coaching for teams and
                                         coaching                             for organizational impediments




                                                Agile coaching and consulting for management




 Copyright © 2009 OutSofting. All Rights Reserved.
Contact us

 地址:北京市朝阳区日坛路6号新族大厦附楼
    2层
 电话:86‐10‐87748156
 传真:86‐10‐51418072
 邮箱: info@outsofting.com
     www.outsofting.com

Copyright © 2009 OutSofting. All Rights Reserved.

Introduction To Agile

  • 1.
    Introduction to Agile Brenda Bao (鲍央舟) Copyright © 2009 OutSofting. All Rights Reserved.
  • 2.
    Agenda • Challenges of waterfall • Agile values • Scrum framework • Agile Survey results Copyright © 2009 OutSofting. All Rights Reserved.
  • 3.
    Waterfall Based on Hakan Herdogmus, GUAM 2005 Copyright © 2009 OutSofting. All Rights Reserved.
  • 4.
    3 things we wish were true The customer knows what he wants The developers know how to build it Nothing will change along the way 3 things we have to live with The customer discovers what he wants The developers discover how to build it Most things change along the way Copyright © 2009 OutSofting. All Rights Reserved.
  • 5.
  • 6.
    Transparency Copyright © 2009OutSofting. All Rights Reserved.
  • 7.
    Handling deadlines Copyright © 2009OutSofting. All Rights Reserved.
  • 8.
    Design Dead Software Copyright © 2009OutSofting. All Rights Reserved.
  • 9.
    Can we capitalize earlier? Copyright © 2009OutSofting. All Rights Reserved.
  • 10.
    Do you want to… • Focus on high business value features? • Reduce Time to Market? • Manage changes easily? • Improve quality? • Improve communication? • …. Copyright © 2009 OutSofting. All Rights Reserved.
  • 11.
    Introduction to Agile • Agile software development refers to a group of  software development methodologies that are  based on similar principles. Agile methodologies  generally promote: – A project management process that encourages  frequent inspection and adaptation – A leadership philosophy that encourages team work,  self‐organization and accountability – A set of engineering best practices that allow for  rapid delivery of high‐quality software – And a business approach that aligns development  with customer needs and company goals Copyright © 2009 OutSofting. All Rights Reserved.
  • 12.
    Agile Manifesto • 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. http://agilemanifesto.org/ Copyright © 2009 OutSofting. All Rights Reserved.
  • 13.
    Agile Principles 1. Early and continuous delivery of valuable software 2. Welcome changing requirements 3. Deliver working software frequently 4. Business people and developers work together 5. Trust motivated individuals 6. Face‐to‐face conversation 7. Working software is the primary measure of  progress 8. Promote sustainable development 9. Technical excellence and good design 10. Simplicity is essential 11. Self‐organizing teams 12. Team reflection and adjustment Copyright © 2009 OutSofting. All Rights Reserved.
  • 14.
    Myths • No planning • No document • Loss of management control • Undisciplined •… Copyright © 2009 OutSofting. All Rights Reserved.
  • 15.
    Agile Family • Scrum • Extreme Programming (XP) • Adaptive Software Development • Crystal  • Feature Driven Development • DSDM •… Copyright © 2009 OutSofting. All Rights Reserved.
  • 16.
    •Time boxed •3 Roles: •Product owner •ScrumMaster •Team •4 Ceremonies: •Sprint planning •Sprint review •Sprint retrospective •Daily scrum meeting •4 Artifacts: •Product backlog •Sprint backlog •Burndown charts •Release burndown chart Scrum flow Copyright © 2009 OutSofting. All Rights Reserved.
  • 17.
    A Scrum Project Copyright © 2009OutSofting. All Rights Reserved.
  • 18.
    Strategy Customer requirements Estimation Release Vison Iteration Retrospective Goals Release plan Charter Daily Backlog Iteration plan Acceptance Funding testing Continuous Integration Standup TDD burndown Build Collaboration Refactoring tests Delivery of working velocity software Copyright © 2009 OutSofting. All Rights Reserved.
  • 19.
    Copyright © 2009OutSofting. All Rights Reserved.
  • 20.
    Source:crisp Henrik Kniberg Copyright© 2009 OutSofting. All Rights Reserved.
  • 21.
    Sequential vs. overlapping  development Requirements Design Code Test Rather than doing all of one thing at a time... ...Scrum teams do a little Source: “The New New Product Development Game” by Takeuchi and Nonaka. Harvard Business of everything all the time Review, January 1986. Copyright © 2009 OutSofting. All Rights Reserved.
  • 22.
    FUNCTIONALITY RESOURCES TIME FIXED Customer Value Driven Plan Driven VARIABLE TIME RESOURCES FUNCTIONALITY Traditional Agile Copyright © 2009 OutSofting. All Rights Reserved.
  • 23.
    Source:crisp Henrik Kniberg Copyright© 2009 OutSofting. All Rights Reserved.
  • 24.
    Scrum has been used by: •Microsoft •Intuit •Yahoo •Nielsen Media •Google •First American Real Estate •Electronic Arts •BMC Software •High Moon Studios •Ipswitch •Lockheed Martin •John Deere •Philips •Lexis Nexis •Siemens •Sabre •Nokia •Salesforce.com •Capital One •Time Warner •BBC •Turner Broadcasting •Oce Copyright © 2009 OutSofting. All Rights Reserved.
  • 25.
    Results From Scrum ‐‐ at Yahoo! • Productivity: 68% of respondents reported Scrum is  better or much better  • Team Morale: 52% of respondents reported Scrum is  better or much better;  • Adaptability: 63% of respondents reported Scrum is  better or much better; • Accountability: 62% of respondents reported Scrum is  better or much better;  • Collaboration and Cooperation: 81% of respondents  reported Scrum is better or much better;  • Team productivity increased an average of 36%, based  on the estimates of the Product Owners. • 85% of team‐members stated that they would continue  using Scrum if the decision were solely up to them Copyright © 2009 OutSofting. All Rights Reserved.
  • 26.
    Case Study France Telecom ‐ Orange Copyright © 2009 OutSofting. All Rights Reserved.
  • 27.
    France Telecom case (1/3) • Initial situation: – Department of 40 persons. – Analysis/Paralysis situation: • Requirements coming from many different stakeholders  abroad. • User Interface specification coming from abroad. • Inability to refactor and change code easily. – Long release cycles for usable features. – Testing and development separated and not colocated which  caused communication overhead. Copyright © 2009 OutSofting. All Rights Reserved.
  • 28.
    France Telecom case (2/3) • Our contribution: – ScrumMaster training in Chinese to all the department. – Certified ScrumMaster training to the future ScrumMasters. – ScrumMaster coaching for pilot Scrum team • Guided the pilot team to use the Scrum process • Coached the PO to manage the Product Backlog • Made test problems visible (technical and organizational)  – As requested by the customers, provided Continuous  Integration, TDD, acceptance testing expertise for their specific  platform. – Coached the ScrumMasters of the other teams to facilitate the  whole department’s adoption of Scrum. Copyright © 2009 OutSofting. All Rights Reserved.
  • 29.
    France Telecom case (3/3) • Results: – 1 week iterations and delivery of usable software  functionalities: • Faster feedback provided to all the stakeholders abroad. • Ability to adapt to the changing requirements while keeping the code base  clean and safe. – How? • Cross‐functional Scrum teams (including testers) focus on delivering  defined features (using local UI specialist if abroad is too busy). • Clarity of roles and responsibilities in Scrum enabled stronger spirit of  continuous improvement and initiatives within the teams. • Continuous Integration and automated acceptance testing. • Unit testing and refactoring practices thoroughly followed by developers. Copyright © 2009 OutSofting. All Rights Reserved.
  • 30.
    OutSofting’s facilitation Waterfall  Scrum  process for  Product‐wide  process for  developing  Preparation Pilot team Launch rollout developing  a product a product Engineering practices training Scrum training and coaching ScrumMaster for pilot team Agile coaching for teams and coaching for organizational impediments Agile coaching and consulting for management Copyright © 2009 OutSofting. All Rights Reserved.
  • 31.
    Contact us 地址:北京市朝阳区日坛路6号新族大厦附楼 2层 电话:86‐10‐87748156 传真:86‐10‐51418072 邮箱: info@outsofting.com www.outsofting.com Copyright © 2009 OutSofting. All Rights Reserved.