Stéphane DucasseclearVue
INRIA
assessmentwith Moose
humane
Wednesday, August 24, 2011
moosetechnology.org
Wednesday, August 24, 2011
humane-assesment.com
Wednesday, August 24, 2011
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
themoosebook.org
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
continuou
s assessm
ent
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
Top Related