Humane Assessment

Post on 24-May-2015

331 views 0 download

Tags:

description

ESUG 2011, Edinburgh

transcript

Wednesday, August 24, 2011

Wednesday, August 24, 2011

feedback is key

Wednesday, August 24, 2011

feedback is key

Wednesday, August 24, 2011

feedback is key

contextualcontinuous

Wednesday, August 24, 2011

= complex, large}

{

}

{

}

{}

{

}

{

Wednesday, August 24, 2011

= 250’000 lines of code

Wednesday, August 24, 2011

= 250’000 lines of code

* 2 = 500’000 seconds

Wednesday, August 24, 2011

= 250’000 lines of code

* 2 = 500’000 seconds

/ 3600 ~ 140 hours

Wednesday, August 24, 2011

= 250’000 lines of code

* 2 = 500’000 seconds

/ 3600 ~ 140 hours

/ 8 ~ 18 days

Wednesday, August 24, 2011

= 250’000 lines of code

* 2 = 500’000 seconds

/ 3600 ~ 140 hours

/ 8 ~ 18 days

/ 20 ~ 1 month

Wednesday, August 24, 2011

Maintenance is continuous Development

Between 50% and 80% of global effort is spent on

“maintenance” !

18% Corrective(fixing reported errors)

18% Adaptive (new platforms)

60% Perfective(new functionality)

4% Other

80%

20%

60%18%

18%4%

“Maintenance”

Wednesday, August 24, 2011

Software is like geranium...

when dead, it does not bloom!Wednesday, August 24, 2011

Software is a living entity...

Early decisions were certainly good at that time

But the context changes

Customers change

Technology changes

People change

Wednesday, August 24, 2011

forward engineering

actual development}

{

}

{

}

{

}

{}

{

}

{

}

{}

{

}

{

reve

rse e

ngin

eerin

g

Wednesday, August 24, 2011

}

{

}

{

}

{}

{

}

{

reve

rse

engi

neer

ing

Wednesday, August 24, 2011

}

{

}

{

}

{}

{

}

{

reve

rse

engi

neer

ing

Wednesday, August 24, 2011

}

{

}

{

}

{}

{

}

{

reve

rse

engi

neer

ing

Wednesday, August 24, 2011

}

{

}

{

}

{}

{

}

{

reve

rse

engi

neer

ing

assessment

Wednesday, August 24, 2011

}

{

}

{

}

{}

{

}

{

reve

rse

engi

neer

ing

assessment

what is the current situation?what can we do about it?

Wednesday, August 24, 2011

Current practices

Wednesday, August 24, 2011

50% of maintenance is spent reading code!

Between 50% and 80% of global effort is spent on

“maintenance” !

80%

20%

We spend a lot of money at the wrong placewith the wrong tools!

40%

20%40%

Wednesday, August 24, 2011

Current practices

Wednesday, August 24, 2011

tailoredmanual automatic

generic

Wednesday, August 24, 2011

tailoredmanual automatic

generic

Wednesday, August 24, 2011

We need dedicated tools to help us!

We need customable tools to control and give

feedback

Wednesday, August 24, 2011

hypothesize applyanalysis

interpretconfident?

actactWednesday, August 24, 2011

hypothesizeexistinganalysis?

applyanalysis

interpretconfident?

actactWednesday, August 24, 2011

hypothesizeexistinganalysis?

craftanalysis

applyanalysis

interpretconfident?

actactWednesday, August 24, 2011

hypothesizeexistinganalysis?

craftanalysis

applyanalysis

interpretconfident?

actWednesday, August 24, 2011

hypothesizeexistinganalysis?

craftanalysis

applyanalysis

interpretconfident?

act

assessmenthumane

Wednesday, August 24, 2011

An example: who is really behind that package?

(1) Extraction

(2) Modèle

(4) Visualisation

(3) Analyses

Wednesday, August 24, 2011

(2) Define a model for code ownership

(1) Extraction

(2) Modèle

(4) Visualisation

(3) Analyses

Wednesday, August 24, 2011

(3) Use adequate Map

Wednesday, August 24, 2011

Distribution Mapshows propertiesover structure

Ducasse et al 2006

(1) Extraction

(2) Modèle

(4) Visualisation

(3) Analyses

Wednesday, August 24, 2011

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

classes select: #isGod ...

Wednesday, August 24, 2011

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

classes select: #isGod ...

Wednesday, August 24, 2011

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

classes select: #isGod ...

Wednesday, August 24, 2011

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

classes select: #isGod ...

Wednesday, August 24, 2011

Wednesday, August 24, 2011

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

classes select: #isGod ...

Wednesday, August 24, 2011

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

classes select: #isGod ...

Wednesday, August 24, 2011

Wednesday, August 24, 2011

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

classes select: #isGod ...

Wednesday, August 24, 2011

}

{

}

{

}

{}

{

}

{

...McCabe = 21

LOC = 75

3,000

classes select: #isGod

Wednesday, August 24, 2011

}

{

}

{

}

{}

{

}

{

...McCabe = 21

LOC = 75

3,000

classes select: #isGod

Wednesday, August 24, 2011

What is this made of?Wednesday, August 24, 2011

Wednesday, August 24, 2011

What is this made of?Wednesday, August 24, 2011

package 1

package 2

...

Class A

Class B

...

method M

method N

...

source code

Wednesday, August 24, 2011

Wednesday, August 24, 2011

}

{

}

{

}

{}

{

}

{

...McCabe = 21

LOC = 75

3,000

classes select: #isGod

Wednesday, August 24, 2011

}

{

}

{

}

{}

{

}

{

reve

rse

engi

neer

ing

assessment

what is the current situation?what can we do about it?

Wednesday, August 24, 2011

Handling Moose

5 days to get up to speed

21 days to get proficient

Wednesday, August 24, 2011

Software engineers that extended Moose

Delphi/Java programmerscustomized modelsextended meta modelsdefined specific rules

Smalltalk programmers new tools to support code integration

Wednesday, August 24, 2011

Moose supports Your definition of quality/risk

Example(1) Getting bug maps(2) What info to collect?(3) How to present it?

Wednesday, August 24, 2011

Moose gives you the opportunity to control

your process.

Wednesday, August 24, 2011

Wednesday, August 24, 2011

identifyconcern

Wednesday, August 24, 2011

identifyconcern

createrule

Wednesday, August 24, 2011

identifyconcern

createrule

discussresults

Wednesday, August 24, 2011

identifyconcern

agree?

createrule

discussresults

Wednesday, August 24, 2011

identifyconcern

agree?

createrule

discussresults

Wednesday, August 24, 2011

identifyconcern

agree?

createrule

discussresults

smalltask?

Wednesday, August 24, 2011

identifyconcern

agree?

createrule

discussresults

smalltask?

solvenow

Wednesday, August 24, 2011

identifyconcern

agree?

createrule

discussresults

smalltask?

solvenow

planlater

Wednesday, August 24, 2011

identifyconcern

agree?

createrule

discussresults

smalltask?

solvenow

planlater

assessmentdaily

Wednesday, August 24, 2011

Wednesday, August 24, 2011

Wednesday, August 24, 2011

feedback is key

specific feedback is better

Wednesday, August 24, 2011

assessment must be tailored

explicit

trained

humane

Wednesday, August 24, 2011

Tudor Gîrbawww.tudorgirba.com

creativecommons.org/licenses/by/3.0/

Stéphane Ducassestephane.ducasse.free.fr

Wednesday, August 24, 2011