humane           assessment           with Moose                             Stéphane Ducasse                             ...
ology.org                               ooset echnWednesday, August 24, 2011                             m
s ment .com                               m ane- asseWednesday, August 24, 2011                             hu
Wednesday, August 24, 2011
Wednesday, August 24, 2011
feedback is keyWednesday, August 24, 2011
feedback is keyWednesday, August 24, 2011
contextual                             continuous                             feedback is keyWednesday, August 24, 2011
complex, large    {               {        {                   {                                }            }            ...
= 250’000 lines of codeWednesday, August 24, 2011
= 250’000 lines of code        * 2  = 500’000 secondsWednesday, 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 daysWed...
= 250’000 lines of code        * 2  = 500’000 seconds        / 3600 	 140 hours               ~        / 8 		 ~ 18 days   ...
Maintenance is continuous                                    Development                                                  ...
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 chan...
fo                                                                    rw                                               g  ...
engineering                                  reverse                             {                {                       ...
engineering                                  reverse                             {                {                       ...
engineering                                  reverse                             {                {                       ...
assessment                                 engineering                                  reverse                           ...
assessment                                                              what is the current situation?                    ...
Current                    practice                             sWednesday, August 24, 2011
50% of maintenance is spent reading code!         20%                                         20%                         ...
Current                    practice                             sWednesday, August 24, 2011
manual        automatic              tailored        genericWednesday, August 24, 2011
manual        automatic              tailored        genericWednesday, August 24, 2011
We need dedicated     tools to help us!                                  We need                             customable to...
apply     hypothesize                                         analysis      confident?             interpret              ...
existing        apply     hypothesize             analysis?       analysis      confident?                 interpret      ...
craft                                         analysis                              existing         apply     hypothesize...
craft                                         analysis                              existing         apply     hypothesize...
h um ane      sessm ent                           craft    as                                   analysis                  ...
An example: who is really behind that package?                             (4) Visualisation     (3) Analyses(2) Modèle   ...
(2) Define a model for code ownership                             (4) Visualisation     (3) Analyses(2) Modèle             ...
(3) Use adequate MapWednesday, August 24, 2011
Distribution Map   shows properties   over structure                      (4) Visualisation    (3) Analyses(2) Modèle     ...
classes sel  McCabe             ect:            = 21                  C                      #isGod                      =...
classes sel  McCabe             ect:            = 21                  C                      #isGod                      =...
classes sel  McCabe             ect:            = 21                  C                      #isGod                      =...
classes sel  McCabe             ect:            = 21                  C                      #isGod                      =...
Wednesday, August 24, 2011
classes sel  McCabe             ect:            = 21                  C                      #isGod                      =...
classes sel  McCabe             ect:            = 21                  C                      #isGod                      =...
Wednesday, August 24, 2011
classes sel  McCabe             ect:            = 21                  C                      #isGod                      =...
classes sel  McCabe             ect:            = 21                  C                      #isGod                      =...
os eboo k.org                             themoWednesday, August 24, 2011
classes sel  McCabe             ect:            = 21                  C                      #isGod                      =...
What is this made of?Wednesday, August 24, 2011
Wednesday, August 24, 2011
What is this made of?Wednesday, August 24, 2011
Class A   method M             package 1                             Class B   method N             package 2             ...
Wednesday, August 24, 2011
classes sel  McCabe             ect:            = 21                  C                      #isGod                      =...
assessment                                                              what is the current situation?                    ...
Handling Moose     5 days to get up to speed     21 days to get proficientWednesday, August 24, 2011
Software engineers that extended Moose     Delphi/Java programmers      customized models      extended meta models      d...
Moose supports Your definition of quality/risk      Example      (1) Getting bug maps      (2) What info to collect?      (...
Moose gives you the opportunity to control                             your process.Wednesday, August 24, 2011
Wednesday, August 24, 2011
identify            concernWednesday, August 24, 2011
identify         create            concern           ruleWednesday, August 24, 2011
identify         create            concern           rule                                discuss                          ...
identify                  create            concern                    rule                                         discus...
identify                  create            concern                    rule                                         discus...
identify                  create            concern                    rule                                         discus...
identify                  create            concern                    rule                                         discus...
identify                  create            concern                    rule                                         discus...
d ailyent  as sessm            identify                  create            concern                    rule                ...
Wednesday, August 24, 2011
Wednesday, August 24, 2011
asses sment                             continuousWednesday, August 24, 2011
feedback is key                 specific feedback is betterWednesday, August 24, 2011
explicit      humane      assessment must be     tailored                             trainedWednesday, August 24, 2011
Tudor Gîrba              Stéphane Ducasse                             www.tudorgirba.com           stephane.ducasse.free.f...
Upcoming SlideShare
Loading in …5
×

Humane Assessment

497 views
384 views

Published on

ESUG 2011, Edinburgh

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
497
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Humane Assessment

  1. 1. humane assessment with Moose Stéphane Ducasse clearVue INRIAWednesday, August 24, 2011
  2. 2. ology.org ooset echnWednesday, August 24, 2011 m
  3. 3. s ment .com m ane- asseWednesday, August 24, 2011 hu
  4. 4. Wednesday, August 24, 2011
  5. 5. Wednesday, August 24, 2011
  6. 6. feedback is keyWednesday, August 24, 2011
  7. 7. feedback is keyWednesday, August 24, 2011
  8. 8. contextual continuous feedback is keyWednesday, August 24, 2011
  9. 9. complex, large { { { { } } } } { } =Wednesday, August 24, 2011
  10. 10. = 250’000 lines of codeWednesday, August 24, 2011
  11. 11. = 250’000 lines of code * 2 = 500’000 secondsWednesday, August 24, 2011
  12. 12. = 250’000 lines of code * 2 = 500’000 seconds / 3600 140 hours ~Wednesday, August 24, 2011
  13. 13. = 250’000 lines of code * 2 = 500’000 seconds / 3600 140 hours ~ / 8 ~ 18 daysWednesday, August 24, 2011
  14. 14. = 250’000 lines of code * 2 = 500’000 seconds / 3600 140 hours ~ / 8 ~ 18 days / 20 ~ 1 monthWednesday, August 24, 2011
  15. 15. Maintenance is continuous Development 4% Other 18% Adaptive 20% (new platforms) 4% 18% 60% 80% 18% 18% Corrective (fixing reported errors) Between 50% and 80% of global effort is spent on 60% Perfective (new functionality) “maintenance” ! “Maintenance”Wednesday, August 24, 2011
  16. 16. Software is like geranium... when dead, it does not bloom!Wednesday, August 24, 2011
  17. 17. Software is a living entity... Early decisions were certainly good at that time But the context changes Customers change Technology changes People changeWednesday, August 24, 2011
  18. 18. fo rw g rin ar d ee en in ng gi ne ee er rs in ve g re { { { { { { } { { } } actual development } } } { } } }Wednesday, August 24, 2011
  19. 19. engineering reverse { { { { } } } } { }Wednesday, August 24, 2011
  20. 20. engineering reverse { { { { } } } } { }Wednesday, August 24, 2011
  21. 21. engineering reverse { { { { } } } } { }Wednesday, August 24, 2011
  22. 22. assessment engineering reverse { { { { } } } } { }Wednesday, August 24, 2011
  23. 23. assessment what is the current situation? what can we do about it? engineering reverse { { { { } } } } { }Wednesday, August 24, 2011
  24. 24. Current practice sWednesday, August 24, 2011
  25. 25. 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
  26. 26. Current practice sWednesday, August 24, 2011
  27. 27. manual automatic tailored genericWednesday, August 24, 2011
  28. 28. manual automatic tailored genericWednesday, August 24, 2011
  29. 29. We need dedicated tools to help us! We need customable tools to control and give feedbackWednesday, August 24, 2011
  30. 30. apply hypothesize analysis confident? interpret actWednesday, August 24, 2011
  31. 31. existing apply hypothesize analysis? analysis confident? interpret actWednesday, August 24, 2011
  32. 32. craft analysis existing apply hypothesize analysis? analysis confident? interpret actWednesday, August 24, 2011
  33. 33. craft analysis existing apply hypothesize analysis? analysis confident? interpret actWednesday, August 24, 2011
  34. 34. h um ane sessm ent craft as analysis existing apply hypothesize analysis? analysis confident? interpret actWednesday, August 24, 2011
  35. 35. An example: who is really behind that package? (4) Visualisation (3) Analyses(2) Modèle (1) ExtractionWednesday, August 24, 2011
  36. 36. (2) Define a model for code ownership (4) Visualisation (3) Analyses(2) Modèle (1) ExtractionWednesday, August 24, 2011
  37. 37. (3) Use adequate MapWednesday, August 24, 2011
  38. 38. Distribution Map shows properties over structure (4) Visualisation (3) Analyses(2) Modèle (1) ExtractionDucass e et al 20 06Wednesday, August 24, 2011
  39. 39. classes sel McCabe ect: = 21 C #isGod = 75 3,0 00 ... LO { { { { } } } } { }Wednesday, August 24, 2011
  40. 40. classes sel McCabe ect: = 21 C #isGod = 75 3,0 00 ... LO { { { { } } } } { }Wednesday, August 24, 2011
  41. 41. classes sel McCabe ect: = 21 C #isGod = 75 3,0 00 ... LO { { { { } } } } { }Wednesday, August 24, 2011
  42. 42. classes sel McCabe ect: = 21 C #isGod = 75 3,0 00 ... LO { { { { } } } } { }Wednesday, August 24, 2011
  43. 43. Wednesday, August 24, 2011
  44. 44. classes sel McCabe ect: = 21 C #isGod = 75 3,0 00 ... LO { { { { } } } } { }Wednesday, August 24, 2011
  45. 45. classes sel McCabe ect: = 21 C #isGod = 75 3,0 00 ... LO { { { { } } } } { }Wednesday, August 24, 2011
  46. 46. Wednesday, August 24, 2011
  47. 47. classes sel McCabe ect: = 21 C #isGod = 75 3,0 00 ... LO { { { { } } } } { }Wednesday, August 24, 2011
  48. 48. classes sel McCabe ect: = 21 C #isGod = 75 3,0 00 ... LO { { { { } } } } { }Wednesday, August 24, 2011
  49. 49. os eboo k.org themoWednesday, August 24, 2011
  50. 50. classes sel McCabe ect: = 21 C #isGod = 75 3,0 00 ... LO { { { { } } } } { }Wednesday, August 24, 2011
  51. 51. What is this made of?Wednesday, August 24, 2011
  52. 52. Wednesday, August 24, 2011
  53. 53. What is this made of?Wednesday, August 24, 2011
  54. 54. Class A method M package 1 Class B method N package 2 ... ... ... source codeWednesday, August 24, 2011
  55. 55. Wednesday, August 24, 2011
  56. 56. classes sel McCabe ect: = 21 C #isGod = 75 3,0 00 ... LO { { { { } } } } { }Wednesday, August 24, 2011
  57. 57. assessment what is the current situation? what can we do about it? engineering reverse { { { { } } } } { }Wednesday, August 24, 2011
  58. 58. Handling Moose 5 days to get up to speed 21 days to get proficientWednesday, August 24, 2011
  59. 59. Software engineers that extended Moose Delphi/Java programmers customized models extended meta models defined specific rules Smalltalk programmers new tools to support code integrationWednesday, August 24, 2011
  60. 60. 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
  61. 61. Moose gives you the opportunity to control your process.Wednesday, August 24, 2011
  62. 62. Wednesday, August 24, 2011
  63. 63. identify concernWednesday, August 24, 2011
  64. 64. identify create concern ruleWednesday, August 24, 2011
  65. 65. identify create concern rule discuss resultsWednesday, August 24, 2011
  66. 66. identify create concern rule discuss agree? resultsWednesday, August 24, 2011
  67. 67. identify create concern rule discuss agree? resultsWednesday, August 24, 2011
  68. 68. identify create concern rule discuss agree? results small task?Wednesday, August 24, 2011
  69. 69. identify create concern rule discuss agree? results solve small now task?Wednesday, August 24, 2011
  70. 70. identify create concern rule discuss agree? results solve small plan now task? laterWednesday, August 24, 2011
  71. 71. d ailyent as sessm identify create concern rule discuss agree? results solve small plan now task? laterWednesday, August 24, 2011
  72. 72. Wednesday, August 24, 2011
  73. 73. Wednesday, August 24, 2011
  74. 74. asses sment continuousWednesday, August 24, 2011
  75. 75. feedback is key specific feedback is betterWednesday, August 24, 2011
  76. 76. explicit humane assessment must be tailored trainedWednesday, August 24, 2011
  77. 77. Tudor Gîrba Stéphane Ducasse www.tudorgirba.com stephane.ducasse.free.fr creativecommons.org/licenses/by/3.0/Wednesday, August 24, 2011

×