• No results found

Software Development Going Incremental, Iterative and Agile:

N/A
N/A
Protected

Academic year: 2021

Share "Software Development Going Incremental, Iterative and Agile:"

Copied!
13
0
0

Loading.... (view fulltext now)

Full text

(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.

(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 and

clear 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

(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 g

agile

• Thus: We need (

industrial

) studies

comparing

(4)

Study Goals

• Gain an

in-depth understanding

of benefits

and problems in different development

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 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

h

projects taking 12-18 months to an approach

that it is a combination of incremental,

iterative and agile

(5)

Ma rke t e qu ire m en ts

Needs Customer Specific Needs Change in Needs Change in Needs Requirements Repository

Requirement Requirement Customer Requirement Requirement

NEW MODEL Pr oj ect R e Project A Requirement Package Requirement Package Specific Requirement Requirement Package Project B Project C Customer Adaptation Project Project D Project E Requirement Package • Projects deliver increments • Work in projects is done iteratively • Agile practices T Latest System Vers io n Re le a s e Potential Release LSV LSV LSV LSV Release N Release N+1 Customer Adaption Potential Release Potential Release LSV

are used within projects

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 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

(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 model

model and the new development model

respectively, and how do they differ?

• How have performance measures changed

after implementing the new model?

(7)

Research design: data collection

Several 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 analysis

A 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)

(8)

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

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

C

WF

Maint. High number of corrections released

C

WF

PM

Specialized competence / lack of confidence

C

IIA

VV

Reduction of test coverage

(9)

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 w. late test

B

WF

VV

Faults found late hard / expensive to fix

9 out of 13 general issues are

related to the waterfall model

B

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

Description

A

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 verification

B

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

ranked

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

Severity of requirements

problem seems reduced

(10)

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

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

(11)

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)

(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% o st ( in % ) 0% 20% 40% 60% 2002 2003 2004 2005 2006 2007 2008 C o Year

Maintenance Cost (Baseline) Maintenance Cost Actual

Requirements waste

Reduction of discarded requirements (less de-scoping)

Waterfall Incremental, iterative and agile

26% 4% Implemented Waste 74% 96%

(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 details

Petersen, K. and Wohlin, C., ”The Effect of Moving from a

Plan-driven to an Incremental Software Development

Plan driven to an Incremental Software Development

Approach with Agile Practices”, Empirical Software

Engineering, Vol. 15, No. 6, pp. 654-693, 2010.

Questions?

Questions?

References

Related documents

Hypothesis 3 : The mediated relationship between attachment style (anxious and avoidant), romantic jealousy, and romantic relational aggression will be moderated by mate value,

Different types of soil parent materials resulted in different soil development in the study area.In comparison among theparent materials, altered materials showed

Both Integrated Pest Management (IPM) and Organic Farming (OF) regimes regard the protection of the environment and its biodiversity (Council Regulation (EEC) no. However, it

Precise qualifications vary, but proponents agree that all rapid development tools do the following: They allow courses to be developed more quickly and at a lower cost

These Standards set out to define what a professional working in people management and development should be able to do or should be able to understand, explain and

MeSH terms searched included: chronic obstructive pulmonary disease, antibiotics, macrolides, antibacterial, azithromycin, bronchodilators, standard therapy, COPD

The hepatic lipid parameters were unaltered, but betaine supplementation improved DHA, AA and saturated fatty acids incorporation in brain phospholipids, suggesting that betaine can

Single- and dual-task writing performance (amplitude and velocity) were analyzed using a 2 x 2 x 2 repeated measures ANOVA design with group (PD patients, healthy controls)