SlideShare a Scribd company logo
1 of 95
Download to read offline
Agile (as practiced today)
           is the new Waterfall
                              Embrace Uncertainty

                                        Naresh Jain
                                   naresh@agilefaqs.com


                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    1
For me to make sense lets look at...
         Some examples of heavy weight process
         Lean Thinking
         Origin of Agile
         Agile Values and Principles
         Summary of how Agile helps
         Where do things go Wrong?
         Naked Agile


                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    2
Software Engineering?




                            Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                     3
Software Engineering?


               Creating Software is a Craft.
               Converting source code to
             executable is the engineering bit.


                            Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                     3
IEEE defines Software Engineering as...

                    “Software Engineering is the application of
                           a systematic, disciplined, quantifiable
                      approach to development, operation and
                        maintenance of software: that is, the
                       application of engineering to software.”
                                            IEEE Standard Computer Dictionary,
                                                        ISBN 1-55937-079-3, 1990

                             Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                           4
Who used Software Engineering?




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    5
Who used Software Engineering?




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    5
For the space shuttle’s operating system
                             Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                      6
Some Statistics
                           NASA’s Defect Density




                             Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                      7
Some Statistics
                           NASA’s Defect Density



   The last 11 versions of the space
    shuttle’s 420,000 line systems
      had a total of 17 defects.




                             Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                      7
Some Statistics
                           NASA’s Defect Density



   The last 11 versions of the space
    shuttle’s 420,000 line systems
      had a total of 17 defects.




                             Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                      7
One More Data Point




                            Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                     8
One More Data Point




                            Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                     8
Another real
               software engineering project




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    9
Another real
               software engineering project
        Safeguard - Ballistic Missile Defense System




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    9
Another real
               software engineering project
        Safeguard - Ballistic Missile Defense System                                      18
                                                               20
                                                                                 code &
                                                                                unit test
                                                                 design
                                                                                  18 %
                                                                  20 %

        1969-1975, 5407 person years
                                                             reqmts
        Hardware designed at the same time                    20 %
                                                      20                    integration
        as software specs being written
                                                                              testing
                                                                               42 %
        Late changes in requirements not an
        option
                                                                                    42




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                                       9
Another real
               software engineering project
        Safeguard - Ballistic Missile Defense System                                      18
                                                               20
                                                                                 code &
                                                                                unit test
                                                                 design
                                                                                  18 %
                                                                  20 %

        1969-1975, 5407 person years
                                                             reqmts
        Hardware designed at the same time                    20 %
                                                      20                    integration
        as software specs being written
                                                                              testing
                                                                               42 %
        Late changes in requirements not an
        option
                                                                                    42
                                      Did it Succeed?

                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                                       9
Safeguard
      Ballistic Missile Defense System…




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    10
Safeguard
      Ballistic Missile Defense System…
   Revised Project Statistics




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    10
Safeguard
      Ballistic Missile Defense System…
   Revised Project Statistics
         The project was delivered according to specifications




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    10
Safeguard
      Ballistic Missile Defense System…
   Revised Project Statistics
         The project was delivered according to specifications
         Cost: $25 Billion (not adjusted)




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    10
Safeguard
      Ballistic Missile Defense System…
   Revised Project Statistics
         The project was delivered according to specifications
         Cost: $25 Billion (not adjusted)
         1969-1975, 5407 person years




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    10
Safeguard
      Ballistic Missile Defense System…
   Revised Project Statistics
         The project was delivered according to specifications
         Cost: $25 Billion (not adjusted)
         1969-1975, 5407 person years
   Operational for 133 days - Project terminated in 1978




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    10
Safeguard
      Ballistic Missile Defense System…
   Revised Project Statistics
         The project was delivered according to specifications
         Cost: $25 Billion (not adjusted)
         1969-1975, 5407 person years
   Operational for 133 days - Project terminated in 1978

      ‘By the time the 6-year anti-missile system project was
       completed, the new missiles were faster than the anti-
                          missile missiles’

                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    10
Where did things go wrong?




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    11
Where did things go wrong?
        Software Engineering is a heavy weight methodology and such
        heavy weight methodologies characteristically are most successful
        when:
           Requirements are stable
           Technology is well known and mature
           Everything happens as one would expect
           We are not taking on anything new or unknown
           We have done this many times before



                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    11
Where did things go wrong?
        Software Engineering is a heavy weight methodology and such
        heavy weight methodologies characteristically are most successful
        when:
           Requirements are stable
           Technology is well known and mature
           Everything happens as one would expect
           We are not taking on anything new or unknown
           We have done this many times before

            Projects with these characteristics are few and far between.

                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    11
Other Heavy Weight Methodologies
                      Heavy Weight
                                                           SEI/IEEE Project
                           Waterfall                        Standards and
                                                              Definitions



                                                            Requirements
                              RUP
                                                            Management




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                      12
Other Heavy Weight Methodologies
                      Heavy Weight
                                                           SEI/IEEE Project
                           Waterfall                        Standards and
                                                              Definitions



                                                            Requirements
                              RUP
                                                            Management




               Heavy weight methodologies work in some instances, but
                there are high costs, and the risk in using them in
                         dynamic environments is high.
                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                      12
So, heavy weight methodologies don’t seem to meet our
                          needs


                            Is there an alternative?




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    13
Agenda for this session
        Some examples of heavy weight process
        Lean Thinking
        Origin of Agile
        Agile Values and Principles
        Summary of how Agile helps
        Where do things go wrong?
        Naked Agile


                             Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                      14
Lower cost of change
           through higher quality software
                                                Traditional cost profile




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    15
Lower cost of change
           through higher quality software
                                                    Traditional cost profile


                          Time spent:
                    •    Finding defects
                    •     Fixing Defects
                    •   Regression Testing
                    •       Deploying




                               Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                        15
Lower cost of change
           through higher quality software
                                                    Traditional cost profile


                          Time spent:
                    •    Finding defects
                    •     Fixing Defects
                    •   Regression Testing
                    •       Deploying




                                                                                More defects
                                                                                   found
                                                     Agile system cost profile   & corrected –
                                                                                causes lower
                                                                                cost of defect
                                                                                 correction



                               Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                                         15
Lean Thinking – Eliminate Waste
      The Toyota Production System, 1988 (1978), Taichii
      Ohno
          Pull Scheduling - Just-in-Time Flow
          Expose Problems - Stop-the-Line Culture




      Study Of ‘Toyota’ Production System, 1981, Shigeo
      Shingo
          Non-Stock Production - Single Minute Setup
          Zero Inspection – Automatic Error Detection at Every Step
                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    16
Building Quality into the Process




                                                         Toyoda Loom
                           Licensed Under Creative Commons by Naresh Jain

Thursday, April 30, 2009                                                    17
Lessons from Queuing theory




                                                  Utilization (%)
             Source: Beyond Agile Software Development Becoming Lean, Mary Poppendieck, Poppendieck.llc
                              Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                                                  18
Traditional Process




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    19
Traditional Process




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    19
Applying Lean Principles
                    to Software Development




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    20
Applying Lean Principles
                    to Software Development




   End-to-End
  small slices of
      work
                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    20
Applying Lean Principles
                    to Software Development




   End-to-End
  small slices of
                                                   20 % done = 100 % usable
      work
                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                      20
Lean Principles applied
                     to Software Development
   Project Plan/Estimation
   Requirements Gathering

                               Use Cases /
                             Functional Specs

                                               Design
                                            Specifications

                                                             Code


                                                                        Test


                                                                                                           $
                                                                                     Fix / Integrate
   Inception


                                                $


                                                                    $


                                                                               $


                                                                                                       $



                                    Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                                                       21
Agenda for this session
        Some examples of heavy weight process
        Lean Thinking
        Origin of Agile
        Agile Values and Principles
        Summary of how Agile helps
        Where do things go wrong?
        Naked Agile


                             Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                      22
New Methodologies Emerged

                                                     XP




                               FDD                                       Scrum




                           Crystal Family                                DSDM




                                Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                         23
2000




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    24
2000
      XP | Extreme Programming (Kent Beck)
      DSDM | Dynamic System Development Method (Dane Faulkner)
      FDD | Feature Driven Development (Jeff DeLuca)
      SCRUM (Ken Schwaber)
      Crystal (Alistair Cockburn)
      Adaptive Software Development (Jim Highsmith)
      Lean Software Development (Mary Poppendieck)




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    24
Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    25
2001
   Agile
  manifesto




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    25
2001
                              “We are uncovering better ways of developing software by doing
                                it and helping others do it. Through this work we have come to
                                value:

   Agile
  manifesto




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                                     25
2001
                              “We are uncovering better ways of developing software by doing
                                it and helping others do it. Through this work we have come to
                                value:

   Agile                         – Individuals and interactions OVER processes and tools.

  manifesto




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                                     25
2001
                              “We are uncovering better ways of developing software by doing
                                it and helping others do it. Through this work we have come to
                                value:

   Agile                         – Individuals and interactions OVER processes and tools.

  manifesto
                                 – Working software OVER comprehensive documentation.




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                                     25
2001
                              “We are uncovering better ways of developing software by doing
                                it and helping others do it. Through this work we have come to
                                value:

   Agile                         – Individuals and interactions OVER processes and tools.

  manifesto
                                 – Working software OVER comprehensive documentation.
                                 – Customer collaboration OVER contract negotiation.




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                                     25
2001
                              “We are uncovering better ways of developing software by doing
                                it and helping others do it. Through this work we have come to
                                value:

   Agile                             Individuals and interactions OVER processes and tools.
                                 –

  manifesto                          Working software OVER comprehensive documentation.
                                 –
                                     Customer collaboration OVER contract negotiation.
                                 –
                                     Responding to change OVER following a plan.
                                 –




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                                     25
2001
                                 “We are uncovering better ways of developing software by doing
                                   it and helping others do it. Through this work we have come to
                                   value:

   Agile                                 Individuals and interactions OVER processes and tools.
                                     –

  manifesto                              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.”




                           © 2001 Agile Alliance. http://www.agilemanifesto.org

                              Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                                            25
Agenda for this session
         Some examples of heavy weight process
         Lean Thinking
         Origin of Agile
         Agile Values and Principles
         Summary of how Agile helps
         Where do things go wrong?
         Naked Agile


                             Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                      26
Principles behind the Manifesto

         Our highest priority is to satisfy the customer through early and
         continuous delivery of valuable software.
         Welcome changing requirements, even late in development. Agile
         processes harness change for the customer's competitive
         advantage.
         Deliver working software frequently, from a couple of weeks
         to a couple of months, with a preference to the shorter timescale.
         Business people and developers must work together daily
         throughout the project.


                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                      27
Principles behind the Manifesto...
         Build projects around motivated individuals. Give them the
         environment and support they need, and trust them to get the job
         done.
         The most efficient and effective method of conveying information to
         and within a development team is face-to-face conversation.
         Working software is the primary measure of progress.
         Agile processes promote sustainable development. The
         sponsors, developers, and users should be able to maintain a constant
         pace indefinitely.



                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                         28
Principles behind the Manifesto...

         Simplicity--the art of maximizing the amount of work not done--is
         essential.
         Continuous attention to technical excellence and good design
         enhances agility.
         The best architectures, requirements, and designs emerge from
         self-organizing teams.
         At regular intervals, the team reflects on how to become more
         effective, then tunes and adjusts its behavior accordingly.



                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                     29
Agile is Designed to deal with




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    30
Agile is Designed to deal with

         Ziv's law - specifications will never be fully understood.




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    30
Agile is Designed to deal with

         Ziv's law - specifications will never be fully understood.
         Humphrey's law - the user will never know what they want until after the
        system is in production (maybe not even then)




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                            30
Agile is Designed to deal with

         Ziv's law - specifications will never be fully understood.
         Humphrey's law - the user will never know what they want until after the
        system is in production (maybe not even then)
         Wegner's lemma - an interactive system can never be fully specified nor
        can it ever be fully tested.




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                            30
Agile is Designed to deal with

         Ziv's law - specifications will never be fully understood.
         Humphrey's law - the user will never know what they want until after the
        system is in production (maybe not even then)
         Wegner's lemma - an interactive system can never be fully specified nor
        can it ever be fully tested.
         Langdon's lemma - software evolves more rapidly as it approaches chaotic
        regions (taking care not to spill over into chaos)




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                            30
Agile is Designed to deal with

         Ziv's law - specifications will never be fully understood.
         Humphrey's law - the user will never know what they want until after the
        system is in production (maybe not even then)
         Wegner's lemma - an interactive system can never be fully specified nor
        can it ever be fully tested.
         Langdon's lemma - software evolves more rapidly as it approaches chaotic
        regions (taking care not to spill over into chaos)

                           Any association of predictive or defined processes
                                with Agile is an exercise in futility. - Jeff

                                  Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                            30
Agenda for this session
        Some examples of heavy weight process
        Lean Thinking
        Origin of Agile
        Agile Values and Principles
        Summary of how Agile helps
        Where do things go wrong?
        Naked Agile


                             Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                      31
Use of Agile Methods

              Helps handle changing requirements & priorities
              Lowers cost of change
              Provides better visibility into project progress
              Reduces risk
              Maximizes Return on Investment (business value prioritized)
              Encourages higher quality, simpler code
              Delivers business value early & often


                            Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                     32
But...with....




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    33
But...with....

              Courage!!




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    33
But...with....

              Courage!!
              Constant Business involvement




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    33
But...with....

              Courage!!
              Constant Business involvement
              A need for more Discipline




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    33
But...with....

              Courage!!
              Constant Business involvement
              A need for more Discipline
              Greater emphasis on Testing




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    33
But...with....

              Courage!!
              Constant Business involvement
              A need for more Discipline
              Greater emphasis on Testing
              Whole Organization Involvement




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    33
But...with....

              Courage!!
              Constant Business involvement
              A need for more Discipline
              Greater emphasis on Testing
              Whole Organization Involvement
              Last but not the least, with an OPEN MIND




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    33
Agenda for this session
        Some examples of heavy weight process
        Lean Thinking
        Origin of Agile
        Agile Values and Principles
        Summary of how Agile helps
        Where do things go wrong?
        Naked Agile


                             Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                      34
So what makes Agile the new Waterfall?




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    35
So what makes Agile the new Waterfall?
       Do you really think this is how companies are adopting Agile?




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    35
So what makes Agile the new Waterfall?
       Do you really think this is how companies are adopting Agile?
       Mass adoption of Scrum/XP across the organization




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    35
So what makes Agile the new Waterfall?
       Do you really think this is how companies are adopting Agile?
       Mass adoption of Scrum/XP across the organization
          What about Organizational Transformation & Cultural Changes?




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    35
So what makes Agile the new Waterfall?
       Do you really think this is how companies are adopting Agile?
       Mass adoption of Scrum/XP across the organization
          What about Organizational Transformation & Cultural Changes?
          Unreasonable, false expectations




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    35
So what makes Agile the new Waterfall?
       Do you really think this is how companies are adopting Agile?
       Mass adoption of Scrum/XP across the organization
          What about Organizational Transformation & Cultural Changes?
          Unreasonable, false expectations
          Making Agile a very prescriptive, consistent PROCESS




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    35
So what makes Agile the new Waterfall?
       Do you really think this is how companies are adopting Agile?
       Mass adoption of Scrum/XP across the organization
          What about Organizational Transformation & Cultural Changes?
          Unreasonable, false expectations
          Making Agile a very prescriptive, consistent PROCESS
             Process and Tools OVER Teams and their needs




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    35
So what makes Agile the new Waterfall?
       Do you really think this is how companies are adopting Agile?
       Mass adoption of Scrum/XP across the organization
          What about Organizational Transformation & Cultural Changes?
          Unreasonable, false expectations
          Making Agile a very prescriptive, consistent PROCESS
             Process and Tools OVER Teams and their needs
             Scrum Masters and Coaches are the new Process Police (Silver Bullet)




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                            35
So what makes Agile the new Waterfall?
       Do you really think this is how companies are adopting Agile?
       Mass adoption of Scrum/XP across the organization
          What about Organizational Transformation & Cultural Changes?
          Unreasonable, false expectations
          Making Agile a very prescriptive, consistent PROCESS
             Process and Tools OVER Teams and their needs
             Scrum Masters and Coaches are the new Process Police (Silver Bullet)
       Business model built around Agile




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                            35
So what makes Agile the new Waterfall?
       Do you really think this is how companies are adopting Agile?
       Mass adoption of Scrum/XP across the organization
          What about Organizational Transformation & Cultural Changes?
          Unreasonable, false expectations
          Making Agile a very prescriptive, consistent PROCESS
             Process and Tools OVER Teams and their needs
             Scrum Masters and Coaches are the new Process Police (Silver Bullet)
       Business model built around Agile
          Certification



                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                            35
So what makes Agile the new Waterfall?
       Do you really think this is how companies are adopting Agile?
       Mass adoption of Scrum/XP across the organization
          What about Organizational Transformation & Cultural Changes?
          Unreasonable, false expectations
          Making Agile a very prescriptive, consistent PROCESS
             Process and Tools OVER Teams and their needs
             Scrum Masters and Coaches are the new Process Police (Silver Bullet)
       Business model built around Agile
          Certification
          Tools vendors

                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                            35
So what makes Agile the new Waterfall?
       Do you really think this is how companies are adopting Agile?
       Mass adoption of Scrum/XP across the organization
          What about Organizational Transformation & Cultural Changes?
          Unreasonable, false expectations
          Making Agile a very prescriptive, consistent PROCESS
             Process and Tools OVER Teams and their needs
             Scrum Masters and Coaches are the new Process Police (Silver Bullet)
       Business model built around Agile
          Certification
          Tools vendors
          Training and Coaching by non-practitioners
                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                            35
So what makes Agile the new Waterfall?
       Do you really think this is how companies are adopting Agile?
       Mass adoption of Scrum/XP across the organization
          What about Organizational Transformation & Cultural Changes?
          Unreasonable, false expectations
          Making Agile a very prescriptive, consistent PROCESS

    Today Agile seems to be full oftheir needs
        Process and Tools OVER Teams and Ceremony and Dogmatism
             Scrum Masters and Coaches are the new Process Police (Silver Bullet)
       Business model built around Agile
          Certification
          Tools vendors
          Training and Coaching by non-practitioners
                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                            35
Where do things go wrong?
         Lack of understanding of software development
            Software development is not
               a Manufacturing process
               an Engineering or Construction process
            Ziv, Humphrey, Wegner's laws and Langdon's lemma
            Mythical man month
         Gold rush
         Lack of theoretical understanding of the underlying principles
         Myths and Fallacies

                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    36
Theory to understand why Agile works


         Theory of Constraints and Lean Thinking
         Complex adaptive systems: the science of uncertainty
         Cognitive science: the nature of human decision making
         Evolutionary psychology & anthropology: the origins of
         social interaction & its nature




                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    37
Cynefin Framework




                               Dave Snowden, Cognitive Edge
                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    38
Project Design based on Cynefin




                               Dave Snowden, Cognitive Edge
                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                    39
Agenda for this session
        Some examples of heavy weight process
        Lean Thinking
        Origin of Agile
        Agile Values and Principles
        Summary of how Agile helps
        Where do things go wrong?
        Naked Agile


                             Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                      40
Introducing “Naked Agile”
         Naked Agile: True essence of Agile without the Process Crap
         (ceremony and dogmatism)
            The Bloat Effect
            Iterations and Time-boxes are high ceremony
            Cease Inspection; Who needs a separate QA Team
            Requirements Considered Harmful
            Estimations Considered Harmful
            Projecting Velocity is Useless
            Simple Design;Yes Simple not Simply Design & Coding is NOT Programming
            TDD is not about Testing & TDD is not limited to Unit-tests
            Agile != Rapid Software Development; Embrace Simplicity (Art of maximizing work
            not done)
                           Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                                      41
Questions? Thank You




                                 naresh@agilefaqs.com
                            Licensed Under Creative Commons by Naresh Jain
Thursday, April 30, 2009                                                     42

More Related Content

What's hot

Agile Methodology(SCRUM)
Agile Methodology(SCRUM)Agile Methodology(SCRUM)
Agile Methodology(SCRUM)
KhushSlideShare
 
Agile Project Management with Scrum
Agile Project Management with ScrumAgile Project Management with Scrum
Agile Project Management with Scrum
Aditya Raj
 
Agile Scrum Presentation-Detailed
Agile Scrum Presentation-DetailedAgile Scrum Presentation-Detailed
Agile Scrum Presentation-Detailed
Prashaanth T R
 

What's hot (20)

Agile Metrics 101
Agile Metrics 101Agile Metrics 101
Agile Metrics 101
 
Agile Methodology(SCRUM)
Agile Methodology(SCRUM)Agile Methodology(SCRUM)
Agile Methodology(SCRUM)
 
Agile best practices
Agile best practicesAgile best practices
Agile best practices
 
Seeking Nirvana - Predictability in a Complex World
Seeking Nirvana - Predictability in a Complex WorldSeeking Nirvana - Predictability in a Complex World
Seeking Nirvana - Predictability in a Complex World
 
Practical Scrum - one day training
Practical Scrum - one day training Practical Scrum - one day training
Practical Scrum - one day training
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
Kanban vs Scrum: What's the difference, and which should you use?
Kanban vs Scrum: What's the difference, and which should you use?Kanban vs Scrum: What's the difference, and which should you use?
Kanban vs Scrum: What's the difference, and which should you use?
 
Agile metrics
Agile metricsAgile metrics
Agile metrics
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agile
 
Tips n' Tricks - Sprint Review
Tips n' Tricks - Sprint ReviewTips n' Tricks - Sprint Review
Tips n' Tricks - Sprint Review
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Agile Project Management with Scrum
Agile Project Management with ScrumAgile Project Management with Scrum
Agile Project Management with Scrum
 
Kanban - Back to Basics
Kanban - Back to BasicsKanban - Back to Basics
Kanban - Back to Basics
 
The 12 Agile Principles
The 12 Agile PrinciplesThe 12 Agile Principles
The 12 Agile Principles
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
Agile Scrum Presentation-Detailed
Agile Scrum Presentation-DetailedAgile Scrum Presentation-Detailed
Agile Scrum Presentation-Detailed
 
Agile KPIs
Agile KPIsAgile KPIs
Agile KPIs
 
Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile MethodologiesAgile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
 
Kanban
KanbanKanban
Kanban
 
Agile 101
Agile 101Agile 101
Agile 101
 

Viewers also liked

Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile Methodology
Haresh Karkar
 
Agile Methodology - Data Migration v1.0
Agile Methodology - Data Migration v1.0Agile Methodology - Data Migration v1.0
Agile Methodology - Data Migration v1.0
Julian Samuels
 
Scrum process powerpoint ppt slides.
Scrum process powerpoint ppt slides.Scrum process powerpoint ppt slides.
Scrum process powerpoint ppt slides.
SlideTeam.net
 

Viewers also liked (20)

Scrum In 15 Minutes
Scrum In 15 MinutesScrum In 15 Minutes
Scrum In 15 Minutes
 
Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile Methodology
 
Waterfall to Agile Demo
Waterfall to Agile DemoWaterfall to Agile Demo
Waterfall to Agile Demo
 
Scrum an Agile Methodology
Scrum an Agile MethodologyScrum an Agile Methodology
Scrum an Agile Methodology
 
Introduction to Agile - Scrum, Kanban, and everything in between
Introduction to Agile - Scrum, Kanban, and everything in betweenIntroduction to Agile - Scrum, Kanban, and everything in between
Introduction to Agile - Scrum, Kanban, and everything in between
 
Agile Methodology - Data Migration v1.0
Agile Methodology - Data Migration v1.0Agile Methodology - Data Migration v1.0
Agile Methodology - Data Migration v1.0
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 
Preparing a data migration plan: A practical guide
Preparing a data migration plan: A practical guidePreparing a data migration plan: A practical guide
Preparing a data migration plan: A practical guide
 
Scrum by picture
Scrum by pictureScrum by picture
Scrum by picture
 
Scrum introduction
Scrum introductionScrum introduction
Scrum introduction
 
Scrum 101
Scrum 101 Scrum 101
Scrum 101
 
The Scrum Model
The Scrum ModelThe Scrum Model
The Scrum Model
 
Scrum process powerpoint ppt slides.
Scrum process powerpoint ppt slides.Scrum process powerpoint ppt slides.
Scrum process powerpoint ppt slides.
 
Learn Scrum Engineering in 5 minutes
Learn Scrum Engineering in 5 minutesLearn Scrum Engineering in 5 minutes
Learn Scrum Engineering in 5 minutes
 
2017 Scrum by Picture
2017 Scrum by Picture2017 Scrum by Picture
2017 Scrum by Picture
 
What is scrum in Agile methodology?
What is scrum in Agile methodology?What is scrum in Agile methodology?
What is scrum in Agile methodology?
 
Get Up! Stand Up!
Get Up! Stand Up!Get Up! Stand Up!
Get Up! Stand Up!
 
Agile Scrum software methodology
Agile Scrum software methodologyAgile Scrum software methodology
Agile Scrum software methodology
 
Scrum in 15 Minutes
Scrum in 15 MinutesScrum in 15 Minutes
Scrum in 15 Minutes
 
Running a Scrum process with Trello
Running a Scrum process with TrelloRunning a Scrum process with Trello
Running a Scrum process with Trello
 

More from Naresh Jain

Organizational Resilience
Organizational ResilienceOrganizational Resilience
Organizational Resilience
Naresh Jain
 
Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming Code
Naresh Jain
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
Naresh Jain
 

More from Naresh Jain (20)

Problem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignProblem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary Design
 
Agile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteAgile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome Note
 
Organizational Resilience
Organizational ResilienceOrganizational Resilience
Organizational Resilience
 
Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming Code
 
Agile India 2018 Conference Summary
Agile India 2018 Conference SummaryAgile India 2018 Conference Summary
Agile India 2018 Conference Summary
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
 
Pilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert VirdingPilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert Virding
 
Concurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco CesariniConcurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco Cesarini
 
Erlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco CesariniErlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco Cesarini
 
Anatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur DatarAnatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur Datar
 
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppSetting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile App
 
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to ProdTowards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas
 
No Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKennaNo Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKenna
 
Functional Programming Conference 2016
Functional Programming Conference 2016Functional Programming Conference 2016
Functional Programming Conference 2016
 
Agile India 2017 Conference
Agile India 2017 ConferenceAgile India 2017 Conference
Agile India 2017 Conference
 
The Eclipse Way
The Eclipse WayThe Eclipse Way
The Eclipse Way
 
Unleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDTUnleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDT
 

Recently uploaded

Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 

Recently uploaded (20)

AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4j
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxBT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 

Agile Is the New Waterfall

  • 1. Agile (as practiced today) is the new Waterfall Embrace Uncertainty Naresh Jain naresh@agilefaqs.com Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 1
  • 2. For me to make sense lets look at... Some examples of heavy weight process Lean Thinking Origin of Agile Agile Values and Principles Summary of how Agile helps Where do things go Wrong? Naked Agile Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 2
  • 3. Software Engineering? Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 3
  • 4. Software Engineering? Creating Software is a Craft. Converting source code to executable is the engineering bit. Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 3
  • 5. IEEE defines Software Engineering as... “Software Engineering is the application of a systematic, disciplined, quantifiable approach to development, operation and maintenance of software: that is, the application of engineering to software.” IEEE Standard Computer Dictionary, ISBN 1-55937-079-3, 1990 Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 4
  • 6. Who used Software Engineering? Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 5
  • 7. Who used Software Engineering? Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 5
  • 8. For the space shuttle’s operating system Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 6
  • 9. Some Statistics NASA’s Defect Density Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 7
  • 10. Some Statistics NASA’s Defect Density The last 11 versions of the space shuttle’s 420,000 line systems had a total of 17 defects. Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 7
  • 11. Some Statistics NASA’s Defect Density The last 11 versions of the space shuttle’s 420,000 line systems had a total of 17 defects. Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 7
  • 12. One More Data Point Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 8
  • 13. One More Data Point Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 8
  • 14. Another real software engineering project Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 9
  • 15. Another real software engineering project Safeguard - Ballistic Missile Defense System Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 9
  • 16. Another real software engineering project Safeguard - Ballistic Missile Defense System 18 20 code & unit test design 18 % 20 % 1969-1975, 5407 person years reqmts Hardware designed at the same time 20 % 20 integration as software specs being written testing 42 % Late changes in requirements not an option 42 Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 9
  • 17. Another real software engineering project Safeguard - Ballistic Missile Defense System 18 20 code & unit test design 18 % 20 % 1969-1975, 5407 person years reqmts Hardware designed at the same time 20 % 20 integration as software specs being written testing 42 % Late changes in requirements not an option 42 Did it Succeed? Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 9
  • 18. Safeguard Ballistic Missile Defense System… Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 10
  • 19. Safeguard Ballistic Missile Defense System… Revised Project Statistics Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 10
  • 20. Safeguard Ballistic Missile Defense System… Revised Project Statistics The project was delivered according to specifications Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 10
  • 21. Safeguard Ballistic Missile Defense System… Revised Project Statistics The project was delivered according to specifications Cost: $25 Billion (not adjusted) Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 10
  • 22. Safeguard Ballistic Missile Defense System… Revised Project Statistics The project was delivered according to specifications Cost: $25 Billion (not adjusted) 1969-1975, 5407 person years Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 10
  • 23. Safeguard Ballistic Missile Defense System… Revised Project Statistics The project was delivered according to specifications Cost: $25 Billion (not adjusted) 1969-1975, 5407 person years Operational for 133 days - Project terminated in 1978 Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 10
  • 24. Safeguard Ballistic Missile Defense System… Revised Project Statistics The project was delivered according to specifications Cost: $25 Billion (not adjusted) 1969-1975, 5407 person years Operational for 133 days - Project terminated in 1978 ‘By the time the 6-year anti-missile system project was completed, the new missiles were faster than the anti- missile missiles’ Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 10
  • 25. Where did things go wrong? Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 11
  • 26. Where did things go wrong? Software Engineering is a heavy weight methodology and such heavy weight methodologies characteristically are most successful when: Requirements are stable Technology is well known and mature Everything happens as one would expect We are not taking on anything new or unknown We have done this many times before Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 11
  • 27. Where did things go wrong? Software Engineering is a heavy weight methodology and such heavy weight methodologies characteristically are most successful when: Requirements are stable Technology is well known and mature Everything happens as one would expect We are not taking on anything new or unknown We have done this many times before Projects with these characteristics are few and far between. Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 11
  • 28. Other Heavy Weight Methodologies Heavy Weight SEI/IEEE Project Waterfall Standards and Definitions Requirements RUP Management Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 12
  • 29. Other Heavy Weight Methodologies Heavy Weight SEI/IEEE Project Waterfall Standards and Definitions Requirements RUP Management Heavy weight methodologies work in some instances, but there are high costs, and the risk in using them in dynamic environments is high. Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 12
  • 30. So, heavy weight methodologies don’t seem to meet our needs Is there an alternative? Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 13
  • 31. Agenda for this session Some examples of heavy weight process Lean Thinking Origin of Agile Agile Values and Principles Summary of how Agile helps Where do things go wrong? Naked Agile Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 14
  • 32. Lower cost of change through higher quality software Traditional cost profile Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 15
  • 33. Lower cost of change through higher quality software Traditional cost profile Time spent: • Finding defects • Fixing Defects • Regression Testing • Deploying Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 15
  • 34. Lower cost of change through higher quality software Traditional cost profile Time spent: • Finding defects • Fixing Defects • Regression Testing • Deploying More defects found Agile system cost profile & corrected – causes lower cost of defect correction Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 15
  • 35. Lean Thinking – Eliminate Waste The Toyota Production System, 1988 (1978), Taichii Ohno Pull Scheduling - Just-in-Time Flow Expose Problems - Stop-the-Line Culture Study Of ‘Toyota’ Production System, 1981, Shigeo Shingo Non-Stock Production - Single Minute Setup Zero Inspection – Automatic Error Detection at Every Step Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 16
  • 36. Building Quality into the Process Toyoda Loom Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 17
  • 37. Lessons from Queuing theory Utilization (%) Source: Beyond Agile Software Development Becoming Lean, Mary Poppendieck, Poppendieck.llc Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 18
  • 38. Traditional Process Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 19
  • 39. Traditional Process Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 19
  • 40. Applying Lean Principles to Software Development Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 20
  • 41. Applying Lean Principles to Software Development End-to-End small slices of work Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 20
  • 42. Applying Lean Principles to Software Development End-to-End small slices of 20 % done = 100 % usable work Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 20
  • 43. Lean Principles applied to Software Development Project Plan/Estimation Requirements Gathering Use Cases / Functional Specs Design Specifications Code Test $ Fix / Integrate Inception $ $ $ $ Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 21
  • 44. Agenda for this session Some examples of heavy weight process Lean Thinking Origin of Agile Agile Values and Principles Summary of how Agile helps Where do things go wrong? Naked Agile Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 22
  • 45. New Methodologies Emerged XP FDD Scrum Crystal Family DSDM Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 23
  • 46. 2000 Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 24
  • 47. 2000 XP | Extreme Programming (Kent Beck) DSDM | Dynamic System Development Method (Dane Faulkner) FDD | Feature Driven Development (Jeff DeLuca) SCRUM (Ken Schwaber) Crystal (Alistair Cockburn) Adaptive Software Development (Jim Highsmith) Lean Software Development (Mary Poppendieck) Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 24
  • 48. Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 25
  • 49. 2001 Agile manifesto Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 25
  • 50. 2001 “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Agile manifesto Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 25
  • 51. 2001 “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Agile – Individuals and interactions OVER processes and tools. manifesto Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 25
  • 52. 2001 “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Agile – Individuals and interactions OVER processes and tools. manifesto – Working software OVER comprehensive documentation. Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 25
  • 53. 2001 “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Agile – Individuals and interactions OVER processes and tools. manifesto – Working software OVER comprehensive documentation. – Customer collaboration OVER contract negotiation. Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 25
  • 54. 2001 “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Agile Individuals and interactions OVER processes and tools. – manifesto Working software OVER comprehensive documentation. – Customer collaboration OVER contract negotiation. – Responding to change OVER following a plan. – Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 25
  • 55. 2001 “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Agile Individuals and interactions OVER processes and tools. – manifesto 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.” © 2001 Agile Alliance. http://www.agilemanifesto.org Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 25
  • 56. Agenda for this session Some examples of heavy weight process Lean Thinking Origin of Agile Agile Values and Principles Summary of how Agile helps Where do things go wrong? Naked Agile Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 26
  • 57. Principles behind the Manifesto Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 27
  • 58. Principles behind the Manifesto... Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 28
  • 59. Principles behind the Manifesto... Simplicity--the art of maximizing the amount of work not done--is essential. Continuous attention to technical excellence and good design enhances agility. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 29
  • 60. Agile is Designed to deal with Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 30
  • 61. Agile is Designed to deal with Ziv's law - specifications will never be fully understood. Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 30
  • 62. Agile is Designed to deal with Ziv's law - specifications will never be fully understood. Humphrey's law - the user will never know what they want until after the system is in production (maybe not even then) Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 30
  • 63. Agile is Designed to deal with Ziv's law - specifications will never be fully understood. Humphrey's law - the user will never know what they want until after the system is in production (maybe not even then) Wegner's lemma - an interactive system can never be fully specified nor can it ever be fully tested. Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 30
  • 64. Agile is Designed to deal with Ziv's law - specifications will never be fully understood. Humphrey's law - the user will never know what they want until after the system is in production (maybe not even then) Wegner's lemma - an interactive system can never be fully specified nor can it ever be fully tested. Langdon's lemma - software evolves more rapidly as it approaches chaotic regions (taking care not to spill over into chaos) Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 30
  • 65. Agile is Designed to deal with Ziv's law - specifications will never be fully understood. Humphrey's law - the user will never know what they want until after the system is in production (maybe not even then) Wegner's lemma - an interactive system can never be fully specified nor can it ever be fully tested. Langdon's lemma - software evolves more rapidly as it approaches chaotic regions (taking care not to spill over into chaos) Any association of predictive or defined processes with Agile is an exercise in futility. - Jeff Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 30
  • 66. Agenda for this session Some examples of heavy weight process Lean Thinking Origin of Agile Agile Values and Principles Summary of how Agile helps Where do things go wrong? Naked Agile Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 31
  • 67. Use of Agile Methods Helps handle changing requirements & priorities Lowers cost of change Provides better visibility into project progress Reduces risk Maximizes Return on Investment (business value prioritized) Encourages higher quality, simpler code Delivers business value early & often Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 32
  • 68. But...with.... Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 33
  • 69. But...with.... Courage!! Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 33
  • 70. But...with.... Courage!! Constant Business involvement Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 33
  • 71. But...with.... Courage!! Constant Business involvement A need for more Discipline Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 33
  • 72. But...with.... Courage!! Constant Business involvement A need for more Discipline Greater emphasis on Testing Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 33
  • 73. But...with.... Courage!! Constant Business involvement A need for more Discipline Greater emphasis on Testing Whole Organization Involvement Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 33
  • 74. But...with.... Courage!! Constant Business involvement A need for more Discipline Greater emphasis on Testing Whole Organization Involvement Last but not the least, with an OPEN MIND Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 33
  • 75. Agenda for this session Some examples of heavy weight process Lean Thinking Origin of Agile Agile Values and Principles Summary of how Agile helps Where do things go wrong? Naked Agile Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 34
  • 76. So what makes Agile the new Waterfall? Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 35
  • 77. So what makes Agile the new Waterfall? Do you really think this is how companies are adopting Agile? Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 35
  • 78. So what makes Agile the new Waterfall? Do you really think this is how companies are adopting Agile? Mass adoption of Scrum/XP across the organization Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 35
  • 79. So what makes Agile the new Waterfall? Do you really think this is how companies are adopting Agile? Mass adoption of Scrum/XP across the organization What about Organizational Transformation & Cultural Changes? Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 35
  • 80. So what makes Agile the new Waterfall? Do you really think this is how companies are adopting Agile? Mass adoption of Scrum/XP across the organization What about Organizational Transformation & Cultural Changes? Unreasonable, false expectations Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 35
  • 81. So what makes Agile the new Waterfall? Do you really think this is how companies are adopting Agile? Mass adoption of Scrum/XP across the organization What about Organizational Transformation & Cultural Changes? Unreasonable, false expectations Making Agile a very prescriptive, consistent PROCESS Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 35
  • 82. So what makes Agile the new Waterfall? Do you really think this is how companies are adopting Agile? Mass adoption of Scrum/XP across the organization What about Organizational Transformation & Cultural Changes? Unreasonable, false expectations Making Agile a very prescriptive, consistent PROCESS Process and Tools OVER Teams and their needs Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 35
  • 83. So what makes Agile the new Waterfall? Do you really think this is how companies are adopting Agile? Mass adoption of Scrum/XP across the organization What about Organizational Transformation & Cultural Changes? Unreasonable, false expectations Making Agile a very prescriptive, consistent PROCESS Process and Tools OVER Teams and their needs Scrum Masters and Coaches are the new Process Police (Silver Bullet) Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 35
  • 84. So what makes Agile the new Waterfall? Do you really think this is how companies are adopting Agile? Mass adoption of Scrum/XP across the organization What about Organizational Transformation & Cultural Changes? Unreasonable, false expectations Making Agile a very prescriptive, consistent PROCESS Process and Tools OVER Teams and their needs Scrum Masters and Coaches are the new Process Police (Silver Bullet) Business model built around Agile Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 35
  • 85. So what makes Agile the new Waterfall? Do you really think this is how companies are adopting Agile? Mass adoption of Scrum/XP across the organization What about Organizational Transformation & Cultural Changes? Unreasonable, false expectations Making Agile a very prescriptive, consistent PROCESS Process and Tools OVER Teams and their needs Scrum Masters and Coaches are the new Process Police (Silver Bullet) Business model built around Agile Certification Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 35
  • 86. So what makes Agile the new Waterfall? Do you really think this is how companies are adopting Agile? Mass adoption of Scrum/XP across the organization What about Organizational Transformation & Cultural Changes? Unreasonable, false expectations Making Agile a very prescriptive, consistent PROCESS Process and Tools OVER Teams and their needs Scrum Masters and Coaches are the new Process Police (Silver Bullet) Business model built around Agile Certification Tools vendors Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 35
  • 87. So what makes Agile the new Waterfall? Do you really think this is how companies are adopting Agile? Mass adoption of Scrum/XP across the organization What about Organizational Transformation & Cultural Changes? Unreasonable, false expectations Making Agile a very prescriptive, consistent PROCESS Process and Tools OVER Teams and their needs Scrum Masters and Coaches are the new Process Police (Silver Bullet) Business model built around Agile Certification Tools vendors Training and Coaching by non-practitioners Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 35
  • 88. So what makes Agile the new Waterfall? Do you really think this is how companies are adopting Agile? Mass adoption of Scrum/XP across the organization What about Organizational Transformation & Cultural Changes? Unreasonable, false expectations Making Agile a very prescriptive, consistent PROCESS Today Agile seems to be full oftheir needs Process and Tools OVER Teams and Ceremony and Dogmatism Scrum Masters and Coaches are the new Process Police (Silver Bullet) Business model built around Agile Certification Tools vendors Training and Coaching by non-practitioners Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 35
  • 89. Where do things go wrong? Lack of understanding of software development Software development is not a Manufacturing process an Engineering or Construction process Ziv, Humphrey, Wegner's laws and Langdon's lemma Mythical man month Gold rush Lack of theoretical understanding of the underlying principles Myths and Fallacies Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 36
  • 90. Theory to understand why Agile works Theory of Constraints and Lean Thinking Complex adaptive systems: the science of uncertainty Cognitive science: the nature of human decision making Evolutionary psychology & anthropology: the origins of social interaction & its nature Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 37
  • 91. Cynefin Framework Dave Snowden, Cognitive Edge Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 38
  • 92. Project Design based on Cynefin Dave Snowden, Cognitive Edge Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 39
  • 93. Agenda for this session Some examples of heavy weight process Lean Thinking Origin of Agile Agile Values and Principles Summary of how Agile helps Where do things go wrong? Naked Agile Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 40
  • 94. Introducing “Naked Agile” Naked Agile: True essence of Agile without the Process Crap (ceremony and dogmatism) The Bloat Effect Iterations and Time-boxes are high ceremony Cease Inspection; Who needs a separate QA Team Requirements Considered Harmful Estimations Considered Harmful Projecting Velocity is Useless Simple Design;Yes Simple not Simply Design & Coding is NOT Programming TDD is not about Testing & TDD is not limited to Unit-tests Agile != Rapid Software Development; Embrace Simplicity (Art of maximizing work not done) Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 41
  • 95. Questions? Thank You naresh@agilefaqs.com Licensed Under Creative Commons by Naresh Jain Thursday, April 30, 2009 42