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
 
Helping you reengineering your legacy
Helping you reengineering your legacyHelping you reengineering your legacy
Helping you reengineering your legacyStéphane Ducasse
 
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 (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

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

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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 DiscoveryTrustArc
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Recently uploaded (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

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/