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
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. 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. 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
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
38. Distribution Map
shows properties
over structure
(4) Visualisation
(3) Analyses
(2) Modèle
(1) Extraction
Ducass
e et al 20
06
Wednesday, August 24, 2011
39. classes sel
McCabe
ect:
= 21
C
#isGod
=
75
3,0
00
...
LO
{ {
{ {
}
}
}
} { }
Wednesday, August 24, 2011
40. classes sel
McCabe
ect:
= 21
C
#isGod
=
75
3,0
00
...
LO
{ {
{ {
}
}
}
} { }
Wednesday, August 24, 2011
41. classes sel
McCabe
ect:
= 21
C
#isGod
=
75
3,0
00
...
LO
{ {
{ {
}
}
}
} { }
Wednesday, August 24, 2011
42. classes sel
McCabe
ect:
= 21
C
#isGod
=
75
3,0
00
...
LO
{ {
{ {
}
}
}
} { }
Wednesday, August 24, 2011
56. classes sel
McCabe
ect:
= 21
C
#isGod
=
75
3,0
00
...
LO
{ {
{ {
}
}
}
} { }
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