humane
play

humane assessment with Moose Stphane Ducasse clearVue INRIA - PowerPoint PPT Presentation

humane assessment with Moose Stphane 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


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

  2. moosetechnology.org Wednesday, August 24, 2011

  3. humane-assesment.com Wednesday, August 24, 2011

  4. Wednesday, August 24, 2011

  5. Wednesday, August 24, 2011

  6. feedback is key Wednesday, August 24, 2011

  7. feedback is key Wednesday, August 24, 2011

  8. contextual continuous feedback is key Wednesday, August 24, 2011

  9. = complex , large { { { { } } } } } { Wednesday, August 24, 2011

  10. = 250’000 lines of code Wednesday, August 24, 2011

  11. = 250’000 lines of code * 2 = 500’000 seconds Wednesday, August 24, 2011

  12. = 250’000 lines of code * 2 = 500’000 seconds / 3600 ~ 140 hours Wednesday, August 24, 2011

  13. = 250’000 lines of code * 2 = 500’000 seconds / 3600 ~ 140 hours / 8 ~ 18 days Wednesday, August 24, 2011

  14. = 250’000 lines of code * 2 = 500’000 seconds / 3600 ~ 140 hours / 8 ~ 18 days / 20 ~ 1 month Wednesday, August 24, 2011

  15. 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

  16. Software is like geranium... when dead, it does not bloom! Wednesday, August 24, 2011

  17. 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

  18. forward engineering reverse engineering { { { { { { } { { actual development } } } } } } } } { Wednesday, August 24, 2011

  19. engineering reverse { { { { } } } } } { Wednesday, August 24, 2011

  20. engineering reverse { { { { } } } } } { Wednesday, August 24, 2011

  21. engineering reverse { { { { } } } } } { Wednesday, August 24, 2011

  22. assessment engineering reverse { { { { } } } } } { Wednesday, August 24, 2011

  23. assessment what is the current situation? what can we do about it? engineering reverse { { { { } } } } } { Wednesday, August 24, 2011

  24. Current practices Wednesday, August 24, 2011

  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. Current practices Wednesday, August 24, 2011

  27. manual automatic tailored generic Wednesday, August 24, 2011

  28. manual automatic tailored generic Wednesday, August 24, 2011

  29. We need dedicated tools to help us! We need customable tools to control and give feedback Wednesday, August 24, 2011

  30. apply hypothesize analysis interpret confident? act act Wednesday, August 24, 2011

  31. existing apply hypothesize analysis? analysis interpret confident? act act Wednesday, August 24, 2011

  32. craft analysis existing apply hypothesize analysis? analysis interpret confident? act act Wednesday, August 24, 2011

  33. craft analysis existing apply hypothesize analysis? analysis interpret confident? act Wednesday, August 24, 2011

  34. humane assessment craft analysis existing apply hypothesize analysis? analysis interpret confident? act Wednesday, August 24, 2011

  35. An example: who is really behind that package? (4) Visualisation (3) Analyses (2) Modèle (1) Extraction Wednesday, August 24, 2011

  36. (2) Define a model for code ownership (4) Visualisation (3) Analyses (2) Modèle (1) Extraction Wednesday, August 24, 2011

  37. (3) Use adequate Map Wednesday, August 24, 2011

  38. Distribution Map shows properties over structure (4) Visualisation (3) Analyses (2) Modèle (1) Extraction Ducasse et al 2006 Wednesday, August 24, 2011

  39. ... classes select: #isGod 0 0 0 , 3 M c C a 5 b e = 7 2 1 = C O L { { { { } } } } } { Wednesday, August 24, 2011

  40. ... classes select: #isGod 0 0 0 , 3 M c C a 5 b e = 7 2 1 = C O L { { { { } } } } } { Wednesday, August 24, 2011

  41. ... classes select: #isGod 0 0 0 , 3 M c C a 5 b e = 7 2 1 = C O L { { { { } } } } } { Wednesday, August 24, 2011

  42. ... classes select: #isGod 0 0 0 , 3 M c C a 5 b e = 7 2 1 = C O L { { { { } } } } } { Wednesday, August 24, 2011

  43. Wednesday, August 24, 2011

  44. ... classes select: #isGod 0 0 0 , 3 M c C a 5 b e = 7 2 1 = C O L { { { { } } } } } { Wednesday, August 24, 2011

  45. ... classes select: #isGod 0 0 0 , 3 M c C a 5 b e = 7 2 1 = C O L { { { { } } } } } { Wednesday, August 24, 2011

  46. Wednesday, August 24, 2011

  47. ... classes select: #isGod 0 0 0 , 3 M c C a 5 b e = 7 2 1 = C O L { { { { } } } } } { Wednesday, August 24, 2011

  48. ... classes select: #isGod 0 0 0 , 3 M c C a 5 b e = 7 2 1 = C O L { { { { } } } } } { Wednesday, August 24, 2011

  49. themoosebook.org Wednesday, August 24, 2011

  50. ... classes select: #isGod 0 0 0 , 3 M c C a 5 b e = 7 2 1 = C O L { { { { } } } } } { Wednesday, August 24, 2011

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

  52. Wednesday, August 24, 2011

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

  54. method M Class A package 1 method N Class B package 2 ... ... ... source code Wednesday, August 24, 2011

  55. Wednesday, August 24, 2011

  56. ... classes select: #isGod 0 0 0 , 3 M c C a 5 b e = 7 2 1 = C O L { { { { } } } } } { Wednesday, August 24, 2011

  57. assessment what is the current situation? what can we do about it? engineering reverse { { { { } } } } } { Wednesday, August 24, 2011

  58. Handling Moose 5 days to get up to speed 21 days to get proficient Wednesday, August 24, 2011

  59. 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

  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. Moose gives you the opportunity to control your process. Wednesday, August 24, 2011

  62. Wednesday, August 24, 2011

  63. identify concern Wednesday, August 24, 2011

  64. create identify rule concern Wednesday, August 24, 2011

  65. create identify rule concern discuss results Wednesday, August 24, 2011

  66. create identify rule concern discuss agree? results Wednesday, August 24, 2011

  67. create identify rule concern discuss agree? results Wednesday, August 24, 2011

  68. create identify rule concern discuss agree? results small task? Wednesday, August 24, 2011

  69. create identify rule concern discuss agree? results solve small now task? Wednesday, August 24, 2011

  70. create identify rule concern discuss agree? results solve small plan now task? later Wednesday, August 24, 2011

  71. daily assessment create identify rule concern discuss agree? results solve small plan now task? later Wednesday, August 24, 2011

  72. Wednesday, August 24, 2011

  73. Wednesday, August 24, 2011

  74. continuous assessment Wednesday, August 24, 2011

  75. feedback is key specific feedback is better Wednesday, August 24, 2011

  76. explicit humane tailored assessment must be trained Wednesday, August 24, 2011

  77. 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