humane assessment with moose - inria · assessment with moose humane wednesday, august 24, 2011.org...

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

Upload: others

Post on 25-Jan-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

  • Stéphane DucasseclearVue

    INRIA

    assessmentwith Moose

    humane

    Wednesday, August 24, 2011

    http://www.tudorgirba.comhttp://www.tudorgirba.comhttp://www.tudorgirba.comhttp://www.tudorgirba.comhttp://www.tudorgirba.comhttp://www.tudorgirba.com

  • moosetechnology.o

    rg

    Wednesday, August 24, 2011

    http://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.org

  • humane-assesm

    ent.com

    Wednesday, August 24, 2011

    http://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.comhttp://humane-assessment.com

  • 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 =

    753,0

    00classes sele

    ct: #isGod ...

    Wednesday, August 24, 2011

  • }

    {

    }

    {

    }

    {}

    {

    }

    {

    McCabe = 21

    LOC =

    753,0

    00classes sele

    ct: #isGod ...

    Wednesday, August 24, 2011

  • }

    {

    }

    {

    }

    {}

    {

    }

    {

    McCabe = 21

    LOC =

    753,0

    00classes sele

    ct: #isGod ...

    Wednesday, August 24, 2011

  • }

    {

    }

    {

    }

    {}

    {

    }

    {

    McCabe = 21

    LOC =

    753,0

    00classes sele

    ct: #isGod ...

    Wednesday, August 24, 2011

  • Wednesday, August 24, 2011

  • }

    {

    }

    {

    }

    {}

    {

    }

    {

    McCabe = 21

    LOC =

    753,0

    00classes sele

    ct: #isGod ...

    Wednesday, August 24, 2011

  • }

    {

    }

    {

    }

    {}

    {

    }

    {

    McCabe = 21

    LOC =

    753,0

    00classes sele

    ct: #isGod ...

    Wednesday, August 24, 2011

  • Wednesday, August 24, 2011

  • }

    {

    }

    {

    }

    {}

    {

    }

    {

    McCabe = 21

    LOC =

    753,0

    00classes sele

    ct: #isGod ...

    Wednesday, August 24, 2011

  • }

    {

    }

    {

    }

    {}

    {

    }

    {

    ...McCabe = 21LO

    C = 75

    3,000

    classes select: #isGod

    Wednesday, August 24, 2011

  • themoosebook.or

    g

    Wednesday, August 24, 2011

    http://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.org

  • }

    {

    }

    {

    }

    {}

    {

    }

    {

    ...McCabe = 21LO

    C = 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 = 21LO

    C = 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

    http://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.orghttp://moosetechnology.org

  • feedback is key

    specific feedback is betterWednesday, 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

    http://www.tudorgirba.comhttp://www.tudorgirba.comhttp://creativecommons.org/licenses/by/3.0/http://creativecommons.org/licenses/by/3.0/http://www.tudorgirba.comhttp://www.tudorgirba.com