Enhancing agile development through software assessment

Post on 10-May-2015

795 views 3 download

Tags:

description

I used this set of slides for a talk I gave at the SCRUM Breakfast in Bern (March 2010)

Transcript of Enhancing agile development through software assessment

enhancing agile development

www.tudorgirba.com

with software assessment

feedback is key

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

}

{

feedback is key

forward engineering

}

{

}

{

}

{

}

{

forward engineering

actual development}

{

}

{

}

{

}

{}

{

}

{

}

{}

{

}

{

forward engineering

actual development}

{

}

{

}

{

}

{}

{

}

{

}

{}

{

}

{

reve

rse e

ngin

eerin

g

}

{

}

{

}

{}

{

}

{

reve

rse

engi

neer

ing

}

{

}

{

}

{}

{

}

{

reve

rse

engi

neer

ing

}

{

}

{

}

{}

{

}

{

reve

rse

engi

neer

ing

assessment

assessment is a discipline

assessment should be continuous

assessment should be contextual

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

NOM = 102classes select: #isGod ...

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

NOM = 102classes select: #isGod ...

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

NOM = 102classes select: #isGod ...

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

NOM = 102classes select: #isGod ...

Lanza, Marinescu 2006

A God Class centralizes too much intelligence

ATFD > FEW

Class uses directly more than a

few attributes of other classes

WMC ! VERY HIGH

Functional complexity of the

class is very high

TCC < ONE THIRD

Class cohesion is low

AND GodClass

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

NOM = 102classes select: #isGod ...

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

NOM = 102classes select: #isGod ...

A picture tells

a thousand words

Not all pictures tell a

thousand words

Lanza, Ducasse 2003

System Complexity shows class hierarchies

Class Blueprint shows class internals

eDSM shows dependencies

Duplications shown side by side

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

NOM = 102classes select: #isGod ...

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

NOM = 102classes select: #isGod ...

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

NOM = 102classes select: #isGod ...

Lanza, Ducasse 2003

What is this made of?

What is this made of?

package 1

package 2

...

Class A

Class B

...

method M

method N

...

source code

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

NOM = 102classes select: #isGod ...

}

{

}

{

}

{}

{

}

{

reve

rse

engi

neer

ing

assessment

feedback is key

feedback is key

assessment is a discipline

assessment should be continuous

assessment should be contextual

assessment is a discipline

assessment must be continuous

assessment must be contextual