humane assessment

77
Stéphane Ducasse clearVue INRIA assessment with Moose humane Wednesday, August 24, 2011

Upload: esug

Post on 24-May-2015

329 views

Category:

Technology


0 download

DESCRIPTION

ESUG 2011, Edinburgh

TRANSCRIPT

Page 4: Humane Assessment

Wednesday, August 24, 2011

Page 5: Humane Assessment

Wednesday, August 24, 2011

Page 6: Humane Assessment

feedback is key

Wednesday, August 24, 2011

Page 7: Humane Assessment

feedback is key

Wednesday, August 24, 2011

Page 8: Humane Assessment

feedback is key

contextualcontinuous

Wednesday, August 24, 2011

Page 9: Humane Assessment

= complex, large}

{

}

{

}

{}

{

}

{

Wednesday, August 24, 2011

Page 10: Humane Assessment

= 250’000 lines of code

Wednesday, August 24, 2011

Page 11: Humane Assessment

= 250’000 lines of code

* 2 = 500’000 seconds

Wednesday, August 24, 2011

Page 12: Humane Assessment

= 250’000 lines of code

* 2 = 500’000 seconds

/ 3600 ~ 140 hours

Wednesday, August 24, 2011

Page 13: Humane Assessment

= 250’000 lines of code

* 2 = 500’000 seconds

/ 3600 ~ 140 hours

/ 8 ~ 18 days

Wednesday, August 24, 2011

Page 14: Humane Assessment

= 250’000 lines of code

* 2 = 500’000 seconds

/ 3600 ~ 140 hours

/ 8 ~ 18 days

/ 20 ~ 1 month

Wednesday, August 24, 2011

Page 15: Humane Assessment

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

Page 16: Humane Assessment

Software is like geranium...

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

Page 17: Humane Assessment

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

Page 18: Humane Assessment

forward engineering

actual development}

{

}

{

}

{

}

{}

{

}

{

}

{}

{

}

{

reve

rse e

ngin

eerin

g

Wednesday, August 24, 2011

Page 19: Humane Assessment

}

{

}

{

}

{}

{

}

{

reve

rse

engi

neer

ing

Wednesday, August 24, 2011

Page 20: Humane Assessment

}

{

}

{

}

{}

{

}

{

reve

rse

engi

neer

ing

Wednesday, August 24, 2011

Page 21: Humane Assessment

}

{

}

{

}

{}

{

}

{

reve

rse

engi

neer

ing

Wednesday, August 24, 2011

Page 22: Humane Assessment

}

{

}

{

}

{}

{

}

{

reve

rse

engi

neer

ing

assessment

Wednesday, August 24, 2011

Page 23: Humane Assessment

}

{

}

{

}

{}

{

}

{

reve

rse

engi

neer

ing

assessment

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

Wednesday, August 24, 2011

Page 24: Humane Assessment

Current practices

Wednesday, August 24, 2011

Page 25: Humane Assessment

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

Page 26: Humane Assessment

Current practices

Wednesday, August 24, 2011

Page 27: Humane Assessment

tailoredmanual automatic

generic

Wednesday, August 24, 2011

Page 28: Humane Assessment

tailoredmanual automatic

generic

Wednesday, August 24, 2011

Page 29: Humane Assessment

We need dedicated tools to help us!

We need customable tools to control and give

feedback

Wednesday, August 24, 2011

Page 30: Humane Assessment

hypothesize applyanalysis

interpretconfident?

actactWednesday, August 24, 2011

Page 31: Humane Assessment

hypothesizeexistinganalysis?

applyanalysis

interpretconfident?

actactWednesday, August 24, 2011

Page 32: Humane Assessment

hypothesizeexistinganalysis?

craftanalysis

applyanalysis

interpretconfident?

actactWednesday, August 24, 2011

Page 33: Humane Assessment

hypothesizeexistinganalysis?

craftanalysis

applyanalysis

interpretconfident?

actWednesday, August 24, 2011

Page 34: Humane Assessment

hypothesizeexistinganalysis?

craftanalysis

applyanalysis

interpretconfident?

act

assessmenthumane

Wednesday, August 24, 2011

Page 35: Humane Assessment

An example: who is really behind that package?

(1) Extraction

(2) Modèle

(4) Visualisation

(3) Analyses

Wednesday, August 24, 2011

Page 36: Humane Assessment

(2) Define a model for code ownership

(1) Extraction

(2) Modèle

(4) Visualisation

(3) Analyses

Wednesday, August 24, 2011

Page 37: Humane Assessment

(3) Use adequate Map

Wednesday, August 24, 2011

Page 38: Humane Assessment

Distribution Mapshows propertiesover structure

Ducasse et al 2006

(1) Extraction

(2) Modèle

(4) Visualisation

(3) Analyses

Wednesday, August 24, 2011

Page 39: Humane Assessment

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

classes select: #isGod ...

Wednesday, August 24, 2011

Page 40: Humane Assessment

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

classes select: #isGod ...

Wednesday, August 24, 2011

Page 41: Humane Assessment

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

classes select: #isGod ...

Wednesday, August 24, 2011

Page 42: Humane Assessment

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

classes select: #isGod ...

Wednesday, August 24, 2011

Page 43: Humane Assessment

Wednesday, August 24, 2011

Page 44: Humane Assessment

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

classes select: #isGod ...

Wednesday, August 24, 2011

Page 45: Humane Assessment

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

classes select: #isGod ...

Wednesday, August 24, 2011

Page 46: Humane Assessment

Wednesday, August 24, 2011

Page 47: Humane Assessment

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC = 75

3,000

classes select: #isGod ...

Wednesday, August 24, 2011

Page 48: Humane Assessment

}

{

}

{

}

{}

{

}

{

...McCabe = 21

LOC = 75

3,000

classes select: #isGod

Wednesday, August 24, 2011

Page 50: Humane Assessment

}

{

}

{

}

{}

{

}

{

...McCabe = 21

LOC = 75

3,000

classes select: #isGod

Wednesday, August 24, 2011

Page 51: Humane Assessment

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

Page 52: Humane Assessment

Wednesday, August 24, 2011

Page 53: Humane Assessment

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

Page 54: Humane Assessment

package 1

package 2

...

Class A

Class B

...

method M

method N

...

source code

Wednesday, August 24, 2011

Page 55: Humane Assessment

Wednesday, August 24, 2011

Page 56: Humane Assessment

}

{

}

{

}

{}

{

}

{

...McCabe = 21

LOC = 75

3,000

classes select: #isGod

Wednesday, August 24, 2011

Page 57: Humane Assessment

}

{

}

{

}

{}

{

}

{

reve

rse

engi

neer

ing

assessment

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

Wednesday, August 24, 2011

Page 58: Humane Assessment

Handling Moose

5 days to get up to speed

21 days to get proficient

Wednesday, August 24, 2011

Page 59: Humane Assessment

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

Page 60: Humane Assessment

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

Page 61: Humane Assessment

Moose gives you the opportunity to control

your process.

Wednesday, August 24, 2011

Page 62: Humane Assessment

Wednesday, August 24, 2011

Page 63: Humane Assessment

identifyconcern

Wednesday, August 24, 2011

Page 64: Humane Assessment

identifyconcern

createrule

Wednesday, August 24, 2011

Page 65: Humane Assessment

identifyconcern

createrule

discussresults

Wednesday, August 24, 2011

Page 66: Humane Assessment

identifyconcern

agree?

createrule

discussresults

Wednesday, August 24, 2011

Page 67: Humane Assessment

identifyconcern

agree?

createrule

discussresults

Wednesday, August 24, 2011

Page 68: Humane Assessment

identifyconcern

agree?

createrule

discussresults

smalltask?

Wednesday, August 24, 2011

Page 69: Humane Assessment

identifyconcern

agree?

createrule

discussresults

smalltask?

solvenow

Wednesday, August 24, 2011

Page 70: Humane Assessment

identifyconcern

agree?

createrule

discussresults

smalltask?

solvenow

planlater

Wednesday, August 24, 2011

Page 71: Humane Assessment

identifyconcern

agree?

createrule

discussresults

smalltask?

solvenow

planlater

assessmentdaily

Wednesday, August 24, 2011

Page 72: Humane Assessment

Wednesday, August 24, 2011

Page 73: Humane Assessment

Wednesday, August 24, 2011

Page 75: Humane Assessment

feedback is key

specific feedback is better

Wednesday, August 24, 2011

Page 76: Humane Assessment

assessment must be tailored

explicit

trained

humane

Wednesday, August 24, 2011

Page 77: Humane Assessment

Tudor Gîrbawww.tudorgirba.com

creativecommons.org/licenses/by/3.0/

Stéphane Ducassestephane.ducasse.free.fr

Wednesday, August 24, 2011