humane assessment with Moose Stéphane Ducasse clearVue INRIA 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
contextual continuous feedback is key 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 4% Other 18% Adaptive (new platforms) 4% 20% 18% 60% 18% 80% 18% Corrective (fixing reported errors) Between 50 % and 80 % of 60% Perfective global effort is spent on (new functionality) “maintenance” ! “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 reverse engineering { { { { { { } { { actual development } } } } } } } } { Wednesday, August 24, 2011
engineering reverse { { { { } } } } } { Wednesday, August 24, 2011
engineering reverse { { { { } } } } } { Wednesday, August 24, 2011
engineering reverse { { { { } } } } } { Wednesday, August 24, 2011
assessment engineering reverse { { { { } } } } } { Wednesday, August 24, 2011
assessment what is the current situation? what can we do about it? engineering reverse { { { { } } } } } { Wednesday, August 24, 2011
Current practices Wednesday, August 24, 2011
50% of maintenance is spent reading code! 20% 20% 40% 80% Between 50 % and 80 % of 40% global effort is spent on “maintenance” ! We spend a lot of money at the wrong place with the wrong tools! Wednesday, August 24, 2011
Current practices Wednesday, August 24, 2011
manual automatic tailored generic Wednesday, August 24, 2011
manual automatic tailored 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
apply hypothesize analysis interpret confident? act act Wednesday, August 24, 2011
existing apply hypothesize analysis? analysis interpret confident? act act Wednesday, August 24, 2011
craft analysis existing apply hypothesize analysis? analysis interpret confident? act act Wednesday, August 24, 2011
craft analysis existing apply hypothesize analysis? analysis interpret confident? act Wednesday, August 24, 2011
humane assessment craft analysis existing apply hypothesize analysis? analysis interpret confident? act Wednesday, August 24, 2011
An example: who is really behind that package? (4) Visualisation (3) Analyses (2) Modèle (1) Extraction Wednesday, August 24, 2011
(2) Define a model for code ownership (4) Visualisation (3) Analyses (2) Modèle (1) Extraction Wednesday, August 24, 2011
(3) Use adequate Map Wednesday, August 24, 2011
Distribution Map shows properties over structure (4) Visualisation (3) Analyses (2) Modèle (1) Extraction Ducasse et al 2006 Wednesday, August 24, 2011
... classes select: #isGod 0 0 0 , 3 M c C a 5 b e = 7 2 1 = C O L { { { { } } } } } { Wednesday, August 24, 2011
... classes select: #isGod 0 0 0 , 3 M c C a 5 b e = 7 2 1 = C O L { { { { } } } } } { Wednesday, August 24, 2011
... classes select: #isGod 0 0 0 , 3 M c C a 5 b e = 7 2 1 = C O L { { { { } } } } } { Wednesday, August 24, 2011
... classes select: #isGod 0 0 0 , 3 M c C a 5 b e = 7 2 1 = C O L { { { { } } } } } { Wednesday, August 24, 2011
Wednesday, August 24, 2011
... classes select: #isGod 0 0 0 , 3 M c C a 5 b e = 7 2 1 = C O L { { { { } } } } } { Wednesday, August 24, 2011
... classes select: #isGod 0 0 0 , 3 M c C a 5 b e = 7 2 1 = C O L { { { { } } } } } { Wednesday, August 24, 2011
Wednesday, August 24, 2011
... classes select: #isGod 0 0 0 , 3 M c C a 5 b e = 7 2 1 = C O L { { { { } } } } } { Wednesday, August 24, 2011
... classes select: #isGod 0 0 0 , 3 M c C a 5 b e = 7 2 1 = C O L { { { { } } } } } { Wednesday, August 24, 2011
themoosebook.org Wednesday, August 24, 2011
... classes select: #isGod 0 0 0 , 3 M c C a 5 b e = 7 2 1 = C O L { { { { } } } } } { 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
method M Class A package 1 method N Class B package 2 ... ... ... source code Wednesday, August 24, 2011
Wednesday, August 24, 2011
... classes select: #isGod 0 0 0 , 3 M c C a 5 b e = 7 2 1 = C O L { { { { } } } } } { Wednesday, August 24, 2011
assessment what is the current situation? what can we do about it? engineering reverse { { { { } } } } } { 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 programmers customized models extended meta models defined 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
identify concern Wednesday, August 24, 2011
create identify rule concern Wednesday, August 24, 2011
create identify rule concern discuss results Wednesday, August 24, 2011
create identify rule concern discuss agree? results Wednesday, August 24, 2011
create identify rule concern discuss agree? results Wednesday, August 24, 2011
create identify rule concern discuss agree? results small task? Wednesday, August 24, 2011
create identify rule concern discuss agree? results solve small now task? Wednesday, August 24, 2011
create identify rule concern discuss agree? results solve small plan now task? later Wednesday, August 24, 2011
daily assessment create identify rule concern discuss agree? results solve small plan now task? later Wednesday, August 24, 2011
Wednesday, August 24, 2011
Wednesday, August 24, 2011
continuous assessment Wednesday, August 24, 2011
feedback is key specific feedback is better Wednesday, August 24, 2011
explicit humane tailored assessment must be trained Wednesday, August 24, 2011
Tudor Gîrba Stéphane Ducasse www.tudorgirba.com stephane.ducasse.free.fr creativecommons.org/licenses/by/3.0/ Wednesday, August 24, 2011
Recommend
More recommend