SlideShare une entreprise Scribd logo
1  sur  13
Télécharger pour lire hors ligne
2010-12-08




Software Development Going
Incremental, Iterative and Agile:
Advantages and Challenges
                                   An Industrial Case Study


Prof. Claes Wohlin, Blekinge Institute of Technology, Sweden
Professorial Visiting Fellow, UNSW
Kai Petersen (BTH / Ericsson AB)




          The Evolution of Software
              Process Models




  Salo, O., “Enabling Software Process Improvement in Agile Software Development Teams and
  Organisations” thesis, VTT, Espoo, 2006, Finland.




                                                                                                     1
2010-12-08




       Plan versus Change Driven
              Development
                Plan-driven                  Change-driven
                models                       models
Communication   Processes and tools are      Self-organizing teams that
                more important than          coordinate by informal
                informal communication       communication

Management      Command-and-control       The project manager is a
                style of management with coach or facilitator. The
                clear separation of roles team organizes itself and
                                          makes the decisions
                                          concerning what to do
Documentation   All tasks to be performed    Processes, principles, work
                and the desired outcomes     structures are recognized
                of each phase is specified   during the project rather
                from the beginning           than predetermined




                                                                                   2
2010-12-08




Motivation for Work
• Flexibility in reacting to changing requirements is a
  major success factor for software companies
• Plan-driven approaches are not sufficiently flexible
• Research gap:
   – Understanding of agile methods (issues / benefits)
      • Focus only on XP
      • Lack of rigor in research methods
   – Understanding o the impact of process change including
     U de s d g of e p c o p ocess c ge c ud g
     agile
• Thus: We need (industrial) studies comparing
  incremental/iterative/agile with other models




                                                                      3
2010-12-08




Study Goals
• Gain an in-depth understanding of benefits
  and problems in different development
  approaches and comparison between them.
  For example, what are the actual problems
  with a waterfall approach?
• Measure the impact of change from waterfall
  to a mixture of incremental, iterative and agile




Research context
• Company:
  – Industrial case study at Ericsson AB,
       dus a        s udy a      csso    ,
    Karlskrona
  – Telecommunication domain, dynamic market,
    high degree of customization, global software
    engineering
  – Moving from a waterfall approach with
    projects taking 12-18 months to an approach
        j t t ki 12 18          th t           h
    that it is a combination of incremental,
    iterative and agile




                                                             4
2010-12-08




                                           Customer                  Change in              Change in
                       Needs                Specific                                                              NEW MODEL
 Market
                                                                      Needs                  Needs
                                            Needs


                                                  Requirements Repository
  equirements




                                                        Customer
                       Requirement      Requirement                          Requirement    Requirement
 Re




                                                         Specific
                         Package          Package                              Package        Package
                                                       Requirement
                                                                                                                       • Projects deliver
                                                                                                                       increments
                           Project A
 Project




                                                                 Project C                     Project E
                                                                Customer                                               • Work in projects
                                                                Adaptation
                                                                  Project          Project D                           is done iteratively
                                                   Project B
                                                                                                                       • Agile practices
                                                                                                                       are used within
                                                                                                                       projects
Version
System
Latest




                                     LSV                  LSV           LSV                 LSV        LSV
           Release




                       Release        Potential          Release       Customer            Potential       Potential
                          N           Release             N+1          Adaption            Release         Release
                                                                                                                            T




                     Agile and Incremental Practices
                     @Company (marked with red)
         Principle                                                                    Incremental            XP    SCRUM        C
         Iterations and Increments                                                         X                  X      X           X
         Internal and External Releases                                                    X                                     X
         Time Boxing                                                                       X                 X          X        X
         No Change of Started Projects                                                     X                            X        X
         Incremental Deliveries                                                            X
         On-site Customer                                                                                    X          X
         Frequent Face-to-Face Interaction                                                                   X          X       X
         Self-Organizing Teams                                                                               X          X
         Empirical Process                                                                                   X          X
         Sustainable Discipline                                                                              X
         Adaptive Planning                                                                                   X          X
         Requirements Prioritization                                                                         X          X       X
         Fast Decision Making                                                                                           X
         Frequent Integration                                                                                X          X       X
         Simplicity of Design                                                                                X
         Refactoring                                                                                         X
         Team Code Ownership                                                                                 X




                                                                                                                                                     5
2010-12-08




Research context - system
• Units of Analysis:
               Language   Size (LOC)     #Persons
 Overall Sys               > 5,000.000        -
Subsystem 1       C++       300,000          43
Subsystem 2       C++       850,000          53
Subsystem 3       Java       24,000          17
   Apache         C++       220,000          90




            Research questions
• What are the issues / benefits of the waterfall
  model and the new development model
  respectively, and how do they differ?

• How have performance measures changed
  after implementing the new model?




                                                            6
2010-12-08




Research design: data collection
Several data collections methods were used:
• 33 interviews across the whole development
  lifecycle (different roles) covering different
  subsystems with more than 30 hours of
  transcribed interview data
• Archival analysis of process documentation
• Measurements collected by company
   • Requirements waste and change requests
   • Quality data (fault-slip-through, maintenance)




Research design: data analysis
A model for classification was developed:
• General issues (relevant for more than one
  sub-system and more than one role)
   • Number of responses used to classify issues
     into: critical (A), very important (B),
     important factors (C) and others (D)
• Local issues (only one component or one
  role)




                                                              7
2010-12-08




               Results:
             Comparison of
                issues



Class. Mod. PA     Description
  A     WF RE Waste of requirements work
  A     WF   VV Reduction of test coverage
  B     WF   VV Amount of faults increases with late test
  B     WF   VV Faults found late hard / expensive to fix
  B     IIA  VV Low quality in system test increases testing time
  C     WF RE Too much unused documentation produced in RE
  C     WF    D Design free capacity due to long RE duration
  C     WF    D Confusion who implements what requirements
  C     WF Maint High number of corrections released
            Maint.

  C     WF PM Specialized competence / lack of confidence
  C     IIA  VV Reduction of test coverage
  C     IIA Rel. Release project involved too late in process
  C     IIA  PM Management overhead for coordination




                                                                            8
2010-12-08




Class. Mod. PA     Description
  A     WF RE Waste of requirements work
  A     WF   VV Reduction of test coverage
  B     WF            9 out of 13 general issues are
             VV Amount of faults increases w. late test
  B     WF   VV Faults related hard the waterfall model
                       found late to / expensive to fix

  B     IIA  VV Low quality in sys.test increases testing time
                                           AND
  C     WF RE Too much unused doc. produced in RE
  C     WF    D Design free capacity due to long RE lead time
                       The waterfall issues are more
  C     WF    D Confusion who implements what requirements vers.
                        crucial (see issues A and B)
  C     WF Maint High number of corrections released
            Maint.

  C     WF PM Specialized competence / lack of confidence
  C     IIA  VV Reduction of test coverage
  C     IIA Rel. Release project involved too late in process
  C     IIA  PM Management overhead for coordination




Class. Mod. PA     Description
  A     WF RE Waste of requirements work
  A     WF   VV ReductionThe major problems are
                             of test coverage

  B     WF   VV Amount ofrelated to requirements
                             faults increases w. late test

  B     WF   VV Faults engineering and verification
                         found late hard / expensive to fix

  B     IIA
                                     and validation
             VV Low quality in sys.test increases testing time
  C     WF RE Too much unused doc. produced in RE
                           For agile, the verification
  C     WF    D Design free capacity due to long RE lead time
                             problem is the highest
  C     WF    D Confusion who implements what requirements vers.
                                          ranked
  C     WF Maint High number of corrections released
            Maint.

  C     WF PM Specialized competence / lack of confidence
                           Severity of requirements
  C     IIA  VV Reduction of test coverage
                            problem seems reduced
  C     IIA Rel.   Release project involved too late in process

  C     IIA  PM Management overhead for coordination




                                                                           9
2010-12-08




Class. Mod. PA     Description
  A     WF RE Waste of requirements work
  A     WF   VV Reduction of test coverage
  B     WF   VV Amount of faults increases with late test
  B     WF   VV Faults found late hard / expensive to fix
  B     IIA  VV Low quality in sys.test increases testing time
                     Reduction of test coverage:
  C     WF RE Too much unused doc. produced in RE
                      less of a problem in agile
  C     WF    D Design free capacity due to long RE lead time
                               development
  C     WF    D Confusion who implements what requirements vers.
  C     WF Maint High number of corrections released
            Maint.

  C     WF PM Specialized competence / lack of confidence
  C     IIA  VV Reduction of test coverage
  C     IIA Rel. Release project involved too late in process
  C     IIA  PM Management overhead for coordination




         Results:
       Improvements
    through new model



                                                                          10
2010-12-08




RE   More stable requiremens reduce rework
RE   Everything started is implemented
RE   Estimations based on req. are more precise
VV   Early fault detection and feedback from test
VV   The duration of testing is reduced
PM   Moving people together reduces documentation
     (documentation replaced by direct communication)




             Measures




                                                               11
2010-12-08




 Quality measures
 • Reduction of fault-slip-through in system test from
   31 % to 19 % -> improvement in early testing
 • Overall improvement in testing reflected in stabilized
   maintenance costs
                                                    160%

                                                    140%

                                                    120%
                                        Co (in %)




                                                    100%
                                         ost




                                                    80%

                                                    60%

          Maintenance Cost (Baseline)               40%

          Maintenance Cost Actual
                                                    20%

                                                     0%
                                                       2002    2003   2004   2005   2006    2007   2008

                                                                             Year




 Requirements waste
 Reduction of discarded requirements (less de-scoping)
          Waterfall              Incremental, iterative and agile
                                                                                           4%
26%



                                                              Implemented

                                                              Waste


                                                     74%
                                                                                                          96%




                                                                                                                       12
2010-12-08




 Conclusion
• Incremental, iterative and agile practices have reduced
  the severity of requirements engineering problems

• Test coverage and quality of the products are improved

• However, incremental, iterative and agile development
  comes with a set of new challenges!
   – Testing still requires improvement
   – Things get easier on project level, but become harder on
     product and management levels (e.g. coordination!)




                     More details
 Petersen, K. and Wohlin, C., ”The Effect of Moving from a
   Plan driven
   Plan-driven to an Incremental Software Development
   Approach with Agile Practices”, Empirical Software
   Engineering, Vol. 15, No. 6, pp. 654-693, 2010.




                           Questions?




                                                                       13

Contenu connexe

Plus de Distinguished Lecturer Series - Leon The Mathematician

Plus de Distinguished Lecturer Series - Leon The Mathematician (20)

Defying Nyquist in Analog to Digital Conversion
Defying Nyquist in Analog to Digital ConversionDefying Nyquist in Analog to Digital Conversion
Defying Nyquist in Analog to Digital Conversion
 
Opening Second Greek Signal Processing Jam
Opening Second Greek Signal Processing JamOpening Second Greek Signal Processing Jam
Opening Second Greek Signal Processing Jam
 
Sparse and Low Rank Representations in Music Signal Analysis
 Sparse and Low Rank Representations in Music Signal  Analysis Sparse and Low Rank Representations in Music Signal  Analysis
Sparse and Low Rank Representations in Music Signal Analysis
 
Nonlinear Communications: Achievable Rates, Estimation, and Decoding
Nonlinear Communications: Achievable Rates, Estimation, and DecodingNonlinear Communications: Achievable Rates, Estimation, and Decoding
Nonlinear Communications: Achievable Rates, Estimation, and Decoding
 
Sparsity Control for Robustness and Social Data Analysis
Sparsity Control for Robustness and Social Data AnalysisSparsity Control for Robustness and Social Data Analysis
Sparsity Control for Robustness and Social Data Analysis
 
Mixture Models for Image Analysis
Mixture Models for Image AnalysisMixture Models for Image Analysis
Mixture Models for Image Analysis
 
Semantic 3DTV Content Analysis and Description
Semantic 3DTV Content Analysis and DescriptionSemantic 3DTV Content Analysis and Description
Semantic 3DTV Content Analysis and Description
 
Sparse and Redundant Representations: Theory and Applications
Sparse and Redundant Representations: Theory and ApplicationsSparse and Redundant Representations: Theory and Applications
Sparse and Redundant Representations: Theory and Applications
 
Tribute to Nicolas Galatsanos
Tribute to Nicolas GalatsanosTribute to Nicolas Galatsanos
Tribute to Nicolas Galatsanos
 
Data Quality: Not Your Typical Database Problem
Data Quality: Not Your Typical Database ProblemData Quality: Not Your Typical Database Problem
Data Quality: Not Your Typical Database Problem
 
From Programs to Systems – Building a Smarter World
From Programs to Systems – Building a Smarter WorldFrom Programs to Systems – Building a Smarter World
From Programs to Systems – Building a Smarter World
 
Artificial Intelligence and Human Thinking
Artificial Intelligence and Human ThinkingArtificial Intelligence and Human Thinking
Artificial Intelligence and Human Thinking
 
Farewell to Disks: Efficient Processing of Obstinate Data
Farewell to Disks: Efficient Processing of Obstinate DataFarewell to Disks: Efficient Processing of Obstinate Data
Farewell to Disks: Efficient Processing of Obstinate Data
 
Artificial Intelligence and Human Thinking
Artificial Intelligence and Human ThinkingArtificial Intelligence and Human Thinking
Artificial Intelligence and Human Thinking
 
State Space Exploration for NASA’s Safety Critical Systems
State Space Exploration for NASA’s Safety Critical SystemsState Space Exploration for NASA’s Safety Critical Systems
State Space Exploration for NASA’s Safety Critical Systems
 
Web Usage Miningand Using Ontology for Capturing Web Usage Semantic
Web Usage Miningand Using Ontology for Capturing Web Usage SemanticWeb Usage Miningand Using Ontology for Capturing Web Usage Semantic
Web Usage Miningand Using Ontology for Capturing Web Usage Semantic
 
Descriptive Granularity - Building Foundations of Data Mining
Descriptive Granularity - Building Foundations of Data MiningDescriptive Granularity - Building Foundations of Data Mining
Descriptive Granularity - Building Foundations of Data Mining
 
The Tower of Knowledge A Generic System Architecture
The Tower of Knowledge A Generic System ArchitectureThe Tower of Knowledge A Generic System Architecture
The Tower of Knowledge A Generic System Architecture
 
A Classification Framework For Component Models
 A Classification Framework For Component Models A Classification Framework For Component Models
A Classification Framework For Component Models
 
Jamming in Wireless Sensor Networks
Jamming in Wireless Sensor NetworksJamming in Wireless Sensor Networks
Jamming in Wireless Sensor Networks
 

Software Development Going Incremental, Iterative and Agile: Advantages and Challenges

  • 1. 2010-12-08 Software Development Going Incremental, Iterative and Agile: Advantages and Challenges An Industrial Case Study Prof. Claes Wohlin, Blekinge Institute of Technology, Sweden Professorial Visiting Fellow, UNSW Kai Petersen (BTH / Ericsson AB) The Evolution of Software Process Models Salo, O., “Enabling Software Process Improvement in Agile Software Development Teams and Organisations” thesis, VTT, Espoo, 2006, Finland. 1
  • 2. 2010-12-08 Plan versus Change Driven Development Plan-driven Change-driven models models Communication Processes and tools are Self-organizing teams that more important than coordinate by informal informal communication communication Management Command-and-control The project manager is a style of management with coach or facilitator. The clear separation of roles team organizes itself and makes the decisions concerning what to do Documentation All tasks to be performed Processes, principles, work and the desired outcomes structures are recognized of each phase is specified during the project rather from the beginning than predetermined 2
  • 3. 2010-12-08 Motivation for Work • Flexibility in reacting to changing requirements is a major success factor for software companies • Plan-driven approaches are not sufficiently flexible • Research gap: – Understanding of agile methods (issues / benefits) • Focus only on XP • Lack of rigor in research methods – Understanding o the impact of process change including U de s d g of e p c o p ocess c ge c ud g agile • Thus: We need (industrial) studies comparing incremental/iterative/agile with other models 3
  • 4. 2010-12-08 Study Goals • Gain an in-depth understanding of benefits and problems in different development approaches and comparison between them. For example, what are the actual problems with a waterfall approach? • Measure the impact of change from waterfall to a mixture of incremental, iterative and agile Research context • Company: – Industrial case study at Ericsson AB, dus a s udy a csso , Karlskrona – Telecommunication domain, dynamic market, high degree of customization, global software engineering – Moving from a waterfall approach with projects taking 12-18 months to an approach j t t ki 12 18 th t h that it is a combination of incremental, iterative and agile 4
  • 5. 2010-12-08 Customer Change in Change in Needs Specific NEW MODEL Market Needs Needs Needs Requirements Repository equirements Customer Requirement Requirement Requirement Requirement Re Specific Package Package Package Package Requirement • Projects deliver increments Project A Project Project C Project E Customer • Work in projects Adaptation Project Project D is done iteratively Project B • Agile practices are used within projects Version System Latest LSV LSV LSV LSV LSV Release Release Potential Release Customer Potential Potential N Release N+1 Adaption Release Release T Agile and Incremental Practices @Company (marked with red) Principle Incremental XP SCRUM C Iterations and Increments X X X X Internal and External Releases X X Time Boxing X X X X No Change of Started Projects X X X Incremental Deliveries X On-site Customer X X Frequent Face-to-Face Interaction X X X Self-Organizing Teams X X Empirical Process X X Sustainable Discipline X Adaptive Planning X X Requirements Prioritization X X X Fast Decision Making X Frequent Integration X X X Simplicity of Design X Refactoring X Team Code Ownership X 5
  • 6. 2010-12-08 Research context - system • Units of Analysis: Language Size (LOC) #Persons Overall Sys > 5,000.000 - Subsystem 1 C++ 300,000 43 Subsystem 2 C++ 850,000 53 Subsystem 3 Java 24,000 17 Apache C++ 220,000 90 Research questions • What are the issues / benefits of the waterfall model and the new development model respectively, and how do they differ? • How have performance measures changed after implementing the new model? 6
  • 7. 2010-12-08 Research design: data collection Several data collections methods were used: • 33 interviews across the whole development lifecycle (different roles) covering different subsystems with more than 30 hours of transcribed interview data • Archival analysis of process documentation • Measurements collected by company • Requirements waste and change requests • Quality data (fault-slip-through, maintenance) Research design: data analysis A model for classification was developed: • General issues (relevant for more than one sub-system and more than one role) • Number of responses used to classify issues into: critical (A), very important (B), important factors (C) and others (D) • Local issues (only one component or one role) 7
  • 8. 2010-12-08 Results: Comparison of issues Class. Mod. PA Description A WF RE Waste of requirements work A WF VV Reduction of test coverage B WF VV Amount of faults increases with late test B WF VV Faults found late hard / expensive to fix B IIA VV Low quality in system test increases testing time C WF RE Too much unused documentation produced in RE C WF D Design free capacity due to long RE duration C WF D Confusion who implements what requirements C WF Maint High number of corrections released Maint. C WF PM Specialized competence / lack of confidence C IIA VV Reduction of test coverage C IIA Rel. Release project involved too late in process C IIA PM Management overhead for coordination 8
  • 9. 2010-12-08 Class. Mod. PA Description A WF RE Waste of requirements work A WF VV Reduction of test coverage B WF 9 out of 13 general issues are VV Amount of faults increases w. late test B WF VV Faults related hard the waterfall model found late to / expensive to fix B IIA VV Low quality in sys.test increases testing time AND C WF RE Too much unused doc. produced in RE C WF D Design free capacity due to long RE lead time The waterfall issues are more C WF D Confusion who implements what requirements vers. crucial (see issues A and B) C WF Maint High number of corrections released Maint. C WF PM Specialized competence / lack of confidence C IIA VV Reduction of test coverage C IIA Rel. Release project involved too late in process C IIA PM Management overhead for coordination Class. Mod. PA Description A WF RE Waste of requirements work A WF VV ReductionThe major problems are of test coverage B WF VV Amount ofrelated to requirements faults increases w. late test B WF VV Faults engineering and verification found late hard / expensive to fix B IIA and validation VV Low quality in sys.test increases testing time C WF RE Too much unused doc. produced in RE For agile, the verification C WF D Design free capacity due to long RE lead time problem is the highest C WF D Confusion who implements what requirements vers. ranked C WF Maint High number of corrections released Maint. C WF PM Specialized competence / lack of confidence Severity of requirements C IIA VV Reduction of test coverage problem seems reduced C IIA Rel. Release project involved too late in process C IIA PM Management overhead for coordination 9
  • 10. 2010-12-08 Class. Mod. PA Description A WF RE Waste of requirements work A WF VV Reduction of test coverage B WF VV Amount of faults increases with late test B WF VV Faults found late hard / expensive to fix B IIA VV Low quality in sys.test increases testing time Reduction of test coverage: C WF RE Too much unused doc. produced in RE less of a problem in agile C WF D Design free capacity due to long RE lead time development C WF D Confusion who implements what requirements vers. C WF Maint High number of corrections released Maint. C WF PM Specialized competence / lack of confidence C IIA VV Reduction of test coverage C IIA Rel. Release project involved too late in process C IIA PM Management overhead for coordination Results: Improvements through new model 10
  • 11. 2010-12-08 RE More stable requiremens reduce rework RE Everything started is implemented RE Estimations based on req. are more precise VV Early fault detection and feedback from test VV The duration of testing is reduced PM Moving people together reduces documentation (documentation replaced by direct communication) Measures 11
  • 12. 2010-12-08 Quality measures • Reduction of fault-slip-through in system test from 31 % to 19 % -> improvement in early testing • Overall improvement in testing reflected in stabilized maintenance costs 160% 140% 120% Co (in %) 100% ost 80% 60% Maintenance Cost (Baseline) 40% Maintenance Cost Actual 20% 0% 2002 2003 2004 2005 2006 2007 2008 Year Requirements waste Reduction of discarded requirements (less de-scoping) Waterfall Incremental, iterative and agile 4% 26% Implemented Waste 74% 96% 12
  • 13. 2010-12-08 Conclusion • Incremental, iterative and agile practices have reduced the severity of requirements engineering problems • Test coverage and quality of the products are improved • However, incremental, iterative and agile development comes with a set of new challenges! – Testing still requires improvement – Things get easier on project level, but become harder on product and management levels (e.g. coordination!) More details Petersen, K. and Wohlin, C., ”The Effect of Moving from a Plan driven Plan-driven to an Incremental Software Development Approach with Agile Practices”, Empirical Software Engineering, Vol. 15, No. 6, pp. 654-693, 2010. Questions? 13