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

Assessing software systems
Assessing software systemsAssessing software systems
Assessing software systemsTudor Girba
 
Humane assessment at ICSM 2010
Humane assessment at ICSM 2010Humane assessment at ICSM 2010
Humane assessment at ICSM 2010Tudor Girba
 
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)Tudor Girba
 
05 Problem Detection
05 Problem Detection05 Problem Detection
05 Problem DetectionJorge Ressia
 
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-12Tudor Girba
 
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 Tudor Girba
 
What history can tell us
What history can tell usWhat history can tell us
What history can tell usTudor Girba
 
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)Tudor Girba
 
Restructuring (EVO 2008)
Restructuring (EVO 2008)Restructuring (EVO 2008)
Restructuring (EVO 2008)Tudor Girba
 
History Analysis (EVO 2008)
History Analysis (EVO 2008)History Analysis (EVO 2008)
History Analysis (EVO 2008)Tudor Girba
 
Reverse Engineering Techniques 2007-11-29
Reverse Engineering Techniques 2007-11-29 Reverse Engineering Techniques 2007-11-29
Reverse Engineering Techniques 2007-11-29 Tudor Girba
 
A Moose Slideshow
A Moose SlideshowA Moose Slideshow
A Moose SlideshowTudor Girba
 
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)Tudor Girba
 

Similar to Enhancing agile development through software assessment (14)

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)
 
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

Beyond software evolution: Software environmentalism
Beyond software evolution: Software environmentalismBeyond software evolution: Software environmentalism
Beyond software evolution: Software environmentalismTudor Girba
 
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 ...Tudor Girba
 
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)Tudor Girba
 
Don't demo facts. Demo stories!
Don't demo facts. Demo stories!Don't demo facts. Demo stories!
Don't demo facts. Demo stories!Tudor Girba
 
Humane assessment on cards
Humane assessment on cardsHumane assessment on cards
Humane assessment on cardsTudor Girba
 
Underneath Scrum: Reflective Thinking
Underneath Scrum: Reflective ThinkingUnderneath Scrum: Reflective Thinking
Underneath Scrum: Reflective ThinkingTudor Girba
 
1800+ TED talks later
1800+ TED talks later1800+ TED talks later
1800+ TED talks laterTudor Girba
 
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)Tudor Girba
 
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 roomTudor Girba
 
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 codeTudor Girba
 
Software Environmentalism (ECOOP 2014 Keynote)
Software Environmentalism (ECOOP 2014 Keynote)Software Environmentalism (ECOOP 2014 Keynote)
Software Environmentalism (ECOOP 2014 Keynote)Tudor Girba
 
The emergent nature of software systems
The emergent nature of software systemsThe emergent nature of software systems
The emergent nature of software systemsTudor Girba
 
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)Tudor Girba
 
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)Tudor Girba
 
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)Tudor Girba
 
Demo-driven innovation teaser
Demo-driven innovation teaserDemo-driven innovation teaser
Demo-driven innovation teaserTudor Girba
 
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)Tudor Girba
 
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)Tudor Girba
 
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 2011Tudor 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

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 

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/