SlideShare ist ein Scribd-Unternehmen logo
1 von 77
Downloaden Sie, um offline zu lesen
humane
           assessment
           with Moose
                             Stéphane Ducasse
                                      clearVue
                                         INRIA
Wednesday, August 24, 2011
ology.org
                               ooset echn
Wednesday, August 24, 2011
                             m
s ment .com
                               m ane- asse
Wednesday, August 24, 2011
                             hu
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
               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
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
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
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
                    practice
                             s
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
                    practice
                             s
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


      confident?             interpret



                  act
Wednesday, August 24, 2011
existing        apply
     hypothesize             analysis?       analysis


      confident?                 interpret



                  act
Wednesday, August 24, 2011
craft
                                         analysis

                              existing         apply
     hypothesize             analysis?        analysis


      confident?                 interpret



                  act
Wednesday, August 24, 2011
craft
                                         analysis

                              existing         apply
     hypothesize             analysis?        analysis


      confident?                 interpret



                  act
Wednesday, August 24, 2011
h um ane
      sessm ent                           craft
    as                                   analysis

                              existing         apply
     hypothesize             analysis?        analysis


      confident?                 interpret



                  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




Ducass
       e       et al 20
                           06
Wednesday, August 24, 2011
classes sel

  McCabe
             ect:


            = 21
                  C
                      #isGod



                      =
                          75
                            3,0
                                00
                                                                     ...
                LO




                                     {               {
                                         {                   {
                                                                 }
                                             }
                                             }
                                                 }       {       }



Wednesday, August 24, 2011
classes sel

  McCabe
             ect:


            = 21
                  C
                      #isGod



                      =
                          75
                            3,0
                                00
                                                                     ...
                LO




                                     {               {
                                         {                   {
                                                                 }
                                             }
                                             }
                                                 }       {       }



Wednesday, August 24, 2011
classes sel

  McCabe
             ect:


            = 21
                  C
                      #isGod



                      =
                          75
                            3,0
                                00
                                                                     ...
                LO




                                     {               {
                                         {                   {
                                                                 }
                                             }
                                             }
                                                 }       {       }



Wednesday, August 24, 2011
classes sel

  McCabe
             ect:


            = 21
                  C
                      #isGod



                      =
                          75
                            3,0
                                00
                                                                     ...
                LO




                                     {               {
                                         {                   {
                                                                 }
                                             }
                                             }
                                                 }       {       }



Wednesday, August 24, 2011
Wednesday, August 24, 2011
classes sel

  McCabe
             ect:


            = 21
                  C
                      #isGod



                      =
                          75
                            3,0
                                00
                                                                     ...
                LO




                                     {               {
                                         {                   {
                                                                 }
                                             }
                                             }
                                                 }       {       }



Wednesday, August 24, 2011
classes sel

  McCabe
             ect:


            = 21
                  C
                      #isGod



                      =
                          75
                            3,0
                                00
                                                                     ...
                LO




                                     {               {
                                         {                   {
                                                                 }
                                             }
                                             }
                                                 }       {       }



Wednesday, August 24, 2011
Wednesday, August 24, 2011
classes sel

  McCabe
             ect:


            = 21
                  C
                      #isGod



                      =
                          75
                            3,0
                                00
                                                                     ...
                LO




                                     {               {
                                         {                   {
                                                                 }
                                             }
                                             }
                                                 }       {       }



Wednesday, August 24, 2011
classes sel

  McCabe
             ect:


            = 21
                  C
                      #isGod



                      =
                          75
                            3,0
                                00
                                                                     ...
                LO




                                     {               {
                                         {                   {
                                                                 }
                                             }
                                             }
                                                 }       {       }



Wednesday, August 24, 2011
os eboo k.org
                             themo
Wednesday, August 24, 2011
classes sel

  McCabe
             ect:


            = 21
                  C
                      #isGod



                      =
                          75
                            3,0
                                00
                                                                     ...
                LO




                                     {               {
                                         {                   {
                                                                 }
                                             }
                                             }
                                                 }       {       }



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
Class A   method M
             package 1
                             Class B   method N
             package 2
                                ...       ...
                 ...


               source code




Wednesday, August 24, 2011
Wednesday, August 24, 2011
classes sel

  McCabe
             ect:


            = 21
                  C
                      #isGod



                      =
                          75
                            3,0
                                00
                                                                     ...
                LO




                                     {               {
                                         {                   {
                                                                 }
                                             }
                                             }
                                                 }       {       }



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
identify         create
            concern           rule




Wednesday, August 24, 2011
identify         create
            concern           rule


                                discuss
                                results




Wednesday, August 24, 2011
identify                  create
            concern                    rule


                                         discuss
                             agree?
                                         results




Wednesday, August 24, 2011
identify                  create
            concern                    rule


                                         discuss
                             agree?
                                         results




Wednesday, August 24, 2011
identify                  create
            concern                    rule


                                         discuss
                             agree?
                                         results


                             small
                             task?
Wednesday, August 24, 2011
identify                  create
            concern                    rule


                                         discuss
                             agree?
                                         results


              solve          small
              now            task?
Wednesday, August 24, 2011
identify                  create
            concern                    rule


                                         discuss
                             agree?
                                         results


              solve          small              plan
              now            task?             later
Wednesday, August 24, 2011
d ailyent
  as sessm
            identify                  create
            concern                    rule


                                         discuss
                             agree?
                                         results


              solve          small              plan
              now            task?             later
Wednesday, August 24, 2011
Wednesday, August 24, 2011
Wednesday, August 24, 2011
asses sment
                             continuous

Wednesday, August 24, 2011
feedback is key




                 specific feedback is better
Wednesday, August 24, 2011
explicit
      humane
      assessment must be     tailored
                             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

Weitere ähnliche Inhalte

Mehr von ESUG

Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in PharoESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapESUG
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector TuningESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FutureESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the DebuggerESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing ScoreESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsESUG
 
BioSmalltalk
BioSmalltalkBioSmalltalk
BioSmalltalkESUG
 

Mehr von ESUG (20)

Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 
BioSmalltalk
BioSmalltalkBioSmalltalk
BioSmalltalk
 

Kürzlich hochgeladen

NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 

Kürzlich hochgeladen (20)

20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 

Humane Assessment

  • 1. humane assessment with Moose Stéphane Ducasse clearVue INRIA Wednesday, August 24, 2011
  • 2. ology.org ooset echn Wednesday, August 24, 2011 m
  • 3. s ment .com m ane- asse Wednesday, August 24, 2011 hu
  • 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 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
  • 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 practice s 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 practice s 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 confident? interpret act Wednesday, August 24, 2011
  • 31. existing apply hypothesize analysis? analysis confident? interpret act Wednesday, August 24, 2011
  • 32. craft analysis existing apply hypothesize analysis? analysis confident? interpret act Wednesday, August 24, 2011
  • 33. craft analysis existing apply hypothesize analysis? analysis confident? interpret act Wednesday, August 24, 2011
  • 34. h um ane sessm ent craft as analysis existing apply hypothesize analysis? analysis confident? interpret 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 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
  • 44. classes sel McCabe ect: = 21 C #isGod = 75 3,0 00 ... LO { { { { } } } } { } Wednesday, August 24, 2011
  • 45. classes sel McCabe ect: = 21 C #isGod = 75 3,0 00 ... LO { { { { } } } } { } Wednesday, August 24, 2011
  • 47. classes sel McCabe ect: = 21 C #isGod = 75 3,0 00 ... LO { { { { } } } } { } Wednesday, August 24, 2011
  • 48. classes sel McCabe ect: = 21 C #isGod = 75 3,0 00 ... LO { { { { } } } } { } Wednesday, August 24, 2011
  • 49. os eboo k.org themo Wednesday, August 24, 2011
  • 50. classes sel McCabe ect: = 21 C #isGod = 75 3,0 00 ... LO { { { { } } } } { } Wednesday, August 24, 2011
  • 51. What is this made of? Wednesday, August 24, 2011
  • 53. What is this made of? Wednesday, August 24, 2011
  • 54. Class A method M package 1 Class B method N package 2 ... ... ... source code 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
  • 63. identify concern Wednesday, August 24, 2011
  • 64. identify create concern rule Wednesday, August 24, 2011
  • 65. identify create concern rule discuss results Wednesday, August 24, 2011
  • 66. identify create concern rule discuss agree? results Wednesday, August 24, 2011
  • 67. identify create concern rule discuss agree? results Wednesday, August 24, 2011
  • 68. identify create concern rule discuss agree? results small task? Wednesday, August 24, 2011
  • 69. identify create concern rule discuss agree? results solve small now task? Wednesday, August 24, 2011
  • 70. identify create concern rule discuss agree? results solve small plan now task? later Wednesday, August 24, 2011
  • 71. d ailyent as sessm identify create concern rule discuss agree? results solve small plan now task? later Wednesday, August 24, 2011
  • 74. asses sment continuous Wednesday, August 24, 2011
  • 75. feedback is key specific feedback is better Wednesday, August 24, 2011
  • 76. explicit humane assessment must be tailored 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