SlideShare a Scribd company logo
1 of 79
Download to read offline
enhancing agile development
with software assessment


www.tudorgirba.com
ology.org
  ooset echn
m
feedback is key
{

    }
{

    }
{       {

    }       }
{       {

    }       }
{       {

    }       }

        {

            }
{       {

    }       }

        {

            }
{       {

    }       }

        {

            }
{       {       {

    }       }       }

        {       {

            }       }
{       {       {

    }       }       }

        {       {

            }       }
{       {       {

    }       }               }

        {           {


            }           }
{       {       {

    }       }               }

        {           {


            }           }
{       {       {

    }       }               }

        {           {


            }           }
{       {       {               {

    }       }               }               }

        {           {               {


            }           }               }
{       {       {               {

    }       }               }               }

        {           {               {


            }           }               }
{       {       {               {

    }       }               }       }

        {           {           {

            }           }           }

                                {

                                        }
{       {       {               {

    }       }               }       }

        {           {           {

            }           }           }

                                {

                                        }
{       {       {               {

    }       }               }       }

        {           {           {

            }           }           }

                                {

                                        }
feedback is key
}
                                                    }
                                                {
                                                {



                                                    }
                                                    }
                                                {
                                                {




                                            g
                                       in
                                  er
                             ne
                        gi
                   en
               d
          ar
     rw
fo
fo
                                               rw
                                                ar
                                                  d
                                                     en
                                                     gi
                                                      ne
                                                          er
                                                          in
                                                           g
{               {
    {                   {                                      {               {
                            }                                      {               {
        }
        }                       actual development                     }               }
            }       {       }                                              }               }
fo
                                                               rw
                                           g
                                          rin




                                                                ar
                                          ee




                                                                  d
                                                                     en
                                      in
                                     ng




                                                                     gi
                                                                      ne
                                     ee




                                                                          er
                                 rs




                                                                          in
                                ve




                                                                           g
                                re




{               {
    {                   {                                                      {               {
                            }                                                      {               {
        }
        }                                       actual development                     }               }
            }       {       }                                                              }               }
{
        {
    }
    }
}
        {
                 reverse




{
        {
        }

}
                engineering
{
        {
    }
    }
}
        {
                 reverse




{
        {
        }

}
                engineering
{
        {
    }
    }
}
        {
                 reverse




{
        {
                              assessment




        }

}
                engineering
assessment is a discipline
assessment should be continuous
assessment should be contextual
McCabe = 21

NOM =
        102
               OC
                    =
                        75
                          3,0
                              00


                                   clas
                                        ses
                                            se lect
                                                    : #isG
                                                           o  d
                                                                                              ...
              L




                                                          {                   {
                                                                  {                   {
                                                                                          }
                                                                      }
                                                                      }
                                                                          }       {       }
McCabe = 21

NOM =
        102
               OC
                    =
                        75
                          3,0
                              00


                                   clas
                                        ses
                                            se lect
                                                    : #isG
                                                           o  d
                                                                                              ...
              L




                                                          {                   {
                                                                  {                   {
                                                                                          }
                                                                      }
                                                                      }
                                                                          }       {       }
McCabe = 21

NOM =
        102
               OC
                    =
                        75
                          3,0
                              00


                                   clas
                                        ses
                                            se lect
                                                    : #isG
                                                           o  d
                                                                                              ...
              L




                                                          {                   {
                                                                  {                   {
                                                                                          }
                                                                      }
                                                                      }
                                                                          }       {       }
McCabe = 21

NOM =
        102
               OC
                    =
                        75
                          3,0
                              00


                                   clas
                                        ses
                                            se lect
                                                    : #isG
                                                           o  d
                                                                                              ...
              L




                                                          {                   {
                                                                  {                   {
                                                                                          }
                                                                      }
                                                                      }
                                                                          }       {       }
A God Class centralizes too much intelligence


 Class uses directly more than a
 few attributes of other classes

         ATFD > FEW




  Functional complexity of the
       class is very high
                                   AND   GodClass
      WMC ! VERY HIGH




     Class cohesion is low


      TCC < ONE THIRD

                                                                   00   6
                                                    , Mari nescu 2
                                             Lanza
McCabe = 21

NOM =
        102
               OC
                    =
                        75
                          3,0
                              00


                                   clas
                                        ses
                                            se lect
                                                    : #isG
                                                           o  d
                                                                                              ...
              L




                                                          {                   {
                                                                  {                   {
                                                                                          }
                                                                      }
                                                                      }
                                                                          }       {       }
McCabe = 21

NOM =
        102
               OC
                    =
                        75
                          3,0
                              00


                                   clas
                                        ses
                                            se lect
                                                    : #isG
                                                           o  d
                                                                                              ...
              L




                                                          {                   {
                                                                  {                   {
                                                                                          }
                                                                      }
                                                                      }
                                                                          }       {       }
A picture tells
a thousand words
l pictures tell a
Not al
             words
th ousand
System Complexity shows class hierarchies




                                                  03
                                        ucasse 20
                               Lanza, D
Class Blueprint shows class internals
eDSM shows dependencies
Duplications shown side by side
McCabe = 21

NOM =
        102
               OC
                    =
                        75
                          3,0
                              00


                                   clas
                                        ses
                                            se lect
                                                    : #isG
                                                           o  d
                                                                                              ...
              L




                                                          {                   {
                                                                  {                   {
                                                                                          }
                                                                      }
                                                                      }
                                                                          }       {       }
McCabe = 21

NOM =
        102
               OC
                    =
                        75
                          3,0
                              00


                                   clas
                                        ses
                                            se lect
                                                    : #isG
                                                           o  d
                                                                                              ...
              L




                                                          {                   {
                                                                  {                   {
                                                                                          }
                                                                      }
                                                                      }
                                                                          }       {       }
McCabe = 21

NOM =
        102
               OC
                    =
                        75
                          3,0
                              00


                                   clas
                                        ses
                                            se lect
                                                    : #isG
                                                           o  d
                                                                                              ...
              L




                                                          {                   {
                                                                  {                   {
                                                                                          }
                                                                      }
                                                                      }
                                                                          }       {       }
ology.org
  ooset echn
m
What is this made of?




                                           03
                                 ucasse 20
                        Lanza, D
What is this made of?
Class A   method M
package 1
               Class B   method N
package 2
                  ...       ...
    ...


 source code
McCabe = 21

NOM =
        102
               OC
                    =
                        75
                          3,0
                              00


                                   clas
                                        ses
                                            se lect
                                                    : #isG
                                                           o  d
                                                                                              ...
              L




                                                          {                   {
                                                                  {                   {
                                                                                          }
                                                                      }
                                                                      }
                                                                          }       {       }
{
        {
    }
    }
}
        {
                 reverse




{
        {
                              assessment




        }

}
                engineering
feedback is key
feedback is key
assessment is a discipline
assessment should be continuous
assessment should be contextual
assessment is a discipline
assessment must be continuous
assessment must be contextual
Tudor Gîrba
        www.tudorgirba.com




creativecommons.org/licenses/by/3.0/

More Related Content

Similar to Enhancing agile development through software assessment

05 Problem Detection
05 Problem Detection05 Problem Detection
05 Problem Detection
Jorge Ressia
 
Helping you reengineering your legacy
Helping you reengineering your legacyHelping you reengineering your legacy
Helping you reengineering your legacy
Stéphane Ducasse
 
A Moose Slideshow
A Moose SlideshowA Moose Slideshow
A Moose Slideshow
Tudor Girba
 

Similar to Enhancing agile development through software assessment (15)

Assessing software systems
Assessing software systemsAssessing software systems
Assessing software systems
 
Humane assessment at ICSM 2010
Humane assessment at ICSM 2010Humane assessment at ICSM 2010
Humane assessment at ICSM 2010
 
Pragmatic Design Quality Assessment - (Tutorial at ICSE 2008)
Pragmatic Design Quality Assessment - (Tutorial at ICSE 2008)Pragmatic Design Quality Assessment - (Tutorial at ICSE 2008)
Pragmatic Design Quality Assessment - (Tutorial at ICSE 2008)
 
Moose Overview
Moose OverviewMoose Overview
Moose Overview
 
05 Problem Detection
05 Problem Detection05 Problem Detection
05 Problem Detection
 
Modeling History to Understand Software Evolution with Hismo 2008-03-12
Modeling History to Understand Software Evolution with Hismo 2008-03-12Modeling History to Understand Software Evolution with Hismo 2008-03-12
Modeling History to Understand Software Evolution with Hismo 2008-03-12
 
Modeling History to Understand Software Evolution With Hismo 2008-02-25
Modeling History to Understand Software Evolution With Hismo 2008-02-25 Modeling History to Understand Software Evolution With Hismo 2008-02-25
Modeling History to Understand Software Evolution With Hismo 2008-02-25
 
What history can tell us
What history can tell usWhat history can tell us
What history can tell us
 
Software understanding in the large (EVO 2008)
Software understanding in the large (EVO 2008)Software understanding in the large (EVO 2008)
Software understanding in the large (EVO 2008)
 
Helping you reengineering your legacy
Helping you reengineering your legacyHelping you reengineering your legacy
Helping you reengineering your legacy
 
Restructuring (EVO 2008)
Restructuring (EVO 2008)Restructuring (EVO 2008)
Restructuring (EVO 2008)
 
History Analysis (EVO 2008)
History Analysis (EVO 2008)History Analysis (EVO 2008)
History Analysis (EVO 2008)
 
Reverse Engineering Techniques 2007-11-29
Reverse Engineering Techniques 2007-11-29 Reverse Engineering Techniques 2007-11-29
Reverse Engineering Techniques 2007-11-29
 
A Moose Slideshow
A Moose SlideshowA Moose Slideshow
A Moose Slideshow
 
The humane software assessment (Choose Forum 2009)
The humane software assessment (Choose Forum 2009)The humane software assessment (Choose Forum 2009)
The humane software assessment (Choose Forum 2009)
 

More from Tudor Girba

More from Tudor Girba (20)

Beyond software evolution: Software environmentalism
Beyond software evolution: Software environmentalismBeyond software evolution: Software environmentalism
Beyond software evolution: Software environmentalism
 
Software craftsmanship meetup (Zurich 2015) on solving real problems without ...
Software craftsmanship meetup (Zurich 2015) on solving real problems without ...Software craftsmanship meetup (Zurich 2015) on solving real problems without ...
Software craftsmanship meetup (Zurich 2015) on solving real problems without ...
 
GT Spotter
GT SpotterGT Spotter
GT Spotter
 
Don't demo facts. Demo stories! (handouts)
Don't demo facts. Demo stories! (handouts)Don't demo facts. Demo stories! (handouts)
Don't demo facts. Demo stories! (handouts)
 
Don't demo facts. Demo stories!
Don't demo facts. Demo stories!Don't demo facts. Demo stories!
Don't demo facts. Demo stories!
 
Humane assessment on cards
Humane assessment on cardsHumane assessment on cards
Humane assessment on cards
 
Underneath Scrum: Reflective Thinking
Underneath Scrum: Reflective ThinkingUnderneath Scrum: Reflective Thinking
Underneath Scrum: Reflective Thinking
 
1800+ TED talks later
1800+ TED talks later1800+ TED talks later
1800+ TED talks later
 
Software assessment by example (lecture at the University of Bern)
Software assessment by example (lecture at the University of Bern)Software assessment by example (lecture at the University of Bern)
Software assessment by example (lecture at the University of Bern)
 
Humane assessment: Taming the elephant from the development room
Humane assessment: Taming the elephant from the development roomHumane assessment: Taming the elephant from the development room
Humane assessment: Taming the elephant from the development room
 
Moose: how to solve real problems without reading code
Moose: how to solve real problems without reading codeMoose: how to solve real problems without reading code
Moose: how to solve real problems without reading code
 
Software Environmentalism (ECOOP 2014 Keynote)
Software Environmentalism (ECOOP 2014 Keynote)Software Environmentalism (ECOOP 2014 Keynote)
Software Environmentalism (ECOOP 2014 Keynote)
 
The emergent nature of software systems
The emergent nature of software systemsThe emergent nature of software systems
The emergent nature of software systems
 
Presenting is storytelling at Uni Zurich - slides (2014-03-05)
Presenting is storytelling at Uni Zurich - slides (2014-03-05)Presenting is storytelling at Uni Zurich - slides (2014-03-05)
Presenting is storytelling at Uni Zurich - slides (2014-03-05)
 
Presenting is storytelling at Uni Zurich - handouts (2014-03-05)
Presenting is storytelling at Uni Zurich - handouts (2014-03-05)Presenting is storytelling at Uni Zurich - handouts (2014-03-05)
Presenting is storytelling at Uni Zurich - handouts (2014-03-05)
 
Underneath Scrum: Reflective Thinking (talk at Scrum Breakfast Bern, 2013)
Underneath Scrum: Reflective Thinking (talk at Scrum Breakfast Bern, 2013)Underneath Scrum: Reflective Thinking (talk at Scrum Breakfast Bern, 2013)
Underneath Scrum: Reflective Thinking (talk at Scrum Breakfast Bern, 2013)
 
Demo-driven innovation teaser
Demo-driven innovation teaserDemo-driven innovation teaser
Demo-driven innovation teaser
 
Software assessment essentials (lecture at the University of Bern 2013)
Software assessment essentials (lecture at the University of Bern 2013)Software assessment essentials (lecture at the University of Bern 2013)
Software assessment essentials (lecture at the University of Bern 2013)
 
Demo-driven innovation (University of Zurich, June 2013)
Demo-driven innovation (University of Zurich, June 2013)Demo-driven innovation (University of Zurich, June 2013)
Demo-driven innovation (University of Zurich, June 2013)
 
Humane assessment with Moose at GOTO Aarhus 2011
Humane assessment with Moose at GOTO Aarhus 2011Humane assessment with Moose at GOTO Aarhus 2011
Humane assessment with Moose at GOTO Aarhus 2011
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

Enhancing agile development through software assessment

  • 1. enhancing agile development with software assessment www.tudorgirba.com
  • 3.
  • 4.
  • 6.
  • 7.
  • 8.
  • 9. { }
  • 10. { }
  • 11. { { } }
  • 12. { { } }
  • 13. { { } } { }
  • 14. { { } } { }
  • 15. { { } } { }
  • 16. { { { } } } { { } }
  • 17. { { { } } } { { } }
  • 18. { { { } } } { { } }
  • 19. { { { } } } { { } }
  • 20. { { { } } } { { } }
  • 21. { { { { } } } } { { { } } }
  • 22. { { { { } } } } { { { } } }
  • 23. { { { { } } } } { { { } } } { }
  • 24. { { { { } } } } { { { } } } { }
  • 25. { { { { } } } } { { { } } } { }
  • 27. } } { { } } { { g in er ne gi en d ar rw fo
  • 28. fo rw ar d en gi ne er in g { { { { { { } { { } } actual development } } } { } } }
  • 29. fo rw g rin ar ee d en in ng gi ne ee er rs in ve g re { { { { { { } { { } } actual development } } } { } } }
  • 30. { { } } } { reverse { { } } engineering
  • 31. { { } } } { reverse { { } } engineering
  • 32. { { } } } { reverse { { assessment } } engineering
  • 33. assessment is a discipline assessment should be continuous assessment should be contextual
  • 34.
  • 35.
  • 36.
  • 37.
  • 38. McCabe = 21 NOM = 102 OC = 75 3,0 00 clas ses se lect : #isG o d ... L { { { { } } } } { }
  • 39. McCabe = 21 NOM = 102 OC = 75 3,0 00 clas ses se lect : #isG o d ... L { { { { } } } } { }
  • 40.
  • 41. McCabe = 21 NOM = 102 OC = 75 3,0 00 clas ses se lect : #isG o d ... L { { { { } } } } { }
  • 42. McCabe = 21 NOM = 102 OC = 75 3,0 00 clas ses se lect : #isG o d ... L { { { { } } } } { }
  • 43.
  • 44.
  • 45.
  • 46. A God Class centralizes too much intelligence Class uses directly more than a few attributes of other classes ATFD > FEW Functional complexity of the class is very high AND GodClass WMC ! VERY HIGH Class cohesion is low TCC < ONE THIRD 00 6 , Mari nescu 2 Lanza
  • 47. McCabe = 21 NOM = 102 OC = 75 3,0 00 clas ses se lect : #isG o d ... L { { { { } } } } { }
  • 48. McCabe = 21 NOM = 102 OC = 75 3,0 00 clas ses se lect : #isG o d ... L { { { { } } } } { }
  • 49.
  • 50.
  • 51. A picture tells a thousand words
  • 52.
  • 53.
  • 54. l pictures tell a Not al words th ousand
  • 55. System Complexity shows class hierarchies 03 ucasse 20 Lanza, D
  • 56.
  • 57.
  • 58. Class Blueprint shows class internals
  • 59.
  • 62. McCabe = 21 NOM = 102 OC = 75 3,0 00 clas ses se lect : #isG o d ... L { { { { } } } } { }
  • 63. McCabe = 21 NOM = 102 OC = 75 3,0 00 clas ses se lect : #isG o d ... L { { { { } } } } { }
  • 64. McCabe = 21 NOM = 102 OC = 75 3,0 00 clas ses se lect : #isG o d ... L { { { { } } } } { }
  • 65. ology.org ooset echn m
  • 66. What is this made of? 03 ucasse 20 Lanza, D
  • 67. What is this made of?
  • 68. Class A method M package 1 Class B method N package 2 ... ... ... source code
  • 69.
  • 70.
  • 71.
  • 72.
  • 73. McCabe = 21 NOM = 102 OC = 75 3,0 00 clas ses se lect : #isG o d ... L { { { { } } } } { }
  • 74. { { } } } { reverse { { assessment } } engineering
  • 77. assessment is a discipline assessment should be continuous assessment should be contextual
  • 78. assessment is a discipline assessment must be continuous assessment must be contextual
  • 79. Tudor Gîrba www.tudorgirba.com creativecommons.org/licenses/by/3.0/