lecture 5: procedure & process models - uni …...2018/05/03  · lecture 5: procedure &...

80
– 5 – 2018-05-03 – main – Softwaretechnik / Software-Engineering Lecture 5: Procedure & Process Models 2018-05-03 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany

Upload: others

Post on 18-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

–5

–2

018

-05

-03

–m

ain

Softwaretechnik / Software-Engineering

Lecture 5: Procedure & Process Models

2018-05-03

Prof. Dr. Andreas Podelski, Dr. Bernd Westphal

Albert-Ludwigs-Universität Freiburg, Germany

Page 2: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Topic Area Project Management: Content–

5–

20

18-0

5-0

3–

Sb

lock

con

ten

t–

2/69

•VL 2 Software Metrics

• Properties of Metrics

• Scales

• Examples

• Cost Estimation

• “(Software) Economics in a Nutshell”

• Expert’s Estimation

• Algorithmic Estimation

• Project Management

• Project

• Process and Process Modelling

• Procedure Models

• Process Models

..

.

Process Metrics

• CMMI, Spice

.

..

VL 3

.

..

VL 4

.

..

VL 5

Page 3: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

–5

–2

018

-05

-03

–m

ain

3/69

Describing Software Development Processes–

4–

20

18-0

4-3

0–

Sp

top

m–

29/49

Over time, the following notions proved useful to describeand model (� in a minute) software development processes:

• role — has resposibilities and rights, needs skills and capabilities. role

In particular: has responsibility for artefacts, participates in activities.

• artefact — all documents, evaluation protocols, software modules, etc.,

state

artefactall products emerging during a development process.

Is processed by activities, may have state.

is responsible for

• activity — any processing of artefacts, manually or automatic; solves tasks.activityDepends on artefacts, creates/modifies artefacts.

participates in

depends on creates/modifies

• decision point — special case of activity: a decision is made based on artefacts (in a certain state),creates a decision artefacts.

Delimits phases, may correspond to milestone.

state

decision point

Page 4: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

–5

–2

018

-05

-03

–m

ain

4/69

From Building Blocks to Process (And Back)–

4–

20

18-0

4-3

0–

Sp

top

m–

34/49

M

codingcoding

M

spec. of M

prgprg. . .

M

testingtesting

rep: M

�/�

tests for M

tst

M1

...

Mn

M1, . . . ,Mn

ready?M1, . . . ,Mn

ready?

decision

mgr

M1

...

Mn

integrateintegrate

decision

S

int

Building Blocks

Plancode Bcode B

B. . .

test Btest B

B. . .

spec. of B tests for B

A,B ready?A,B ready?

decision

integrateintegrate S

spec. of A tests for A

code Acode A

A. . .

test Atest A

A. . .

prg tst

prgprg tst

mgr int

code Bcode B

B. . .

rev. 139.

test Btest B

B. . .

rev. 139.

spec. of B tests for B

A,B ready?A,B ready?

decision

integrateintegrate S

spec. of A tests for A

code Acode A

A. . .

rev. 127.

test Atest A

A. . .

rev. 127.

code Acode A

A. . .

rev. 254.

test Atest A

A. . .

rev. 254.

prg tst

prgprg tst prg tst

mgrint

Process

Page 5: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Content–

5–

20

18-0

5-0

3–

Sco

nte

nt

5/69

• Procedure and Process Models

• Procedure Model Examples

• The (in)famous Waterfall model

• The famous Spiral model

• Procedure classification

• linear / non-linear

• prototyping

• evolutionary, iterative, incremental

• From Procedure to Process Models

• Process Model Examples

• Phase Model

• V-Modell XT

• Agile

• Extreme Programming

• Scrum

• Process Metrics

• CMMI, Spice

Page 6: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Process vs. Procedure Models

–5

–2

018

-05

-03

–m

ain

6/69

Page 7: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Process vs. Procedure Model–

5–

20

18-0

5-0

3–

Sp

mre

call

7/69

(Ludewig and Lichter, 2013) propose to distinguish: process model and procedure model.

• A Process model (‘Prozessmodell’) comprises

(i) Procedure model (‘Vorgehensmodell’)

e.g., “waterfall model” (70s/80s).

(ii) Organisational structure — comprising requirements on

• project management and responsibilities,

• quality assurance,

• documentation, document structure,

• revision control.

e.g., V-Modell, RUP, XP (90s/00s).

• In the literature, process model and procedure model are often used as synonyms;there is not universally agreed distinction.

Page 8: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Procedure Models

— Waterfall —

–5

–2

018

-05

-03

–m

ain

8/69

Page 9: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

The (In)famous Waterfall Model (Rosove, 1967)–

5–

20

18-0

5-0

3–

Sw

ate

rfal

lco

nt

9/69

Waterfall or Document-Model— Software develop-ment is seen as a sequence of activities coupled by (par-tial) results (documents).These activities can be conducted concurrently or iter-atively.

Apart from that, the sequence of activities is fixed as

(basically) analyse, specify, design, code, test, install,maintain. Ludewig & Lichter (2013)

systemanalysis

softwarespecification

architecturedesign

refined designand coding

integrationand testing

installation andacceptance

operation andmaintenance

Page 10: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

The (In)famous Waterfall Model (Rosove, 1967)–

5–

20

18-0

5-0

3–

Sw

ate

rfal

lco

nt

9/69

Waterfall or Document-Model— Software develop-ment is seen as a sequence of activities coupled by (par-tial) results (documents).These activities can be conducted concurrently or iter-atively.

Apart from that, the sequence of activities is fixed as

(basically) analyse, specify, design, code, test, install,maintain. Ludewig & Lichter (2013)

systemanalysis

softwarespecification

architecturedesign

refined designand coding

integrationand testing

installation andacceptance

operation andmaintenance

req. M

spec. M

arch. M

code M

test M

inst. M

S

Page 11: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

The (In)famous Waterfall Model (Rosove, 1967)–

5–

20

18-0

5-0

3–

Sw

ate

rfal

lco

nt

9/69

Waterfall or Document-Model— Software develop-ment is seen as a sequence of activities coupled by (par-tial) results (documents).These activities can be conducted concurrently or iter-atively.

Apart from that, the sequence of activities is fixed as

(basically) analyse, specify, design, code, test, install,maintain. Ludewig & Lichter (2013)

systemanalysis

softwarespecification

architecturedesign

refined designand coding

integrationand testing

installation andacceptance

operation andmaintenance

req. M

spec. M

arch. M

code M

test M

inst. M

S

Page 12: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Procedure Models

— Spiral —

–5

–2

018

-05

-03

–m

ain

10/69

Page 13: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

The Spiral Model (Boehm, 1988)–

5–

20

18-0

5-0

3–

Ssp

iral

11/69

Barry W. Boehm

Recall:

Quick Excursion: Risk and Riskvalue

–4

–2

018

-04

-30

–S

mgm

t–

10/49

risk — a problem, which did not occur yet, but on occurrence threatens importantproject goals or results. Whether it will occur, cannot be surely predicted.

Ludewig & Lichter (2013)

riskvalue = p ·K

p: probability of problem occurrence,

K : cost in case of problem occurrence.

105

106

107

108

cost incase ofincidence /e

10�5

10�4

10�3 0.01 0.1 0.5

incidenceprobabilityp

acceptable risks

inacceptable

risks

extreme

risks

• Avionics requires: “Average Probability per Flight Hour for Catastrophic Failure Conditionsof 10�9 or ‘Extremely Improbable”’ (AC 25.1309-1).

• “problems with p = 0.5 are not risks, but environment conditions to be dealt with”

Page 14: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

The Spiral Model (Boehm, 1988)–

5–

20

18-0

5-0

3–

Ssp

iral

11/69

Barry W. Boehm

Note: risks can have various forms and counter-measures, e.g.,

• open technical questions (→ prototype?),

• lead developer about to leave the company (→ invest in documentation?),

• changed market situation (→ adapt appropriate features?),

• . . .

Idea of Spiral Model: do not plan ahead everything, but go step-by-step.

Repeat until end of project (successful completion or failure):

(i) determine the set R of risks which are threatening the project;if R = ∅, the project is successfully completed

(ii) assign each risk r ∈ R a risk value v(r)

(iii) for the risk r0 with the highest risk value, r0 = max{v(r) | r ∈ R},find a way to eliminate this risk, and go this way;if there is no way to eliminate the risk, stop with project failure

Advantages:

• We know early if the project goal is unreachable.

• Knowing that the biggest risks are eliminated gives a good feeling.

westphal
Bleistift
Page 15: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Wait, Where’s the Spiral?–

5–

20

18-0

5-0

3–

Ssp

iral

12/69

A concrete process using the Spiral Model could look as follows:

t (cost, project progress)

t0 t1 t2 t3

- investigate goals, alternatives, side conditions - conduct risk analysis,

- develop and test the next product part, - plan the next phase,

westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
Page 16: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Content–

5–

20

18-0

5-0

3–

Sco

nte

nt

13/69

• Procedure and Process Models

• Procedure Model Examples

• The (in)famous Waterfall model

• The famous Spiral model

• Procedure classification

• linear / non-linear

• prototyping

• evolutionary, iterative, incremental

• From Procedure to Process Models

• Process Model Examples

• Phase Model

• V-Modell XT

• Agile

• Extreme Programming

• Scrum

• Process Metrics

• CMMI, Spice

westphal
Bleistift
Page 17: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Procedure Model Classification

–5

–2

018

-05

-03

–m

ain

14/69

Page 18: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Procedure Model Classification

— Linear vs. Non-Linear —

–5

–2

018

-05

-03

–m

ain

15/69

Page 19: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Linear vs. Non-Linear Procedure Models–

5–

20

18-0

5-0

3–

Slin

ear

16/69

• linear:the strict Waterfall Model(no feedback)

• non-linear:basically everything else(with feedback between activities)

Page 20: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Procedure Model Classification

— By Treatment of Artefacts —

–5

–2

018

-05

-03

–m

ain

17/69

Page 21: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Classification By Treatment of (Software) Artefacts–

5–

20

18-0

5-0

3–

Sp

roto

typ

18/69

• Prototyping:req.

prototypeprototype

P

results

developdevelop S

Page 22: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

(Rapid) Prototyping–

5–

20

18-0

5-0

3–

Sp

roto

typ

19/69

req.

prototypeprototype

P

results

developdevelop S

prototype — A preliminary type, form, or instance of a system that serves as a model for later stages

or for the final, complete version of the system. IEEE 610.12 (1990)

prototyping — A hardware and software development technique in which a preliminary version of

part or all of the hardware or software is developed to permit user feedback, determine feasibility,

or investigate timing or other issues in support of the development process. IEEE 610.12 (1990)

rapid prototyping — A type of prototyping in which emphasis is placed on developing prototypes

early in the development process to permit early feedback and analysis in support of the develop-

ment process. IEEE 610.12 (1990)

Kinds of prototypes, distinguished by. . .

• usage: demonstration prototype, functional prototype, lab sample, pilot system, etc.

• supported activity: explorative prot.: support analysis; experimental prot.: support design;evolutionary prot.: → evolutionary procedure

westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
Page 23: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Classification By Treatment of (Software) Artefacts–

5–

20

18-0

5-0

3–

Se

voit

er

20/69

• Prototyping:req.

prototypeprototype

P

results

developdevelop S

• Evolutionary Development:req.

evolution 1evolution 1 I1 . . . In−1 evolutionnevolutionn S

• Iterative Development:

req.

planplan

spec. 1

...

spec. n

iteration 1iteration 1 I1 · · · In−1 iteration niteration n S

Page 24: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Evolutionary and Iterative Development–

5–

20

18-0

5-0

3–

Se

voit

er

21/69

req.

evolution 1evolution 1 I1 . . . In−1 evolutionnevolutionn S

evolutionary software development — an approach which includes evolutions of the developedsoftware under the influence of practical/field testing.

New and changed requirements are considered by developing the software in sequential steps ofevolution. Ludewig & Lichter (2013), flw. (Züllighoven, 2005)

req.

planplan

spec. 1

...

spec. n

iteration 1iteration 1 I1 · · · In−1 iteration niteration n S

iterative software development — software is developed in multiple iterative steps,all of them planned and controlled.

Goal: each iterative step, beginning with the second, corrects and improves the existing systembased on defects detected during usage.

Each iterative steps includes the characteristic activities analyse, design, code, test.

Ludewig & Lichter (2013)

westphal
Bleistift
Page 25: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Classification By Treatment of (Software) Artefacts–

5–

20

18-0

5-0

3–

Sin

c–

22/69

• Prototyping:req.

prototypeprototype

P

results

developdevelop S

• Evolutionary Development:req.

evolution 1evolution 1 I1 . . . In−1 evolutionnevolutionn S

• Iterative Development:

req.

planplan

spec. 1

...

spec. n

iteration 1iteration 1 I1 · · · In−1 iteration niteration n S

• Incremental Development:req. 1

project 1project 1 S1· · ·

req. n

project nproject n Sn

westphal
Bleistift
Page 26: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Incremental Development–

5–

20

18-0

5-0

3–

Sin

c–

23/69

req. 1

project 1project 1 S1· · ·

req. n

project nproject n Sn

incremental software development — The total extension of a system under development remainsopen; it is realised in stages of expansion. The first stage is the core system.

Each stage of expansion extends the existing system and is subject to a separate project. Providing

a new stage of expansion typically includes (as with iterative development) an improvement of the

old components. Ludewig & Lichter (2013)

• Note: (to maximise confusion) IEEE calls our “iterative” incremental:

incremental development — A software development technique in which requirements definition,

design, implementation, and testing occur in an overlapping, iterative (rather than sequential) man-

ner, resulting in incremental completion of the overall software product. IEEE 610.12 (1990)

• One difference (in our definitions):

• iterative: steps towards fixed goal,

• incremental: goal extended for each step; next step goals may already be planned.

Examples: operating system releases, short time-to-market (→ continuous integration).

westphal
Bleistift
Page 27: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Classification By Treatment of (Software) Artefacts–

5–

20

18-0

5-0

3–

Se

voin

cite

r–

24/69

• Prototyping:req.

prototypeprototype

P

results

developdevelop S

• Evolutionary Development:req.

evolution 1evolution 1 I1 . . . In−1 evolutionnevolutionn S

• Iterative Development:

req.

planplan

spec. 1

...

spec. n

iteration 1iteration 1 I1 · · · In−1 iteration niteration n S

• Incremental Development:req. 1

project 1project 1 S1· · ·

req. n

project nproject n Sn

• Staircase: pipelined incremental

westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
Page 28: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Content–

5–

20

18-0

5-0

3–

Sco

nte

nt

25/69

• Procedure and Process Models

• Procedure Model Examples

• The (in)famous Waterfall model

• The famous Spiral model

• Procedure classification

• linear / non-linear

• prototyping

• evolutionary, iterative, incremental

• From Procedure to Process Models

• Process Model Examples

• Phase Model

• V-Modell XT

• Agile

• Extreme Programming

• Scrum

• Process Metrics

• CMMI, Spice

Page 29: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Process Models

–5

–2

018

-05

-03

–m

ain

26/69

Page 30: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

–5

–2

018

-05

-03

–m

ain

27/69

Page 31: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

From Procedure to Process Model–

5–

20

18-0

5-0

3–

Sp

roce

sse

s–

28/69

A process model may describe:

• steps to be conducted during development,their sequential arrangement,their dependencies(the procedure model)

• organisation, responsibilities, roles

• structure and properties of documents

• methods to be used,e.g., for gathering requirements or checking intermediate results

• project phases, milestones, testing criteria

• notations and languages

• tools to be used(in particular for project management).

Process models typically come with their own terminology (to maximise confusion?),e.g. what we call artefact is called product in V-Model terminology.

westphal
Bleistift
westphal
Bleistift
Page 32: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Content–

5–

20

18-0

5-0

3–

Sco

nte

nt

29/69

• Procedure and Process Models

• Procedure Model Examples

• The (in)famous Waterfall model

• The famous Spiral model

• Procedure classification

• linear / non-linear

• prototyping

• evolutionary, iterative, incremental

• From Procedure to Process Models

• Process Model Examples

• Phase Model

• V-Modell XT

• Agile

• Extreme Programming

• Scrum

• Process Metrics

• CMMI, Spice

Page 33: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Process Models

— Phase Models —

–5

–2

018

-05

-03

–m

ain

30/69

Page 34: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

The Phase Model–

5–

20

18-0

5-0

3–

Sp

has

e–

31/69

• The project is planned by phases,delimited by well-defined milestones.

• Each phase is assigned a time/cost budget.

• Phases and milestones may be part of the development contract;partial payment when reaching milestones.

• Roles, responsibilities, artefacts defined as needed.

• By definition, there is no iteration of phases.

• But activities may span (be active during) multiple phases.

• Not uncommon for small projects(few software people, small product size),and small companies.

westphal
Bleistift
Page 35: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Process Models

— V-Model XT —

–5

–2

018

-05

-03

–m

ain

32/69

Page 36: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

–5

–2

018

-05

-03

–S

vxt

33/69

������������ �����������������

����������

Page 37: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

V-Modell XT–

5–

20

18-0

5-0

3–

Svx

t–

34/69

requirementsfixed

requirementsfixed

acceptanceacceptance

systemspecifiedsystem

specifiedsystem

deliveredsystem

delivered

architecturedesigned

architecturedesigned

systemintegrated

systemintegrated

modulesdesignedmodulesdesigned

systemrealisedsystemrealised

verification & validation

• There are different “V-shaped” process models, we discuss the (German) “V-Modell”.

• “V-Modell”:

• developed by company IABG in cooperation with the Federal Office for Defence Technology andProcurement (‘Bundesministerium für Verteidigung’), released 1998

• (German) government as customer often requires usage of the V-Modell

• 2012: “V-Modell XT” Version 1.4 (Extreme Tailoring) (V-Modell XT, 2006)

westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
Page 38: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

V-Modell XT: Procedure Building Blocks–

5–

20

18-0

5-0

3–

Svx

t–

35/69

a disciplinecomprises one ormore product(s)a product may be

external (‘E’) or initial(‘I’), i.e. created alwaysand exactly once (e.g.

project plan);

a product maydepend on

other products an activity creates aproduct and belongs

to a discipline

a product may consist of topics an activity may consist of steps

a step works on a topic

a role may beresponsible for a

product orcontribute

each producthas at most oneresponsible role

our course V-Modell XT explanation

role role (‘Rolle’)

activity activity (‘Aktivität’)

- step (‘Arbeitsschritt’) parts of activities

artefact product (‘Produkt’)

- topic (‘Thema’) parts of products

our course V-Modell XT explanation

- discipline (‘Disziplin’)set of related prod-ucts / activities

phase project segment (?)(‘Projektabschnitt’)

westphal
Bleistift
Page 39: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

V-Modell XT: Decision Points–

5–

20

18-0

5-0

3–

Svx

t–

36/69

%''������(��1 �2����� -.&5. ����� �������� ��-.������+��������1 ������

Page 40: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

V-Modell XT: Example Building Block & Product State–

5–

20

18-0

5-0

3–

Svx

t–

37/69

�����!*���� ��.��'�������76� ���-����SW-Development (‘SW-Entwicklung’)

5-150 Part 5: V-Modell Reference Work Products

3.10.4.6 Hardware Elements to be Specified

The preparation of a specification for a hardware element is expensive and not always required. In

order to adapt the specification effort to the requirements of individual projects, the »Hardware Ar-

chitect can - based on the specifications in the Project Manual and the requirements - determine

which hardware elements need a »Hardware Specification.

Critiera for the necessity of a specification may include the following: criticality of the hardware el-

ment, complexity of the requirements posed on the hardware element, test requirements specified in

the »Hardware Implementation, Integration and Evaluation Concept. In any case, a hardware speci-

fication shall be prepared for hardware elements to be tested, since this specification will be the ba-

sis for the »Evaluation Specification System Element. If hardware elements are classified as not to

be specified, a rationale shall be included.

3.10.5 Software Architecture

Process module: Software Development

Responsible: Software Architect (when using process module Software Develop-

ment)

Activity: Preparing Software Architecture

Participating: Software Developer, System Architect, System Integrator

Purpose

For every software unit identified in the system architecture, a »Software Architecture will be deve-

loped. Based on the functional and non-functional requirements posed on a »Software Unit, the

»Software Architect is tasked with designing a suitable »Software Architecture. The Product Soft-

ware Architecture will be used as design guide and for documenting the design decisions.

As in the system architecture development, significant architectural principles will be specified, and

possible design alternatives will be examined. In accordance with the selected design alternative,

the software unit will be decomposed into »Software Component, »Software Modules and products

of the type External Software Module. Relations and interfaces between the elements and to the en-

vironment will be identified and summarized. A »Data Catalog of the data structures exchanged at

the interfaces will be prepared.

The suitability of the selected architecture for the system to be developed will be assessed. Open

questions may be answered, e.g., within the scope of a prototype development.

The software architecture design may lead to changes in the system architecture. Depending on the

specifications in the Project Manual, the »System Architect will examine the change and integrate it

immediately, if required. In individual cases, an explicit change request may be necessary.

The main responsibility for the design of the software architecture will be vested in the Software

Architect who will be supported by the »Software Developer and various specialists for individual

subjects, e.g., logistics, safety and security, and ergonomics.

The software architecture is the central document for the preparation of additional products. It spe-

cifies all software components and software modules of the software unit. The individual elements

and their specifications will be developed in accordance with these architectural requirements.

V-Modell® XT, Version 1.3

%''�������#��1 �����������������

westphal
Bleistift
Page 41: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

V-Modell XT: Example Building Block & Product State–

5–

20

18-0

5-0

3–

Svx

t–

37/69

�����!*���� ��.��'�������76� ���-����SW-Development (‘SW-Entwicklung’)

5-150 Part 5: V-Modell Reference Work Products

3.10.4.6 Hardware Elements to be Specified

The preparation of a specification for a hardware element is expensive and not always required. In

order to adapt the specification effort to the requirements of individual projects, the »Hardware Ar-

chitect can - based on the specifications in the Project Manual and the requirements - determine

which hardware elements need a »Hardware Specification.

Critiera for the necessity of a specification may include the following: criticality of the hardware el-

ment, complexity of the requirements posed on the hardware element, test requirements specified in

the »Hardware Implementation, Integration and Evaluation Concept. In any case, a hardware speci-

fication shall be prepared for hardware elements to be tested, since this specification will be the ba-

sis for the »Evaluation Specification System Element. If hardware elements are classified as not to

be specified, a rationale shall be included.

3.10.5 Software Architecture

Process module: Software Development

Responsible: Software Architect (when using process module Software Develop-

ment)

Activity: Preparing Software Architecture

Participating: Software Developer, System Architect, System Integrator

Purpose

For every software unit identified in the system architecture, a »Software Architecture will be deve-

loped. Based on the functional and non-functional requirements posed on a »Software Unit, the

»Software Architect is tasked with designing a suitable »Software Architecture. The Product Soft-

ware Architecture will be used as design guide and for documenting the design decisions.

As in the system architecture development, significant architectural principles will be specified, and

possible design alternatives will be examined. In accordance with the selected design alternative,

the software unit will be decomposed into »Software Component, »Software Modules and products

of the type External Software Module. Relations and interfaces between the elements and to the en-

vironment will be identified and summarized. A »Data Catalog of the data structures exchanged at

the interfaces will be prepared.

The suitability of the selected architecture for the system to be developed will be assessed. Open

questions may be answered, e.g., within the scope of a prototype development.

The software architecture design may lead to changes in the system architecture. Depending on the

specifications in the Project Manual, the »System Architect will examine the change and integrate it

immediately, if required. In individual cases, an explicit change request may be necessary.

The main responsibility for the design of the software architecture will be vested in the Software

Architect who will be supported by the »Software Developer and various specialists for individual

subjects, e.g., logistics, safety and security, and ergonomics.

The software architecture is the central document for the preparation of additional products. It spe-

cifies all software components and software modules of the software unit. The individual elements

and their specifications will be developed in accordance with these architectural requirements.

V-Modell® XT, Version 1.3

3 Products 5-151

Is generated by

System Implementation, Integration and Evaluation Concept, System Architecture (see product de-

pendency 4.15)

System Implementation, Integration and Evaluation Concept, Enabling System Architecture (see

product dependency 4.16)

Generates

Evaluation Report Usability, Evaluation Specification Usability, Software Component, Software

Specification, Evaluation Report System Element, Evaluation Procedure System Element, Evaluati-

on Specification System Element, Data Protection Concept, Information Security Concept, Safety

and Security Analysis (see product dependency 4.17)

Evaluation Report Usability, Evaluation Specification Usability, Market Survey for Off-the-Shelf

Products, External Software Module, External Software Module Specification, Make-or-Buy Deci-

sion, Evaluation Report System Element, Evaluation Procedure System Element, Evaluation Speci-

fication System Element, Data Protection Concept, Information Security Concept, Safety and Secu-

rity Analysis (see product dependency 4.18)

Evaluation Report Usability, Evaluation Specification Usability, Software Module, Software Speci-

fication, Evaluation Report System Element, Evaluation Procedure System Element, Evaluation

Specification System Element, Data Protection Concept, Information Security Concept, Safety and

Security Analysis (see product dependency 4.19)

Example Work Products

»FWD:Software Architecture ECU-SW

3.10.5.1 Architectural Principles and Design Alternatives

The description of the Subject Architectural Principles and Design Alternatives is similar to the

Subject Architectural Principles and Design Alternatives of the system architecture.

The architectural principles at software level include, e.g., the decision for a programming paradigm

(object-oriented, procedureal), the decision fo a technology (CORBA, EJB) or specifications for a

special system type (distributed internet application, desktop application). Design alternatives for

software development are supported, e.g., by design patterns, sample designs and design heuristics.

3.10.5.2 Software Unit Decomposition

The decomposition specifies the static structure of the »Software Unit. The static structure describes

the dissection of the software unit into »Software Components and »Software Modules. The design

result will be documented as graph depicting the software elements to be realized and their interre-

lations. It may also be presented by component and/or class diagrams.

The decomposition is based on the requirements posed in the »Software Specification for the soft-

ware unit or a higher system element. The framework conditions will be specified by the architectu-

ral principles defined in the »Software Architecture and the design decisions.

V-Modell® XT, Version 1.3

5-152 Part 5: V-Modell Reference Work Products

3.10.5.3 Interface Overview

The summary of interfaces of the »Software Architecture provides a survey of the interfaces of the

»Software Unit and the interfaces of the corresponding elements. For the summary of interfaces,

only the communication at one level will be described :

� At the level of the software unit, the interfaces to other units and to the environment will be

described.

� At the level ot the»Software Components, the interfaces between the component within the

unit will be described.

� At the level of the»Software Modules, the interfaces between the process modules within the

component will be described.

Interfaces to the environment may exist between a software element and the user, logistic systems

or various »Enabling Systems. The interfaces are described in detail in the specification of the re-

spective software element.

3.10.5.4 Data Catalog

The »Data Catalog of the »Software Architecture decribes the data structures exchanged at the inter-

faces of the »Software Unit, including attributes, data types and range of values. Every program-

ming language and platform has its own solutions which must be taken into account during the defi-

nition phase.

3.10.5.5 Design Evaluation

If an architectural design for the »Software Unit has been selected and developed down to unit le-

vel, it must be ensured that the selected design implements the requirements in a suitable manner.

Various methods are available for securing the design of the »Software Architecture. Two frequently

used methods are the architecture evaluation by scenario-based methods and the prototype develop-

ment of system parts. Execution and results of the design securing process will be documented.

They may lead to a re-evaluation of the design decisions and a review of the architecture.

3.10.5.6 Software Elements to be Specified

The preparation of a specification for a software element is expensive and not always required. In

order to adapt the specification effort to the requirements of individual projects, the »Software Ar-

chitect can - based on the specifications in the Project Manual and the requirements - determine

which software elements need a »Software Specification.

Critiera for the necessity of a specification may include the following: criticality of the software ele-

ment, complexity of the requirements posed on the software element, test requirements specified in

the software implementation, integration and evaluation concept. In any case, a software specificati-

on shall be prepared for software elements to be tested, since this specification will be the basis for

the »Evaluation Specification System Element. If software elements are classified as not to be spe-

cified, a rationale shall be included.

3.10.6 Database Design

Process module: Software Development

V-Modell® XT, Version 1.3

%''�������#��1 �����������������

Page 42: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

V-Modell XT: Example Building Block & Product State–

5–

20

18-0

5-0

3–

Svx

t–

37/69

�����!*���� ��.��'�������76� ���-����SW-Development (‘SW-Entwicklung’)

vs. codingcoding

M

spec. of M

programmer

%''�������#��1 �����������������

Page 43: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

V-Modell XT: (Lots of) Disciplines and Products–

5–

20

18-0

5-0

3–

Svx

t–

38/69

%''������"(�������+����&5 �����1 �2���%''������")�������+���������� � ���-����

�&5 �����L ��������

Page 44: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

V-Modell XT: (Lots of) Disciplines and Products–

5–

20

18-0

5-0

3–

Svx

t–

38/69

%''������"(�������+����&5 �����1 �2���%''������")�������+���������� � ���-����

�&5 �����L ��������

Page 45: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

V-Modell XT: Activities (as many?!)–

5–

20

18-0

5-0

3–

Svx

t–

39/69

%''������)��������+��������1 �2���� %''������)#�������+������ � ���-����

�L ��������

Page 46: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

V-Modell XT: Activities (as many?!)–

5–

20

18-0

5-0

3–

Svx

t–

39/69

%''������)��������+��������1 �2���� %''������)#�������+������ � ���-����

�L ��������

Page 47: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

V-Modell XT: Roles (even more?!)–

5–

20

18-0

5-0

3–

Svx

t–

40/69

Project Roles:

Änderungssteuerungsgruppe (Change Control Board), Änderungsverantwortlicher,

Anforderungsanalytiker (AG), Anforderungsanalytiker (AN), Anwender, Assessor,Ausschreibungsverantwortlicher, Datenschutzverantwortlicher, Ergonomieverantwortlicher,

Funktionssicherheitsverantwortlicher, HW-Architekt, HW-Entwickler,Informationssicherheitsverantwortlicher, KM-Administrator, KM-Verantwortlicher, Lenkungsausschuss,

Logistikentwickler, Logistikverantwortlicher, Projektkaufmann, Projektleiter, Projektmanager,

Prozessingenieur, Prüfer, QS-Verantwortlicher, SW-Architekt, SW-Entwickler,Systemarchitekt, Systemintegrator, Technischer Autor, Trainer

Organisation Roles:

Akquisiteur, Datenschutzbeauftragter (Organisation), Einkäufer,IT-Sicherheitsbeauftragter (Organisation), Qualitätsmanager

westphal
Bleistift
Page 48: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

What About the Colours?–

5–

20

18-0

5-0

3–

Svx

t–

41/69

Page 49: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

V-Modell XT: Project Types–

5–

20

18-0

5-0

3–

Svx

t–

42/69

V-Modell XT considers four different project types:

• AG: project from the perspective of the customer(create call for bids, choose developer, accept product)

• AN: project from the perspective of the developer(create offer, develop system, hand over system to customer)

• AG/AN: customer and developer from same organisation

• PM: introduction or improvement of a process model

Project type variants: one/many customer(s); development/improvement/migration; maintenance

projectrole

customer‘Auftraggeber’

developer‘Auftragnehmer’

customer/developer‘Auftragg.’/‘Auftragn.’

customer/developer‘Auftragg.’/‘Auftragn.’

projecttype

system developmentproject (AG)

system developmentproject (AN)

system developmentproject (AG/AN)

introduction andmaintenance of specific

process model

projectsubject

HW system SW system HW-SW sys-tem/embedded

System integration introduction andmaintenance of specific

process model

Page 50: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

V-Modell XT: Customer/Developer Interface–

5–

20

18-0

5-0

3–

Svx

t–

43/69

Page 51: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

V-Modell XT: Tailoring Instance–

5–

20

18-0

5-0

3–

Svx

t–

44/69

Building Blocks

Plan

������,��1 �2����+���&��-.��%��+������� �1 �2����� -.&5. ����� ������

Page 52: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

V-Modell XT: Development Strategies–

5–

20

18-0

5-0

3–

Svx

t–

45/69

V-Modell XT mainly supports three strategies,i.e. principal sequences between decision points,to develop a system:

incremental component based prototypical

westphal
Bleistift
Page 53: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

V-Modell XT: Discussion–

5–

20

18-0

5-0

3–

Svx

t–

46/69

Advantages:

• certain management related building block are part of each project,thus they may receive increased attention of management and developers

• publicly available, can be used free of license costs

• very generic, support for tailoring

• comprehensive, low risk of forgetting things

Disadvantages:

• comprehensive, tries to cover everything; tailoring is supported, but may need high effort

• tailoring is necessary, otherwise a huge amount of useless documents is created

• description/presentation leaves room for improvement

Needs to prove in practice, in particular in small/medium sized enterprises (SME).

westphal
Bleistift
Page 54: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Content–

5–

20

18-0

5-0

3–

Sco

nte

nt

47/69

• Procedure and Process Models

• Procedure Model Examples

• The (in)famous Waterfall model

• The famous Spiral model

• Procedure classification

• linear / non-linear

• prototyping

• evolutionary, iterative, incremental

• From Procedure to Process Models

• Process Model Examples

• Phase Model

• V-Modell XT

• Agile

• Extreme Programming

• Scrum

• Process Metrics

• CMMI, Spice

westphal
Bleistift
Page 55: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Agile

–5

–2

018

-05

-03

–m

ain

48/69

Page 56: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

The Agile Manifesto–

5–

20

18-0

5-0

3–

Sag

ile–

49/69

“Agile — denoting ‘the quality of being agile; readiness for motion; nimbleness, activity,dexterity in motion’ — software development methods are attempting to offer an answerto the eager business community asking for lighter weight along with faster and nimblersoftware development processes.

This is especially the case with the rapidly growing and volatile Internet software industryas well as for the emerging mobile application environment.” (Abrahamsson et al., 2002)

The Agile Manifesto (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:

Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding 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.

westphal
Bleistift
westphal
Bleistift
Page 57: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Agile Principles–

5–

20

18-0

5-0

3–

Sag

ile–

50/69

• “continous / sustainable delivery”

• Our highest priority is to satisfy the customerthrough early and continuous delivery ofvaluable software.

• Deliver working software frequently, from acouple of weeks to a couple of months, with apreference to the shorter timescale.

• Agile processes promote sustainabledevelopment.The sponsors, developers, and users should beable to maintain a constant pace indefinitely.

• “simplicity”

• Simplicity — the art of maximizing the amountof work not done — is essential.

• Working software is the primary measure ofprogress.

• “changes”

• Welcome changing requirements,even late in development.Agile processes harness change for thecustomer’s competitive advantage.

• “people”

• The best architectures, requirements,and designs emerge fromself-organizing teams.

• Build projects around motivatedindividuals.Give them the environment and support theyneed, and trust them to get the job done.

• Business people and developers mustwork together daily throughout the project.

• The most efficient and effective method ofconveying information to and within adevelopment team is face-to-faceconversation.

• “retrospective”

• Continuous attention to technicalexcellence and good designenhances agility.

• At regular intervals, the team reflects onhow to become more effective, then tunesand adjusts its behavior accordingly.

westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
westphal
Bleistift
Page 58: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Similarities of Agiles Process Models–

5–

20

18-0

5-0

3–

Sag

ile–

51/69

• iterative: cycles of a few weeks, at most three months.

• Work in small groups (6–8 people) proposed.

• Dislike the idea of large, comprehensive documentation (radical or with restrictions).

• Consider the customer important;recommend or request customer’s presence in the project.

• Dislike dogmatic rules.

(Ludewig and Lichter, 2013)

westphal
Bleistift
Page 59: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Agile

— Extreme Programming (XP) —

–5

–2

018

-05

-03

–m

ain

52/69

Page 60: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Extreme Programming (XP) (Beck, 1999)–

5–

20

18-0

5-0

3–

Sxp

53/69

XP values:

• simplicity, feedback, communication, courage, respect.

XP practices:

• management

• integral team(including customer)

• planning game(→ Delphi method)

• short release cycles

• stand-up meetings

• assess in hindsight

• team:

• joint responsibility for the code

• coding conventions

• acceptable workload

• central metaphor

• continuous integration

• programming

• test driven development

• refactoring

• simple design

• pair programming

. . .

✘codingcoding

. . .

tests for . . .spec. of . . .

programmerprogrammer

westphal
Bleistift
westphal
Bleistift
Page 61: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Agile

— Scrum —

–5

–2

018

-05

-03

–m

ain

54/69

Page 62: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Scrum–

5–

20

18-0

5-0

3–

Ssc

rum

55/69

• First published 1995 (Schwaber, 1995), based on ideas of Takeuchi and Nonaka.

• Inspired by Rugby (yes, the “hooligan’s game played by gentlemen”):get the ball in a scrum, then sprint to score.

• Role-based; iterative and incremental;in contrast to XP no techniques proposed/required.

Three roles:

• product owner:

• representative of customer,

• maintains requirements in theproduct backlog,

• plans and decides whichrequirement(s) to realise innext sprint,

• (passive) participant ofdaily scrum,

• assesses results of sprints

• scrum team:

• members capable ofdeveloping autonomously,

• decides how and how manyrequirements to realise innext sprint,

• distribution of tasksself-organised, team decideswho does what when,

• environment needs tosupport communication andcooperation, e.g. by spatiallocality

• scrum master:

• helps to conduct scrumthe right™ way,

• looks for adherence toprocess and rules,

• ensures that the team is notdisturbed from outside,

• moderates daily scrum,responsible for keepingproduct backlog up-to-date,

• should be able to assesstechniques and approaches

Page 63: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Scrum Process–

5–

20

18-0

5-0

3–

Ssc

rum

56/69

Product Backlogsprint

planning

releaseplanning

Release Plan

Release Burn.

Sprint Backlog sprint

realisationdaily scrum Sprint Burndown

reviewretrospective Sprint Report

requirementsworkshop

Product Increment

• product backlog(maintained by product owner)

• comprises all requirements to be realised,

• priority and effort estimation forrequirements,

• collects tasks to be conducted,

• release plan

• based on initial version of product backlog,

• how many sprints, which majorrequirements in which sprint,

• release-burndown report

• see sprint-burndown report

• sprint backlog

• requirements to be realised in next sprint,taken from product backlog,

• more precise estimations,

• daily update (tasks done, new tasks, new estimations)

• sprint-burndown report

• completed/open tasks from sprint backlog,

• should decrease linearly,otherwise remove tasks from sprint backlog,

• sprint report

• which requirements (not) realised in last sprint,

• description of obstacles/problems during sprint

Page 64: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Scrum Process–

5–

20

18-0

5-0

3–

Ssc

rum

56/69

Product Backlogsprint

planning

releaseplanning

Release Plan

Release Burn.

Sprint Backlog sprint

realisationdaily scrum Sprint Burndown

reviewretrospective Sprint Report

requirementsworkshop

Product Increment

• daily scrum:

• daily meeting, 15 min.

• discuss progress, synchronise day plan, discuss and document new obstacles

• team members, scrum master, product owner (if possible)

• sprint:

• at most 30 days, usually shorter (initially longer)

• sprint review:

• assess amount and quality of realisations; product owner accepts results

• sprint retrospective:

• assess how well the scrum process was implemented;identify actions for improvement (if necessary)

Page 65: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Scrum: Discussion–

5–

20

18-0

5-0

3–

Ssc

rum

57/69

• Has been used in many projects, experience in majority positive.

• Team size bigger 7–10 may need scrum of scrums.

• Competent product owner necessary for success.

• Success depends on motivation, competence,and communication skills of team members.

• Team members are responsible for planning,and for adhering to process and rules,thus intensive learning and experience necessary.

• Can (as other process models) be combined with techniques from XP.

Page 66: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Content–

5–

20

18-0

5-0

3–

Sco

nte

nt

58/69

• Procedure and Process Models

• Procedure Model Examples

• The (in)famous Waterfall model

• The famous Spiral model

• Procedure classification

• linear / non-linear

• prototyping

• evolutionary, iterative, incremental

• From Procedure to Process Models

• Process Model Examples

• Phase Model

• V-Modell XT

• Agile

• Extreme Programming

• Scrum

• Process Metrics

• CMMI, Spice

Page 67: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Process Metrics

–5

–2

018

-05

-03

–m

ain

59/69

Page 68: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Assessment and Improvement of the Process–

5–

20

18-0

5-0

3–

Sp

rocm

et

60/69

• Idea (for material goods): The quality of the (production) process influences product quality.

• Plan: Specify abstract criteria (metrics) to determine good production processes(e.g., to choose manufacturer).

• Industry in general (production!):

• ISO 9001, ISO/TS 16949 (automotive), . . .

• Software industry (development!):

• CMM(I), SPICE

• Note: a good process does not stop us from creating bad products;(the hope is, that) bad products are less likely when using a good process,i.e. that there is a correlation:

process qualitylow high

prod

uctq

ualit

y high

false positive

×

true positive

× ×

× × ×

× ×

low

true negative

× ×

×

× ×

false negative

×

× ×

Page 69: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

–5

–2

018

-05

-03

–S

pro

cme

t–

61/69

&00,��IRU�'HYHORSPHQW��9HUVLRQ�����

&00,�'(9��9����

&00,�3URGXFW�7HDP�

Improving processes for developing better products and services

1RYHPEHU������

7(&+1,&$/�5(3257�

&08�6(,������75�����(6&�75����������

6RIWZDUH�(QJLQHHULQJ�3URFHVV�0DQDJHPHQW�3URJUDP�8QOLPLWHG�GLVWULEXWLRQ�VXEMHFW�WR�WKH�FRS\ULJKW��

KWWS���ZZZ�VHL�FPX�HGX�

Page 70: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

CMMI–

5–

20

18-0

5-0

3–

Sp

rocm

et

62/69

• 1991: Capability Maturity Model (CMM), DoD/SEI/CMU; superseded by

• 1997: Capability Maturity Model Integration (CMMI) (Team, 2010);constellations: CMMI-DEV (development), CMMI-ACQ (acquisition), CMMI-SRV (service)

Page 71: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

CMMI–

5–

20

18-0

5-0

3–

Sp

rocm

et

62/69

• 1991: Capability Maturity Model (CMM), DoD/SEI/CMU; superseded by

• 1997: Capability Maturity Model Integration (CMMI) (Team, 2010);constellations: CMMI-DEV (development), CMMI-ACQ (acquisition), CMMI-SRV (service)

• Goals:

• applicable to all organisations which develop software,

• make strengths and weaknesses of the real process visible,to point out ways for improvement,

• neutral wrt. technology employed in project,

• levels: higher levels have lower levels as premise,

• be consistent with ISO 15504 (SPICE)

• Assumptions:

• better defined, described, and planned processes have higher maturity,

• higher maturity levels require statistical control to support continuous improvement,

• higher maturity level yields:

• better time/cost/quality prediction;

• lower risk to miss project goals;

• higher quality of products.

Page 72: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

CMMI Levels–

5–

20

18-0

5-0

3–

Sp

rocm

et

63/69

level level name process areas

1 initial -

2 managed REQM, PP, PMC, MA, PPQA, CM, SAM

3 defined + RD, TS, PI, VER, VAL, OPF, OPD, OT, IPM, RSKM, DAR

4quantitatively

managed+ OPP, QPM

5 optimising + OID, CAR

Page 73: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

CMMI Levels–

5–

20

18-0

5-0

3–

Sp

rocm

et

63/69

level level name process areas

1 initial -

2 managed REQM, PP, PMC, MA, PPQA, CM, SAM

3 defined + RD, TS, PI, VER, VAL, OPF, OPD, OT, IPM, RSKM, DAR

4quantitatively

managed+ OPP, QPM

5 optimising + OID, CAR

• initial – the process is not consciously designed, just evolved.

Page 74: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

CMMI Levels–

5–

20

18-0

5-0

3–

Sp

rocm

et

63/69

level level name process areas

1 initial -

2 managed REQM, PP, PMC, MA, PPQA, CM, SAM

3 defined + RD, TS, PI, VER, VAL, OPF, OPD, OT, IPM, RSKM, DAR

4quantitatively

managed+ OPP, QPM

5 optimising + OID, CAR

• managed (formerly: repeatable) – important areas of software development organised andprescribed to responsible people; each project may have own process

• Areas: requirements management (REQM), project planning (PP), project monitoring andcontrol (PMC), measurement and analysis (MA), Process and Product Quality Assurance(PPQA), configuration management (CM), supplier agreement management (SAM)

Page 75: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

CMMI General/Specific Goals and Practices–

5–

20

18-0

5-0

3–

Sp

rocm

et

64/69

• CMMI certificates can be obtained via a so-called appraisal

• There are three levels of review methods A, B, C;A is most thorough (and expensive).

• A certificate authority checks, to what amountgeneric goals GG.1, . . . , GG.3 with their generic practices are reached.

Example: GG.2 (for level 2) includes

• GG 2.1: create strategy for planning and installation of process

• GG 2.2: plan the process

• GG 2.3: allocate reources

• . . .

• Each area, like RD, has specific goals and specific practices, sometimes per level

Example: RD (requirements development) includes

• SG 1: develop customer requirements

• SG 2: develop product requirements

• SG 3: analyse and validate requirements

• That is, to reach CMMI level 2, an organisation has to reach GG.1, GG.2,and SG 1 and SG 2 for area RD.

Page 76: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

CMMI: Discussion–

5–

20

18-0

5-0

3–

Sp

rocm

et

65/69

• in CMMI, e.g. area RD requires that requirements are analysed, but does not state how —there are examples, but no particular techniques or approaches

• CMMI as such is not a process model (in the sense of the course)

• CMMI certificate is required by certain (U.S) government customers;may guide selection of sub-contractors(a certificate at least proves that they think about their process)

• CMMI can serve as an inspirationfor important aspects of process models wrt. product quality

• Criticism:

• CMM(I) assumptions are based on experience in specific projects;may not be present for all kinds of software,

• CMMI certification applies to one particular state of process management;changed processes may require new (expensive) appraisal,in this sense CMMI certification may hinder innovation,

• CMMI levels are chosen somewhat arbitrarily:“why is an area in level N and not already in level N − 1?”

Page 77: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

SPICE / ISO 15504–

5–

20

18-0

5-0

3–

Sp

rocm

et

66/69

Software Process Improvement and Capability Determination

• similar to CMM(I): maturity levels, assessment, certificates

• a european development: standardised in ISO/IEC 15504 (2003)

• maturity levels: 0 (incomplete), . . . , 5 (optimizing);

SPICE 0 corresponds to CMMI 1

• provides “process reference models”(in particular specific ones for automotive, aerospace, etc.)

• Literature: (Hörmann et al., 2006)

Page 78: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

Tell Them What You’ve Told Them. . .–

5–

20

18-0

5-0

3–

Stt

wy

tt–

67/69

• Waterfall Model

• very well-known, very abstract, of limited practical use.

• Spiral Model

• iterated risk assessment, e.g., for very innovative projects.

• Classification of processes

• prototyping: needs purposes and questions

• evolutionary, iterative, incremental

• V-Model XT

• slightly different vocabulary,

• quite comprehensive,

• may serve as inspiration for, e.g., definition of roles,

• can be tailored in various ways

• Agile approaches

• XP: proposes methods and approaches

• Scrum: focuses on management aspects

• Measure process quality: CMMI, Spice

Page 79: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

References

–5

–2

018

-05

-03

–m

ain

68/69

Page 80: Lecture 5: Procedure & Process Models - uni …...2018/05/03  · Lecture 5: Procedure & Process Models 2018-05-03 Prof.Dr.AndreasPodelski, Dr.BerndWestphal Albert-Ludwigs-UniversitätFreiburg,

References–

5–

20

18-0

5-0

3–

mai

n–

69/69

Abrahamsson, P., Salo, O., Ronkainen, J., and Warsta, J. (2002). Agile software development methods. reviewand analysis. Technical Report 478.

Beck, K. (1999). Extreme Programming Explained – Embrace Change. Addison-Wesley.

Boehm, B. W. (1988). A spiral model of software development and enhancement. IEEE Computer, 21(5):61–72.

Hörmann, K., Dittmann, L., Hindel, B., and Müller, M. (2006). SPICE in der Praxis: Interpretationshilfe für Anwenderund Assessoren. dpunkt.verlag.

IEEE (1990). IEEE Standard Glossary of Software Engineering Terminology. Std 610.12-1990.

Ludewig, J. and Lichter, H. (2013). Software Engineering. dpunkt.verlag, 3. edition.

Rosove, P. E. (1967). Developing Computer-based Information Systems. John Wiley and Sons.

Schwaber, K. (1995). SCRUM development process. In Sutherland, J. et al., editors, Business Object Design andImplementation, OOPSLA’95 Workshop Proceedings. Springer-Verlag.

Team, C. P. (2010). Cmmi for development, version 1.3. Technical Report ESC-TR-2010-033, CMU/SEI.

V-Modell XT (2006). V-Modell XT. Version 1.4.

Züllighoven, H. (2005). Object-Oriented Construction Handbook - Developing Application-Oriented Software withthe Tools and Materials Approach. dpunkt.verlag/Morgan Kaufmann.