你真的搞懂了甚麼叫敏
捷式開發?
  David Ko
Self Introduction
   III/ITRI/Trend Micro
   Blog:
     http://www.wretch.cc/b
      log/kojenchieh
   Host Scrum Community
    in Taiwan in Facebook
   Scrum and XP from the
    Trenches - TC edition
Agenda
   Agile Introduction
   How Agile Solve Problems
   Agile Myths
   Q&A
Agile Introduction
Common Problems
   Unclear or Unstable Requirements
   Too Long Tasks
   Not Enough Time for Quality
   No Project Visibility
   Heavy Process
Agile Guru Gathering
Agile Is an Idea, Not a Process
Agile Methods


Kanban

         Scrum
Lean      Crystal Clear

                          eXtreme
       And More …
                          Programming

                     Feature Driven Development
Scrum
Scrum
Sprint
Extreme Programming
Kanban
Scrum v.s. XP v.s. Kanban v.s. CMMI
Why do We Need Agile?
It is not the strongest of the
  species that survives, nor
   the most intelligent, but
      rather the one most
     adaptable to change

        Charles Darwin
How Agile Solve Problems
Unclear or Unstable Requirements

   Misunderstand customer’s needs
   Cannot response change quickly
   Do a lot of unnecessary features
Review with Customers Frequently

Testing       Analysis




Coding        Design

     Iteration 1


                            Testing   Analysis




                            Coding    Design
Adjust after Review or Change

                change scope
  Sprint 2                        Sprint 2
  Feature 2-1                     Feature 2-3
  Feature 2-2                     Feature 2-4
  Feature 2-3                     Feature 2-5


                                  Feature 1-1’
                Refine original   Feature 2-1
                result            Feature 2-2
Pareto Principle (80/20 Principle)
   80% revenue come from 20% features
Too Long Tasks
   No one knows his progress until done
   The result could be unacceptable
   Always handle in last minutes
Small Tasks, Quick Response
Small Test, Fast Feedback
   TDD
     Goal
       Clean   code that works
     Rules
       Execution   time: 10 min
Integration Testing is not Unit Testing

   What was I doing until now?


        Test Program




                         System under test
Parkinson’s Law
   Work expands so as to
    fill the time available
    for its completion
Timeboxes Drive Intensity

                               waterfall




intensity
            scrum




                    time
Not Enough Time for Quality
   No time to do testing
   Break old features when implementing new one
   No time to refine old system
Agile Is All About Feedback
             Release Plan         months

             Iteration Plan       weeks

           Acceptance Test        days

              Daily Scrum         one day

         Continuous Integration   hours

              Unit Testing        hours

           Pair Programming       minutes


                 code             seconds
Ultimate Weapon

                       Continuous     Make sure all old
                       Integration    features still work



                                        Refine old
Design before
                                        implementation
coding
         Test Driven                 Refactoring
        Development
No Project Visibility
   Only manager knows the progress
   Cannot help each other in time
   No idea about testing progress
Task Board
Daily Standup Meeting
Low Tech Testing Dashboard
14-35



           Low tech is high tech
           Visualize your testing status      Update: 3/7, build 1121

   Area              Effort       C     Q   Comments
   Add tree node     High         1         #1341, #1442

   Edit tree node    Low          1+        Auto build broken

   Delete tree node Low           2

   Drag tree node    Start 3/14   0         Lab is ready
   Debug tool        Blocked      1         Crash: #1121
Agile Myths
Agile Myths

   No plan
   No documentation
   No delay
   Mini-Waterfall is not Agile
   Just Process only
Scrum Release Planning
   Describe what features will be done in each sprint




    http://www.scrum-institute.org/Release_Planning.php
Scrum Sprint Planning
   Describe what tasks will be done for each feature
Agile Myths

   No plan
   No documentation
   No delay
   Mini-Waterfall is not Agile
   Just Process only
Communication Effectiveness

    effective                                        Task board


                                                telephone
                                                            (Question & Answer)
Communication
effectiveness                     Video recording
                         E-mail                                   High
                                                                  bandwidth
                         Audio recording
                                   (No question-answer)       Low
                  Documentation                               bandwidth
    ineffective

                  cold    temperature of communication channel        hot
Agile Myths

   No plan
   No documentation
   No delay
   Mini-Waterfall is not Agile
   Just Process only
Agile is not Silver bullet
Agile is a Mirror
Agile Myths

   No plan
   No documentation
   No delay
   Mini-Waterfall is not Agile
   Just Process only
Requirement

              Design

              Coding

              Testing

              Deployment

Requirement

Design

Coding
                            Agile is not Mini-Waterfall




Testing

Deployment
Fast Tracking is not Agile

Iteration 1   Coding 1


          Iteration 2     Coding 2 + Fixing 1
                           Testing 1

                         Iteration 3 Coding 3 + Fixing 2
                                        Testing 2

                                       Iteration 4 Coding 4 + Fixing 3
                                                    Testing 3
Deployment Testing   Coding   Design   Requirement




              Deployment Testing   Coding   Design   Requirement




              Deployment Testing   Coding   Design   Requirement




Iteration 1
              Deployment Testing   Coding   Design   Requirement
                                                                   Real Agile is …




              Deployment Testing   Coding   Design   Requirement




              Deployment Testing   Coding   Design   Requirement




              Deployment Testing   Coding   Design   Requirement
Iteration 2




              Deployment Testing   Coding   Design   Requirement
Agile Myths

   No plan
   No documentation
   No delay
   Fast Tracking is not Agile
   Just Process only
Self-organized Team
Cross Functional Team




Different Roles, Different Thinking, Different expertise
Multiple Skills
Agile Can Be Fun …




           Classification 4/11/2012   53
It Can Hurt Too …




            Classification 4/11/2012   54
LinSanity ….
Insanity
Q&A
High Moon Studios: A Portrait - Scrum




http://www.youtube.com/watch?v=UT4giM9mxHk

你真的搞懂了甚麼叫敏捷式開發?

  • 1.
  • 2.
    Self Introduction  III/ITRI/Trend Micro  Blog:  http://www.wretch.cc/b log/kojenchieh  Host Scrum Community in Taiwan in Facebook  Scrum and XP from the Trenches - TC edition
  • 3.
    Agenda  Agile Introduction  How Agile Solve Problems  Agile Myths  Q&A
  • 4.
  • 5.
    Common Problems  Unclear or Unstable Requirements  Too Long Tasks  Not Enough Time for Quality  No Project Visibility  Heavy Process
  • 6.
  • 7.
    Agile Is anIdea, Not a Process
  • 8.
    Agile Methods Kanban Scrum Lean Crystal Clear eXtreme And More … Programming Feature Driven Development
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
    Scrum v.s. XPv.s. Kanban v.s. CMMI
  • 15.
    Why do WeNeed Agile?
  • 17.
    It is notthe strongest of the species that survives, nor the most intelligent, but rather the one most adaptable to change Charles Darwin
  • 18.
  • 19.
    Unclear or UnstableRequirements  Misunderstand customer’s needs  Cannot response change quickly  Do a lot of unnecessary features
  • 20.
    Review with CustomersFrequently Testing Analysis Coding Design Iteration 1 Testing Analysis Coding Design
  • 21.
    Adjust after Reviewor Change change scope Sprint 2 Sprint 2 Feature 2-1 Feature 2-3 Feature 2-2 Feature 2-4 Feature 2-3 Feature 2-5 Feature 1-1’ Refine original Feature 2-1 result Feature 2-2
  • 22.
    Pareto Principle (80/20Principle)  80% revenue come from 20% features
  • 23.
    Too Long Tasks  No one knows his progress until done  The result could be unacceptable  Always handle in last minutes
  • 24.
  • 25.
    Small Test, FastFeedback  TDD  Goal  Clean code that works  Rules  Execution time: 10 min
  • 26.
    Integration Testing isnot Unit Testing  What was I doing until now? Test Program System under test
  • 27.
    Parkinson’s Law  Work expands so as to fill the time available for its completion
  • 28.
    Timeboxes Drive Intensity waterfall intensity scrum time
  • 29.
    Not Enough Timefor Quality  No time to do testing  Break old features when implementing new one  No time to refine old system
  • 30.
    Agile Is AllAbout Feedback Release Plan months Iteration Plan weeks Acceptance Test days Daily Scrum one day Continuous Integration hours Unit Testing hours Pair Programming minutes code seconds
  • 31.
    Ultimate Weapon Continuous Make sure all old Integration features still work Refine old Design before implementation coding Test Driven Refactoring Development
  • 32.
    No Project Visibility  Only manager knows the progress  Cannot help each other in time  No idea about testing progress
  • 33.
  • 34.
  • 35.
    Low Tech TestingDashboard 14-35  Low tech is high tech  Visualize your testing status Update: 3/7, build 1121 Area Effort C Q Comments Add tree node High 1 #1341, #1442 Edit tree node Low 1+ Auto build broken Delete tree node Low 2 Drag tree node Start 3/14 0 Lab is ready Debug tool Blocked 1 Crash: #1121
  • 36.
  • 37.
    Agile Myths  No plan  No documentation  No delay  Mini-Waterfall is not Agile  Just Process only
  • 38.
    Scrum Release Planning  Describe what features will be done in each sprint http://www.scrum-institute.org/Release_Planning.php
  • 39.
    Scrum Sprint Planning  Describe what tasks will be done for each feature
  • 40.
    Agile Myths  No plan  No documentation  No delay  Mini-Waterfall is not Agile  Just Process only
  • 41.
    Communication Effectiveness effective Task board telephone (Question & Answer) Communication effectiveness Video recording E-mail High bandwidth Audio recording (No question-answer) Low Documentation bandwidth ineffective cold temperature of communication channel hot
  • 42.
    Agile Myths  No plan  No documentation  No delay  Mini-Waterfall is not Agile  Just Process only
  • 43.
    Agile is notSilver bullet
  • 44.
    Agile is aMirror
  • 45.
    Agile Myths  No plan  No documentation  No delay  Mini-Waterfall is not Agile  Just Process only
  • 46.
    Requirement Design Coding Testing Deployment Requirement Design Coding Agile is not Mini-Waterfall Testing Deployment
  • 47.
    Fast Tracking isnot Agile Iteration 1 Coding 1 Iteration 2 Coding 2 + Fixing 1 Testing 1 Iteration 3 Coding 3 + Fixing 2 Testing 2 Iteration 4 Coding 4 + Fixing 3 Testing 3
  • 48.
    Deployment Testing Coding Design Requirement Deployment Testing Coding Design Requirement Deployment Testing Coding Design Requirement Iteration 1 Deployment Testing Coding Design Requirement Real Agile is … Deployment Testing Coding Design Requirement Deployment Testing Coding Design Requirement Deployment Testing Coding Design Requirement Iteration 2 Deployment Testing Coding Design Requirement
  • 49.
    Agile Myths  No plan  No documentation  No delay  Fast Tracking is not Agile  Just Process only
  • 50.
  • 51.
    Cross Functional Team DifferentRoles, Different Thinking, Different expertise
  • 52.
  • 53.
    Agile Can BeFun … Classification 4/11/2012 53
  • 54.
    It Can HurtToo … Classification 4/11/2012 54
  • 55.
  • 56.
  • 57.
  • 58.
    High Moon Studios:A Portrait - Scrum http://www.youtube.com/watch?v=UT4giM9mxHk