        
Son Nguyen, son.nguyen.thanh.81@gmail.com
        YM & Skype: ng_thanhson
   Introduction
   Traditional methodologies
   My Scrum stories
   About me
   Just a brainstorming and discussion session
   Please be active
   
2003        2004      2005         2006          2007            2008


                   CMMi           TL9000
Waterfall                                       XP         TDD

             UML      Unified Process                            Scrum


                                           Continuous Integration
Requirements

         Requirements
           Analysis

                   Architecture
                     Design

                                  Detail
                                  Design

                                           Implementation


                                                            Testing


                                                                      Maintenance
   Waterfall (plan driven) is a well known methodology /
    process
   It has dependencies on phases (gated stages)
   In theory it works great but in practice it may not work
   It is fundamentally based on an assembly-line mentality
    for developing software -> no point to go back
   No mechanism to deal with delays -> buffer -> over
    estimation
The software factory
Requirements

         Requirements
           Analysis

                   Architecture
                     Design

                                  Detail
                                  Design

                                           Implementation


                                                            Testing


                                                                      Maintenance
   Can start working with incomplete requirements,
    architecture, design, …
   Can go back to the previous step and update
   It is still messy for long time project
   Sometimes it is unpredictable for the project delivery
Requirements



           Quick Design



Refine &
                           Implementation
Rework


           Evaluation &
             Update



           Final Testing     Release
   Good for an environment of changing requirements
   No methodology for each step
   Hard in the planning point of view
   Hard to maintain
   May cause a lot of reworks and increase cost
   
Let’s Turn Our Thinking
Upside Down
   Self-organization, disciplined, motivation, ownership, and
    pride
   You may have to accept:
    o Some first failed sprints
    o Give some not qualified members time and training to adjust
   Adaptive process
   Higher commitment and discipline
   Flexibility and adaptiveness with work requirements
    change
   Collaboration, freely to contribute
   …
   But be careful! There is nothing good at the first time,
    you need to build it with right people
   No need to spend too much time in planning
   No code written in early phases for requirement
    validation
   Communication issue
   Tester-developer schedule alignment
   No risk deferral
   Adaptive with requirement change
   …
   But be careful, don’t just do “Iterative”
Plan Driven                       Value Driven

               Fixed                              Variable
               Scope                              Scope




Variable                Variable   Fixed                       Fixed
 Time                  Resources   Time                      Resources
   Increasing Innovation
   Increase the quality of the deliverables
   Deliver the highest business value features first
   Onsite customer
   …
   It is not easy to do “Variable Scope”
   Remove organizational overhead
   Remove management pressure from teams
   Remove process / planning overhead
   …
   It is really hard and need support from your management
    level
From traditional software development process to scrum
From traditional software development process to scrum

From traditional software development process to scrum

  • 1.
     Son Nguyen, son.nguyen.thanh.81@gmail.com YM & Skype: ng_thanhson
  • 2.
    Introduction  Traditional methodologies  My Scrum stories
  • 3.
    About me  Just a brainstorming and discussion session  Please be active
  • 4.
  • 5.
    2003 2004 2005 2006 2007 2008 CMMi TL9000 Waterfall XP TDD UML Unified Process Scrum Continuous Integration
  • 7.
    Requirements Requirements Analysis Architecture Design Detail Design Implementation Testing Maintenance
  • 8.
    Waterfall (plan driven) is a well known methodology / process  It has dependencies on phases (gated stages)  In theory it works great but in practice it may not work  It is fundamentally based on an assembly-line mentality for developing software -> no point to go back  No mechanism to deal with delays -> buffer -> over estimation
  • 9.
  • 10.
    Requirements Requirements Analysis Architecture Design Detail Design Implementation Testing Maintenance
  • 11.
    Can start working with incomplete requirements, architecture, design, …  Can go back to the previous step and update  It is still messy for long time project  Sometimes it is unpredictable for the project delivery
  • 12.
    Requirements Quick Design Refine & Implementation Rework Evaluation & Update Final Testing Release
  • 13.
    Good for an environment of changing requirements  No methodology for each step  Hard in the planning point of view  Hard to maintain  May cause a lot of reworks and increase cost
  • 14.
  • 15.
    Let’s Turn OurThinking Upside Down
  • 17.
    Self-organization, disciplined, motivation, ownership, and pride  You may have to accept: o Some first failed sprints o Give some not qualified members time and training to adjust
  • 18.
    Adaptive process  Higher commitment and discipline  Flexibility and adaptiveness with work requirements change  Collaboration, freely to contribute  …  But be careful! There is nothing good at the first time, you need to build it with right people
  • 19.
    No need to spend too much time in planning  No code written in early phases for requirement validation  Communication issue  Tester-developer schedule alignment  No risk deferral  Adaptive with requirement change  …  But be careful, don’t just do “Iterative”
  • 21.
    Plan Driven Value Driven Fixed Variable Scope Scope Variable Variable Fixed Fixed Time Resources Time Resources
  • 22.
    Increasing Innovation  Increase the quality of the deliverables  Deliver the highest business value features first  Onsite customer  …  It is not easy to do “Variable Scope”
  • 23.
    Remove organizational overhead  Remove management pressure from teams  Remove process / planning overhead  …  It is really hard and need support from your management level

Editor's Notes

  • #9 Requirement is never fixed in the software development
  • #14 People may think that this is the way Scrum manages requirement changes
  • #15 Just my stories in the development point of view, don’t say about theory or business point of view
  • #16 Agile principles?
  • #17 Easy to understand but extremely to implement.
  • #18 But move peopleout if they cannot adapt
  • #24 Different thinking between management and engineering levels -> engineering is forced to live a lie