+ All Categories
Home > Documents > Software Development Going Incremental, Iterative and Agile: Advantages and Challenges

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

Date post: 05-Dec-2014
Category:
Upload: distinguished-lecturer-series-leon-the-mathematician
View: 988 times
Download: 1 times
Share this document with a friend
Description:
Professor Claes Wohlin gave a lecture on "Software Development Going Incremental, Iterative and Agile: Advantages and Challenges " in the Distinguished Lecturer Series - Leon The Mathematician. More Information available at: http://goo.gl/yjalB
13
2010-12-08 1 Software Development Going Incremental, Iterative and Agile: Advantages and Challenges 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.
Transcript
Page 1: Software Development Going Incremental, Iterative and Agile: Advantages and Challenges

2010-12-08

1

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

An Industrial Case Study

Prof. Claes Wohlin, Blekinge Institute of Technology, SwedenProfessorial 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.

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

2010-12-08

2

Plan versus Change Driven Development

Plan-driven Change-driven models models

Communication Processes and tools are more important than informal communication

Self-organizing teams that coordinate by informal communication

Management Command-and-control style of management with clear separation of roles

The project manager is a coach or facilitator. The team organizes itself andclear separation of roles team organizes itself and makes the decisions concerning what to do

Documentation All tasks to be performed and the desired outcomes of each phase is specified from the beginning

Processes, principles, work structures are recognized during the project rather than predetermined

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

2010-12-08

3

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 of the impact of process change including U de s d g o e p c o p ocess c ge c ud gagile

• Thus: We need (industrial) studies comparing incremental/iterative/agile with other models

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

2010-12-08

4

Study Goals• Gain an in-depth understanding of benefits

and problems in different developmentand 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 case s udy a csso ,Karlskrona

– Telecommunication domain, dynamic market, high degree of customization, global software engineering

– Moving from a waterfall approach with j t t ki 12 18 th t hprojects taking 12-18 months to an approach

that it is a combination of incremental, iterative and agile

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

2010-12-08

5

Mar

ket

equi

rem

ents

NeedsCustomer SpecificNeeds

Change in Needs

Change in Needs

Requirements Repository

Requirement Requirement Customer Requirement Requirement

NEW MODELP

roje

ctR

e

Project A

Requirement Package

Requirement Package Specific

Requirement

Requirement Package

Project B

Project CCustomerAdaptation

Project Project D

Project E

Requirement Package

• Projects deliver increments

• Work in projects is done iteratively

• Agile practices

T

Late

st

Sys

tem

Ve

rsio

nR

elea

se

PotentialRelease

LSV LSV LSV LSV

Release N

ReleaseN+1

Customer Adaption

PotentialRelease

PotentialRelease

LSV

are used within projects

Agile and Incremental Practices @Company (marked with red)

Principle Incremental XP SCRUM CIterations and Increments X X X XInternal and External Releases X XInternal and External Releases X XTime Boxing X X X XNo Change of Started Projects X X XIncremental Deliveries XOn-site Customer X XFrequent Face-to-Face Interaction X X XSelf-Organizing Teams X XEmpirical Process X XSustainable Discipline XAdaptive Planning X XRequirements Prioritization X X XFast Decision Making XFrequent Integration X X XSimplicity of Design XRefactoring XTeam Code Ownership X

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

2010-12-08

6

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 modelmodel and the new development model respectively, and how do they differ?

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

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

2010-12-08

7

Research design: data collectionSeveral data collections methods were used:• 33 interviews across the whole development• 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• Measurements collected by company

• Requirements waste and change requests• Quality data (fault-slip-through, maintenance)

Research design: data analysisA model for classification was developed:• General issues (relevant for more than one• 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)

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

2010-12-08

8

Results:Comparison of

issues

Class. Mod. PA DescriptionA 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 fixB 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 releasedC WF Maint. High number of corrections released

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

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

2010-12-08

9

Class. Mod. PA DescriptionA WF RE Waste of requirements work

A WF VV Reduction of test coverage

B WF VV Amount of faults increases w. late test

B WF VV Faults found late hard / expensive to fix

9 out of 13 general issues are related to the waterfall modelB WF VV Faults found late hard / expensive to fix

B IIA VV Low quality in sys.test increases testing time

C WF RE Too much unused doc. produced in RE

C WF D Design free capacity due to long RE lead time

C WF D Confusion who implements what requirements vers.

C WF Maint High number of corrections released

related to the waterfall model

AND

The waterfall issues are more crucial (see issues A and B)

C WF Maint. High number of corrections released

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 DescriptionA WF RE Waste of requirements work

A WF VV Reduction of test coverage

B WF VV Amount of faults increases w. late test

B WF VV Faults found late hard / expensive to fix

The major problems are related to requirements

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

B IIA VV Low quality in sys.test increases testing time

C WF RE Too much unused doc. produced in RE

C WF D Design free capacity due to long RE lead time

C WF D Confusion who implements what requirements vers.

C WF Maint High number of corrections released

engineering and verification and validation

For agile, the verification problem is the highest

rankedC WF Maint. High number of corrections released

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

Severity of requirements problem seems reduced

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

2010-12-08

10

Class. Mod. PA DescriptionA 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 fixB WF VV Faults found late hard / expensive to fix

B IIA VV Low quality in sys.test increases testing time

C WF RE Too much unused doc. produced in RE

C WF D Design free capacity due to long RE lead time

C WF D Confusion who implements what requirements vers.

C WF Maint High number of corrections released

Reduction of test coverage: less of a problem in agile

development

C WF Maint. High number of corrections released

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

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

2010-12-08

11

RE More stable requiremens reduce reworkRE Everything started is implementedRE Estimations based on req. are more preciseVV Early fault detection and feedback from testVV The duration of testing is reducedPM Moving people together reduces documentation

(documentation replaced by direct communication)

Measures

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

2010-12-08

12

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

80%

100%

120%

140%

160%os

t (in

%)

0%

20%

40%

60%

2002 2003 2004 2005 2006 2007 2008

Co

Year

Maintenance Cost (Baseline)

Maintenance Cost Actual

Requirements wasteReduction of discarded requirements (less de-scoping)

Waterfall Incremental, iterative and agile

26%

4%

Implemented

Waste

74%

96%

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

2010-12-08

13

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 detailsPetersen, K. and Wohlin, C., ”The Effect of Moving from a

Plan-driven to an Incremental Software DevelopmentPlan driven to an Incremental Software Development Approach with Agile Practices”, Empirical Software Engineering, Vol. 15, No. 6, pp. 654-693, 2010.

Questions?Questions?


Recommended