SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
The SQALE method:
                              Meaningful insights into
                              your Technical Debt*
                                Jean-Louis Letouzey
                                August 2012




* The technical debt visible in your source code
Presentation

                             Jean-Louis Letouzey
                             Expert consultant at inspearit France




           Product Audit, Technical Debt assessment
           Author of the SQALE method
           Preaching, Teaching SQALE
           SQALE tailoring and deployment in large organizations


© inspearit-2012                                                     2
Table of Contents

  Reminder on Quality and Technical Debt
  Technical Debt: a powerful Paradigm Shift
  The SQALE method: Structure
  Analyzing Technical Debt with SQALE
  Paying back Technical Debt with SQALE
  Summary and Conclusion
  Demonstration




                                              3
Quality

      Quality is:
      compliance to
      requirement
      Before measuring
      Quality, you first need
      to define it
         At project level or
         At Organization level




                   If you don’t define it, you won’t get it !
© inspearit-2012                                                4
Technical Debt
Ward Cunningham
at OOPSLA 92:
                       “Every minute spent
“Shipping first time
                       on not-quite-right
code is like going
                       code counts as
into debt. A little
                       interest”
debt speeds
development so
long as it is paid
back promptly with
a rewrite…”




 © inspearit-2012                            5
Technical Debt

      A strong communication tool
      Understandable by managers (it fits well in Excel sheets)
      Many blogs, definitions from experts
        Product – Process
        Voluntary – involuntary
        …
      One reference book:




© inspearit-2012                                                  6
Technical Debt

In a recent (2012) interview* Ward Cunningham provided some
clarifications:
      “We can say that the CODE is of high quality when
      productivity remains high in the presence of change in TEAM
      and GOALS.”




    Technical debt = Work to be done = Principal
    Impact = Lost of productivity = Interest


    * www.techdebt.org

© inspearit-2012                                                    7
Technical Debt and Agility

      Agile considers the source code as one major deliverable (not
      design model, not documentation)
      The definition of “right code” should be considered for the
      Definition(s) of Done (DoD)
        List of source code quality requirements
        Type and acceptable level of Technical Debt


      Agile promotes transparency
      Technical Debt shall be identified and monitored
      Project shall plan and prioritize activities for repaying and
      limiting this debt


© inspearit-2012                                                      8
Technical Debt and Agile Projects




                                      « Continuous
    “DoD”                              inspection »
   Including                          Monitoring TD
 Definition of
« Right Code »
                    Part of debt to
Acceptable type
                     be repayed
  and level of
                      within the
     debt
                         sprint

 © inspearit-2012                                     9
What Managing Technical Debt Means?

To Manage TD means at least:
1. Define what creates TD
2. Define how to calculate TD
3. Set Goals at organizational or project level
4. Monitor the TD against the goals
5. Compare TD across versions, projects, subcontractors…
6. Analyze TD (age, location and impact)
7. Set Pay down goals
8. Set Pay down plan/priorities
9. …


© inspearit-2012                                           10
Table of Content

  Reminder on Quality and Technical Debt
  Technical Debt: a powerful Paradigm Shift
  The SQALE method: Structure
  Analyzing Technical Debt with SQALE
  Paying back Technical Debt with SQALE
  Summary and Conclusion
  Demonstration




                                              11
Technical Debt: a Paradigm Shift

      Since the 70’s, the Software community is trying to measure
      « Quality » and Quality of source code
      Technical Debt makes the difference on 4 points



1st point: Technical debt measures “Non Quality”!

           “Good Code”   ∞                     “Bad Code”      ∞




                                                               Measures
                         Measures




           “Bad Code”     0                    “Right Code”    0

© inspearit-2012                                                          12
2nd point: “Right code”

     Technical Debt refers to “Right code”, not “perfect code”

                                           No formal definition of
                   Attribute1


                                             « perfect code »


                                                      « Not right code »
                                                             area
                   Perfect
                    Code


                                                       « Right code »
                                                            area




     As soon as one attribute is in the unacceptable area (i.e.
     potentially decreasing productivity), the code is “not right”

© inspearit-2012                                                           13
3rd point: Formulas: 5 days training!

    Des formules complexes
   MAINTAINABILITY INDEX
   MI4 = 171 - 3.42ln(aveE) - 0.23aveV(g') - 16.2ln(aveLOC)
        + (50 x sin(sqrt(2.46 x aveCM))



   CLASS COHESION
   LCOM = LCOM = ((1/a x ΣA) - m)/(1 - m)
   Where a is the number of attributes of the class, Σ A is the sum across the set of
   attributes of the number of methods that access each attribute, and m is the
   number of methods of the class.




© inspearit-2012                                                                        14
4th point: Aggregations: no averages!




© inspearit-2012                        15
Benefits from the Paradigm Shift

TD Specificities                Benefits at measure level
     Aggregation by addition      No masking, no false positive
     Inverse direction            Objective
     « Right » vs « Perfect »     Precise
     Ease of understanding        Short training




Technical debt is a much more powerful system
compared to everything used previously to
measure source code

© inspearit-2012                                                  16
Table of Content

  Reminder on Quality and Technical Debt
  Technical Debt: a powerful Paradigm Shift
  The SQALE method: Structure
  Analyzing the Technical Debt with SQALE
  Paying back Technical Debt with SQALE
  Summary and Conclusion
  Demonstration




                                              17
The SQALE method: Context
SQALE: Software Quality Assessment based on Lifecycle Expectations

•   Based on TD                                         Implementation/Tools
•   Open source
•   Generic (a framework)
•   Tool independent
•   Widely used



                                            Tailoring

                                           4 concepts

                                    9 Fundamental Principles

                            Measurement theory and representativity



Definition document, articles, tools list are on sqale.org
 © inspearit-2012                                                         18
SQALE Structure
                     Analysis tools
     Source
      Code




1 Quality Model                                             2 Analysis Models       3 Indices          4 Indicators

                          1 2       3                          3 6       9

                                5                                    1
                                                                                                       A                               …                                                       E
                                                                                      SQI
    Source code                         Estimation models
                                                                                      STI
       related            Findings                               Costs                SRI
    requirements            Table                                Tables
                                                                                Σ     …                Maintenabilité




                                                                                                           Efficacité
                                                                                                                         Testabilité   Fiabilité   Evolutivité   Efficacité




                                                                                                                                                                   248
                                                                                                                                                                              Maintenabilité




                                                                                                                                                                                  589



                                                                                                                                                                                  248




                                                                                      SQID
                                                                                                          Evolutivité                                1 480        1 480          1 480



                                1                                    4                                       Fiabilité                   548          548          548            548




                                                                                      …                   Testabilité      6 535


                                                                                                                           6 535
                                                                                                                                       6 535


                                                                                                                                       7 083
                                                                                                                                                     6 535


                                                                                                                                                     8 563
                                                                                                                                                                  6 535


                                                                                                                                                                  8 811
                                                                                                                                                                                 6 535


                                                                                                                                                                                 9 400




                                6                                    2
                           1                                     1




                                                              d. / h. / $ ….          d. / h. / $ ….
  « Right Code »                                                                     Technical
    Definition                                                                         Debt

  © inspearit-2012
                                                                                                                                                                                               19
The SQALE Quality Model:
Source Code Requirements
     SQALE asks you to associate each of your expectations
     (requirements) with a quality characteristic

          Iso 25010
           abilities
                                                                   Reuse
                                                  Reusability
                                                                                     Ordered characteristics
                                               Portability
                                                             Maintain                                    Reusability
                                        Maintainability
                                                                                                      Portability
                                                   Deliver
                                Security                                                         Maintainability        Source code
                           Efficiency                                                                                      related
                                                                                              Security
                                         Evolve
                                                                                                                        requirements
                  Changeability
                                                                                         Efficiency
                 Reliability
                                                                                    Changeability
                               Test
           Testability
                                                                               Reliability

                    Code                                                   Testability


                                                                                                                       « Right Code »

                                  Requirements appear only once within the Quality Model,
© inspearit-2012
                                  when they are first needed. >>> orthogonal model
                                                                                                                                        20
SQALE: 2 Estimation Models
       Estimation models transform findings in costs
         One for the Technical Perspective > Technical Debt
         One for the Business Perspective > Business Impact

                                                             Remediation Cost
 Naming                   « Right Code »                     Depends on the type and




                                             Violations
                            Definition                       the amount of technical
  Presentation                                               activities to perform in
                                                             order to remediate the
   Logic                                                     violations
                                                             (remediation life cycle)
           Instruction
                          Requirement        n
        …

        Test Coverage                                       Depends on the negative
                                                            impact on the business
   Structure                                                activities.
Architecture                                                The penalty that will cover
                                                            all damages that will or may
                                                            happened from delivering
 These 2 derived measures are on a ratio scale and can be   with violations
 added without breaching the representation clause
   © inspearit-2012
                                                            Non-Remediation Cost
                                                                                     21
Table of Content

  Reminder on Quality and Technical Debt
  Technical Debt: a powerful Paradigm Shift
  The SQALE method: Structure
  Analyzing Technical Debt with SQALE
  Paying back Technical Debt with SQALE
  Summary and Conclusion
  Demonstration




                                              22
SQALE Structure
                     Analysis tools
     Source
      Code




1 Quality Model                                             2 Analysis Models       3 Indices

                          1 2       3                          3 6       9

                                5                                    1
                                                                                      SQI
    Source code                         Estimation models
       related            Findings                               Costs
    requirements            Table                                Tables
                                                                                Σ
                                1                                    4                …

                                                                                      …
                                6                                    2
                           1                                     1




                                                              d. / h. / $ ….          d. / h. / $ ….
  « Right Code »                                                                     Technical
    Definition                                                                         Debt

  © inspearit-2012
                                                                                                       23
What Managing Technical Debt Means?
                                            SQALE:
To Manage TD means at least:
1. Define what creates TD                   Quality Model
2. Define how you calculate TD              Remediation Function

3. Set Goals at organizational or project
   level
4. Monitor the TD against the goals
5. Compare TD across versions,
   projects, subcontractors…
6. Analyze TD (age, location and
   impact)
7. Set Pay down goals
8. Set Pay down plan/priorities
9. …
© inspearit-2012                                             24
Index: Technical Debt Density

      SQALE defines Density indicators
      You divide your TD by the size of your artifact
      Size may be measured in function points, KSLOC…


SQID (SQALE Quality Index Density = Technical Debt
Density)
      Allows to compare projects, versions,
      subcontractors…
      Allows to set goals without knowing the size in
      advance




© inspearit-2012                                        25
Indicator: The SQALE rating
                   A synthetic indicator dedicated to management
                   dashboards
                   Based on the ratio between the Technical Debt and the
                   Development Cost
Development Cost




                                                                        E




                                                                            Technical Debt
                                                           D
                                                   C
                                            B
                                     A


             © inspearit                                           26
What Managing Technical Debt Means?
                                            SQALE:
To Manage TD means at least:
1. Define what creates TD                   Quality Model
2. Define how you calculate TD              Remediation Function

3. Set Goals at organizational or project
   level
4. Monitor the TD against the goals         Index Densities
5. Compare TD across versions,              Rating
   projects, subcontractors…
6. Analyze TD (age, location and
   impact)
7. Set Pay down goals
8. Set Pay down plan/priorities
9. …
© inspearit-2012                                              27
The SQALE Pyramid: 2 points of view
                                               An external view that
                                             represents the perceived
                                               quality evaluated by
                                                consolidation of the
                                                   hierarchy of
                                                  characteristics
An analytic view provided
by orthogonal
characteristics                                              Maintainability
One understands impact
                                                                               Σ
of each Non-Conformity                             Efficiency
and improvement on                                                  Σ
                                           Changeability
quality characteristic and
life cycle issues.                   Reliability
                                                         Σ
                                               Σ
                             Testability



© inspearit-2012                                                                   28
Analyze your Technical Debt

      The SQALE Pyramid provides a technical perspective: Impact
      on the project’s activities




© inspearit-2012                                                   29
Which code is more « agile »?




© inspearit-2012                30
What Managing Technical Debt Means?
                                            SQALE:
To Manage TD means at least:
1. Define what creates TD                   Quality Model
2. Define how you calculate TD              Remediation Function

3. Set Goals at organizational or project
   level
4. Monitor the TD against the goals         Index Densities
5. Compare TD across versions,              Rating
   projects, subcontractors…
                                            Pyramid
6. Analyze TD (age, location and
   impact)
7. Set Pay down goals
8. Set Pay down plan/priorities
9. …
© inspearit-2012                                              31
Table of Content

  Reminder on Quality and Technical Debt
  Technical Debt: a powerful Paradigm Shift
  The SQALE method: Structure
  Analyzing Technical Debt with SQALE
  Paying back Technical Debt with SQALE
  Summary and Conclusion
  Demonstration




                                              32
The ways to prioritize features

      When budget or time is limited, features must be
      prioritized. 2 perspectives are commonly considered to
      prioritize features
      In other cases (?), a technical logic is applied
      The same logic is applicable to Non-Conformities

                   Features                               Non-Conformities

  Development Cost            Business Value            Technical Debt           Business Impact


                   Priorities/Decision                               Priorities/Decision




  Technical                                Business    Technical                             Business
                     Features List                                        N.C. List
  Perspective                            Perspective   Perspective                         Perspective
© inspearit-2012                                                                                         33
Paying back your Technique Debt
   SQALE supports 3 strategies upon 3 perspectives

              The SQALE pyramid defines a logical priority for remediation
              actions. This is a technical perspective


                                                        Reuse
                                       Reusability

                                    Portability
                                                  Maintain




                                                                Remediations
                             Maintainability



                                        Deliver
                     Security

                Efficiency

                              Evolve
       Changeability

      Reliability

                    Test
Testability



         Code


   © inspearit-2012                                                            34
Deliver with a residual debt
Technical Debt




                 Technical Debt is permanently monitored
                 and analyzed for identifying and performing
                 immediate remediations




                                                                      Acceptable
                                                                      Level


                                                               Time


© inspearit-2012                                                           35
Deliver with a residual debt
Technical Debt




                                                                                Optimization phase:
                                                                                One need to take into
                                                                                account the Business
                                                                                perspective in order to
                                                                                minimize the impact of the
                 Technical Debt is permanently monitored                        residual debt
                 and analyzed for identifying and performing
                 immediate remediations
                                                                                                Impact




                                                                                                        Acceptable
                                                                                                        Level
                                                               Residual Technical Debt

                                                                                           Time


© inspearit-2012                                                                                              36
Analyze your Technical Debt

      The business perspective upon « Severity », « Importance »




© inspearit-2012                                                   37
The SQALE Debt Map
      An analysis indicator valid at all artifact level. Use the
      business impact to support the business perspective
                               Non-remediation Cost
             Business Impact




                                                                          - File
                                                                          - Component
                                                                          - Application




                                                       Remediation Cost

© inspearit-2012
                                                      Technical Debt                  38
Optimize your remediation budget
      Use the impact/cost ratio to support the combined perspective
                               Non-remediation Cost
             Business Impact




                                                       Remediation Cost

© inspearit-2012
                                                      Technical Debt      39
Table of Content

  Reminder on Quality and Technical Debt
  Technical Debt: a powerful Paradigm Shift
  The SQALE method: Structure
  Analyzing Technical Debt with SQALE
  Paying back Technical Debt with SQALE
  Summary and Conclusion
  Demonstration




                                              40
A simple but powerful paradigm


                    •   Simple calculation
                    •   Simple aggregation
Technical Debt      •   Objectivity
                    •   Wide public
                    •   Few false positives
                    •   Representativeness
                    •   Clear rating rule
SQALE method
                    •   Comparisons
                    •   Remediation priorities
                    •   Analysis perspectives




 © inspearit-2012                                41
Paying back the TD with SQALE
 SQALE supports 3 different strategies:
       1st strategy: Follow the technical Logic (avoid useless
       rework)
          Use the SQALE pyramid
       2nd strategy: decrease the business impact by starting fixing
       the Non-conformities with the highest business impact
          Use the SQALE Business Impact (SBI)
          Use the Debt Map
       3rd strategy: optimize your ROI by starting fixing the non-
       conformities with the highest ROI
          Use the Business Impact/Remediation cost ratio
          Use the Debt Map
                                                      Priorities/Decision

Depending on your
context, choose one of the
single perspectives or the                 Technical                          Business
                                                   Technical Debt
                                                          N.C. List
combined perspective                       Perspective                      Perspective
 © inspearit-2012                                                                     42
SQALE deployment


1   Initialization   2   Tailoring             3    Pilot                4    Deployment


                                                                             Tools installation &
 Planning                Method training           Model Validation
                                                                             integration
 Stakeholders            Tailoring the SQALE       Building a ready to
                                                                              Awareness and
 Scope…                  basic models              deploy solution
                                                                             Coaching sessions




    A simple technical part
       Setting your own SQALE models
       Tool implementation and validation

    A « Change management » part
      Fighting against old ideas about code measurement
      Addressing a large population
                                                                                                    43
The SQALE method: Summary
       Easy to understand and to deploy
       A strong and powerful implementation of the Technical Debt concept
       Build in pay-back support
       Open source and tool independent
       Used worldwide
       Expert recognition

“In the domain of software quality evaluation, I find
SQALE – Software Quality Assessment based on Life
Cycle Expectations – a great tool for implementing
my mantra. It interprets source code analysis in
terms of what really matters in the specific client
environment. In so doing, it transforms an
overwhelming set of measurement data to
actionable insights which are meaningful at multiple
levels of the firm.”
                    Israel Gat, Cutter Consortium
 © inspearit-2012                                                           44
Table of Content

  Reminder on Quality and Technical Debt
  The SQALE method and the Technical Debt
  The SQALE method and the Business Perspective
  Managing your Technical Debt with SQALE
  A powerful paradigm shift
  How to deploy/use the SQALE method
  Demonstration




                                                  45
just sqale it
                            Thanks

                            Questions?




                             http: /www.sqale.org

                          Follow #sqale on twitter

                jean-louis.letouzey@inspearit.com
                                           © inspearit


                            46

Contenu connexe

Tendances

DevOps- exec level briefing
DevOps-  exec level briefingDevOps-  exec level briefing
DevOps- exec level briefingRavi Tadwalkar
 
Security and DevOps Overview
Security and DevOps OverviewSecurity and DevOps Overview
Security and DevOps OverviewAdrian Sanabria
 
Event Driven Architecture (EDA) Reference Architecture | Anbu Krishnaswamy
Event Driven Architecture (EDA) Reference Architecture | Anbu KrishnaswamyEvent Driven Architecture (EDA) Reference Architecture | Anbu Krishnaswamy
Event Driven Architecture (EDA) Reference Architecture | Anbu KrishnaswamyBob Rhubart
 
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices Bozhidar Bozhanov
 
Introduction to Enterprise Agile Frameworks
Introduction to Enterprise Agile FrameworksIntroduction to Enterprise Agile Frameworks
Introduction to Enterprise Agile FrameworksMehul Kapadia
 
10 Essential SAFe(tm) patterns you should focus on when scaling Agile
10 Essential SAFe(tm) patterns you should focus on when scaling Agile10 Essential SAFe(tm) patterns you should focus on when scaling Agile
10 Essential SAFe(tm) patterns you should focus on when scaling AgileYuval Yeret
 
Non Developer Scrum Teams: How Scrum Can Improve Your Operations
Non Developer Scrum Teams: How Scrum Can Improve Your OperationsNon Developer Scrum Teams: How Scrum Can Improve Your Operations
Non Developer Scrum Teams: How Scrum Can Improve Your OperationsMatthew Salerno
 
All about ISO/IEC/IEEE 42010 (r5)
All about ISO/IEC/IEEE 42010 (r5)All about ISO/IEC/IEEE 42010 (r5)
All about ISO/IEC/IEEE 42010 (r5)Rich Hilliard
 
Benefits Identification, Assessment, Validation and Realisation for Informati...
Benefits Identification, Assessment, Validation and Realisation for Informati...Benefits Identification, Assessment, Validation and Realisation for Informati...
Benefits Identification, Assessment, Validation and Realisation for Informati...Alan McSweeney
 
Sailpoint Training | Best Sailpoint IdentityIQ Online Course -GOT
Sailpoint Training | Best Sailpoint IdentityIQ Online Course -GOTSailpoint Training | Best Sailpoint IdentityIQ Online Course -GOT
Sailpoint Training | Best Sailpoint IdentityIQ Online Course -GOTGlobal Online Trainings
 
SAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practiceSAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practiceIntland Software GmbH
 
Code Review Best Practices
Code Review Best PracticesCode Review Best Practices
Code Review Best PracticesTrisha Gee
 
DSDM Frameworks for Agile Project Management Offices
DSDM Frameworks for Agile Project Management OfficesDSDM Frameworks for Agile Project Management Offices
DSDM Frameworks for Agile Project Management Officesnetmind
 
Excellence in asset information management sid snitkin arc 2008
Excellence in asset information management sid snitkin arc 2008Excellence in asset information management sid snitkin arc 2008
Excellence in asset information management sid snitkin arc 2008ARC Advisory Group
 
Operation and Support using Agile
Operation and Support using AgileOperation and Support using Agile
Operation and Support using AgileTal Aviv
 
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?Miles Chou
 

Tendances (20)

DevOps- exec level briefing
DevOps-  exec level briefingDevOps-  exec level briefing
DevOps- exec level briefing
 
Security and DevOps Overview
Security and DevOps OverviewSecurity and DevOps Overview
Security and DevOps Overview
 
Event Driven Architecture (EDA) Reference Architecture | Anbu Krishnaswamy
Event Driven Architecture (EDA) Reference Architecture | Anbu KrishnaswamyEvent Driven Architecture (EDA) Reference Architecture | Anbu Krishnaswamy
Event Driven Architecture (EDA) Reference Architecture | Anbu Krishnaswamy
 
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices
 
Introduction to Enterprise Agile Frameworks
Introduction to Enterprise Agile FrameworksIntroduction to Enterprise Agile Frameworks
Introduction to Enterprise Agile Frameworks
 
10 Essential SAFe(tm) patterns you should focus on when scaling Agile
10 Essential SAFe(tm) patterns you should focus on when scaling Agile10 Essential SAFe(tm) patterns you should focus on when scaling Agile
10 Essential SAFe(tm) patterns you should focus on when scaling Agile
 
Non Developer Scrum Teams: How Scrum Can Improve Your Operations
Non Developer Scrum Teams: How Scrum Can Improve Your OperationsNon Developer Scrum Teams: How Scrum Can Improve Your Operations
Non Developer Scrum Teams: How Scrum Can Improve Your Operations
 
Qualite1
Qualite1Qualite1
Qualite1
 
Kaizen 改善
Kaizen 改善Kaizen 改善
Kaizen 改善
 
All about ISO/IEC/IEEE 42010 (r5)
All about ISO/IEC/IEEE 42010 (r5)All about ISO/IEC/IEEE 42010 (r5)
All about ISO/IEC/IEEE 42010 (r5)
 
Benefits Identification, Assessment, Validation and Realisation for Informati...
Benefits Identification, Assessment, Validation and Realisation for Informati...Benefits Identification, Assessment, Validation and Realisation for Informati...
Benefits Identification, Assessment, Validation and Realisation for Informati...
 
Sailpoint Training | Best Sailpoint IdentityIQ Online Course -GOT
Sailpoint Training | Best Sailpoint IdentityIQ Online Course -GOTSailpoint Training | Best Sailpoint IdentityIQ Online Course -GOT
Sailpoint Training | Best Sailpoint IdentityIQ Online Course -GOT
 
SAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practiceSAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practice
 
DevSecOps 101
DevSecOps 101DevSecOps 101
DevSecOps 101
 
Code Review Best Practices
Code Review Best PracticesCode Review Best Practices
Code Review Best Practices
 
DSDM Frameworks for Agile Project Management Offices
DSDM Frameworks for Agile Project Management OfficesDSDM Frameworks for Agile Project Management Offices
DSDM Frameworks for Agile Project Management Offices
 
Excellence in asset information management sid snitkin arc 2008
Excellence in asset information management sid snitkin arc 2008Excellence in asset information management sid snitkin arc 2008
Excellence in asset information management sid snitkin arc 2008
 
Operation and Support using Agile
Operation and Support using AgileOperation and Support using Agile
Operation and Support using Agile
 
Lean Office by Operational Excellence Consulting
Lean Office by Operational Excellence ConsultingLean Office by Operational Excellence Consulting
Lean Office by Operational Excellence Consulting
 
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
 

Similaire à The SQALE method: Meaningful insights into your Technical Debt

Sqale meaningful insights into your technical debt
Sqale meaningful insights into your technical debtSqale meaningful insights into your technical debt
Sqale meaningful insights into your technical debtdrewz lin
 
technical debt management strategies
technical debt management strategiestechnical debt management strategies
technical debt management strategiesRaquel Pau
 
What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...STX Next
 
Software quality - no more bugs!
Software quality - no more bugs!Software quality - no more bugs!
Software quality - no more bugs!Arnon Axelrod
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategiesRaquel Pau
 
"Votre produit logiciel : accélérateur ou frein à votre croissance"
"Votre produit logiciel : accélérateur ou frein à votre croissance""Votre produit logiciel : accélérateur ou frein à votre croissance"
"Votre produit logiciel : accélérateur ou frein à votre croissance"oliviervandeWerve
 
AI for PM.pptx
AI for PM.pptxAI for PM.pptx
AI for PM.pptxNatan Katz
 
The Need for Speed
The Need for SpeedThe Need for Speed
The Need for SpeedCapgemini
 
API Design – More than just a Payload Definition
API Design – More than just a Payload DefinitionAPI Design – More than just a Payload Definition
API Design – More than just a Payload DefinitionPhil Wilkins
 
Alleman coonce-agile-2017 may2
Alleman coonce-agile-2017 may2Alleman coonce-agile-2017 may2
Alleman coonce-agile-2017 may2Glen Alleman
 
20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring
20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring
20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider SquoringLeClubQualiteLogicielle
 
Managing Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG SeattleManaging Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG SeattleChris Sterling
 
Dollars and Dates are Killing Agile
Dollars and Dates are Killing AgileDollars and Dates are Killing Agile
Dollars and Dates are Killing AgileRally Software
 
Dollars and dates are killing agile final
Dollars and dates are killing agile finalDollars and dates are killing agile final
Dollars and dates are killing agile finaldrewz lin
 
5WCSQ - Quality Improvement by the Real-Time Detection of the Problems
5WCSQ - Quality Improvement by the Real-Time Detection of the Problems5WCSQ - Quality Improvement by the Real-Time Detection of the Problems
5WCSQ - Quality Improvement by the Real-Time Detection of the ProblemsTakanori Suzuki
 
Slides for Houston iPhone Developers' Meetup (April 2012)
Slides for Houston iPhone Developers' Meetup (April 2012)Slides for Houston iPhone Developers' Meetup (April 2012)
Slides for Houston iPhone Developers' Meetup (April 2012)lqi
 

Similaire à The SQALE method: Meaningful insights into your Technical Debt (20)

Sqale meaningful insights into your technical debt
Sqale meaningful insights into your technical debtSqale meaningful insights into your technical debt
Sqale meaningful insights into your technical debt
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
 
technical debt management strategies
technical debt management strategiestechnical debt management strategies
technical debt management strategies
 
What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...
 
Software quality - no more bugs!
Software quality - no more bugs!Software quality - no more bugs!
Software quality - no more bugs!
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategies
 
"Votre produit logiciel : accélérateur ou frein à votre croissance"
"Votre produit logiciel : accélérateur ou frein à votre croissance""Votre produit logiciel : accélérateur ou frein à votre croissance"
"Votre produit logiciel : accélérateur ou frein à votre croissance"
 
AI for PM.pptx
AI for PM.pptxAI for PM.pptx
AI for PM.pptx
 
The Need for Speed
The Need for SpeedThe Need for Speed
The Need for Speed
 
API Design – More than just a Payload Definition
API Design – More than just a Payload DefinitionAPI Design – More than just a Payload Definition
API Design – More than just a Payload Definition
 
Alleman coonce-agile-2017 may2
Alleman coonce-agile-2017 may2Alleman coonce-agile-2017 may2
Alleman coonce-agile-2017 may2
 
20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring
20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring
20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring
 
ODASE Introduction
ODASE IntroductionODASE Introduction
ODASE Introduction
 
Amit_Resume
Amit_ResumeAmit_Resume
Amit_Resume
 
Managing Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG SeattleManaging Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG Seattle
 
Dollars and Dates are Killing Agile
Dollars and Dates are Killing AgileDollars and Dates are Killing Agile
Dollars and Dates are Killing Agile
 
Dollars and dates are killing agile final
Dollars and dates are killing agile finalDollars and dates are killing agile final
Dollars and dates are killing agile final
 
1.Basic Introduction (1).ppt
1.Basic Introduction (1).ppt1.Basic Introduction (1).ppt
1.Basic Introduction (1).ppt
 
5WCSQ - Quality Improvement by the Real-Time Detection of the Problems
5WCSQ - Quality Improvement by the Real-Time Detection of the Problems5WCSQ - Quality Improvement by the Real-Time Detection of the Problems
5WCSQ - Quality Improvement by the Real-Time Detection of the Problems
 
Slides for Houston iPhone Developers' Meetup (April 2012)
Slides for Houston iPhone Developers' Meetup (April 2012)Slides for Houston iPhone Developers' Meetup (April 2012)
Slides for Houston iPhone Developers' Meetup (April 2012)
 

Dernier

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
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
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 

Dernier (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 

The SQALE method: Meaningful insights into your Technical Debt

  • 1. The SQALE method: Meaningful insights into your Technical Debt* Jean-Louis Letouzey August 2012 * The technical debt visible in your source code
  • 2. Presentation Jean-Louis Letouzey Expert consultant at inspearit France Product Audit, Technical Debt assessment Author of the SQALE method Preaching, Teaching SQALE SQALE tailoring and deployment in large organizations © inspearit-2012 2
  • 3. Table of Contents Reminder on Quality and Technical Debt Technical Debt: a powerful Paradigm Shift The SQALE method: Structure Analyzing Technical Debt with SQALE Paying back Technical Debt with SQALE Summary and Conclusion Demonstration 3
  • 4. Quality Quality is: compliance to requirement Before measuring Quality, you first need to define it At project level or At Organization level If you don’t define it, you won’t get it ! © inspearit-2012 4
  • 5. Technical Debt Ward Cunningham at OOPSLA 92: “Every minute spent “Shipping first time on not-quite-right code is like going code counts as into debt. A little interest” debt speeds development so long as it is paid back promptly with a rewrite…” © inspearit-2012 5
  • 6. Technical Debt A strong communication tool Understandable by managers (it fits well in Excel sheets) Many blogs, definitions from experts Product – Process Voluntary – involuntary … One reference book: © inspearit-2012 6
  • 7. Technical Debt In a recent (2012) interview* Ward Cunningham provided some clarifications: “We can say that the CODE is of high quality when productivity remains high in the presence of change in TEAM and GOALS.” Technical debt = Work to be done = Principal Impact = Lost of productivity = Interest * www.techdebt.org © inspearit-2012 7
  • 8. Technical Debt and Agility Agile considers the source code as one major deliverable (not design model, not documentation) The definition of “right code” should be considered for the Definition(s) of Done (DoD) List of source code quality requirements Type and acceptable level of Technical Debt Agile promotes transparency Technical Debt shall be identified and monitored Project shall plan and prioritize activities for repaying and limiting this debt © inspearit-2012 8
  • 9. Technical Debt and Agile Projects « Continuous “DoD” inspection » Including Monitoring TD Definition of « Right Code » Part of debt to Acceptable type be repayed and level of within the debt sprint © inspearit-2012 9
  • 10. What Managing Technical Debt Means? To Manage TD means at least: 1. Define what creates TD 2. Define how to calculate TD 3. Set Goals at organizational or project level 4. Monitor the TD against the goals 5. Compare TD across versions, projects, subcontractors… 6. Analyze TD (age, location and impact) 7. Set Pay down goals 8. Set Pay down plan/priorities 9. … © inspearit-2012 10
  • 11. Table of Content Reminder on Quality and Technical Debt Technical Debt: a powerful Paradigm Shift The SQALE method: Structure Analyzing Technical Debt with SQALE Paying back Technical Debt with SQALE Summary and Conclusion Demonstration 11
  • 12. Technical Debt: a Paradigm Shift Since the 70’s, the Software community is trying to measure « Quality » and Quality of source code Technical Debt makes the difference on 4 points 1st point: Technical debt measures “Non Quality”! “Good Code” ∞ “Bad Code” ∞ Measures Measures “Bad Code” 0 “Right Code” 0 © inspearit-2012 12
  • 13. 2nd point: “Right code” Technical Debt refers to “Right code”, not “perfect code” No formal definition of Attribute1 « perfect code » « Not right code » area Perfect Code « Right code » area As soon as one attribute is in the unacceptable area (i.e. potentially decreasing productivity), the code is “not right” © inspearit-2012 13
  • 14. 3rd point: Formulas: 5 days training! Des formules complexes MAINTAINABILITY INDEX MI4 = 171 - 3.42ln(aveE) - 0.23aveV(g') - 16.2ln(aveLOC) + (50 x sin(sqrt(2.46 x aveCM)) CLASS COHESION LCOM = LCOM = ((1/a x ΣA) - m)/(1 - m) Where a is the number of attributes of the class, Σ A is the sum across the set of attributes of the number of methods that access each attribute, and m is the number of methods of the class. © inspearit-2012 14
  • 15. 4th point: Aggregations: no averages! © inspearit-2012 15
  • 16. Benefits from the Paradigm Shift TD Specificities Benefits at measure level Aggregation by addition No masking, no false positive Inverse direction Objective « Right » vs « Perfect » Precise Ease of understanding Short training Technical debt is a much more powerful system compared to everything used previously to measure source code © inspearit-2012 16
  • 17. Table of Content Reminder on Quality and Technical Debt Technical Debt: a powerful Paradigm Shift The SQALE method: Structure Analyzing the Technical Debt with SQALE Paying back Technical Debt with SQALE Summary and Conclusion Demonstration 17
  • 18. The SQALE method: Context SQALE: Software Quality Assessment based on Lifecycle Expectations • Based on TD Implementation/Tools • Open source • Generic (a framework) • Tool independent • Widely used Tailoring 4 concepts 9 Fundamental Principles Measurement theory and representativity Definition document, articles, tools list are on sqale.org © inspearit-2012 18
  • 19. SQALE Structure Analysis tools Source Code 1 Quality Model 2 Analysis Models 3 Indices 4 Indicators 1 2 3 3 6 9 5 1 A … E SQI Source code Estimation models STI related Findings Costs SRI requirements Table Tables Σ … Maintenabilité Efficacité Testabilité Fiabilité Evolutivité Efficacité 248 Maintenabilité 589 248 SQID Evolutivité 1 480 1 480 1 480 1 4 Fiabilité 548 548 548 548 … Testabilité 6 535 6 535 6 535 7 083 6 535 8 563 6 535 8 811 6 535 9 400 6 2 1 1 d. / h. / $ …. d. / h. / $ …. « Right Code » Technical Definition Debt © inspearit-2012 19
  • 20. The SQALE Quality Model: Source Code Requirements SQALE asks you to associate each of your expectations (requirements) with a quality characteristic Iso 25010 abilities Reuse Reusability Ordered characteristics Portability Maintain Reusability Maintainability Portability Deliver Security Maintainability Source code Efficiency related Security Evolve requirements Changeability Efficiency Reliability Changeability Test Testability Reliability Code Testability « Right Code » Requirements appear only once within the Quality Model, © inspearit-2012 when they are first needed. >>> orthogonal model 20
  • 21. SQALE: 2 Estimation Models Estimation models transform findings in costs One for the Technical Perspective > Technical Debt One for the Business Perspective > Business Impact Remediation Cost Naming « Right Code » Depends on the type and Violations Definition the amount of technical Presentation activities to perform in order to remediate the Logic violations (remediation life cycle) Instruction Requirement n … Test Coverage Depends on the negative impact on the business Structure activities. Architecture The penalty that will cover all damages that will or may happened from delivering These 2 derived measures are on a ratio scale and can be with violations added without breaching the representation clause © inspearit-2012 Non-Remediation Cost 21
  • 22. Table of Content Reminder on Quality and Technical Debt Technical Debt: a powerful Paradigm Shift The SQALE method: Structure Analyzing Technical Debt with SQALE Paying back Technical Debt with SQALE Summary and Conclusion Demonstration 22
  • 23. SQALE Structure Analysis tools Source Code 1 Quality Model 2 Analysis Models 3 Indices 1 2 3 3 6 9 5 1 SQI Source code Estimation models related Findings Costs requirements Table Tables Σ 1 4 … … 6 2 1 1 d. / h. / $ …. d. / h. / $ …. « Right Code » Technical Definition Debt © inspearit-2012 23
  • 24. What Managing Technical Debt Means? SQALE: To Manage TD means at least: 1. Define what creates TD Quality Model 2. Define how you calculate TD Remediation Function 3. Set Goals at organizational or project level 4. Monitor the TD against the goals 5. Compare TD across versions, projects, subcontractors… 6. Analyze TD (age, location and impact) 7. Set Pay down goals 8. Set Pay down plan/priorities 9. … © inspearit-2012 24
  • 25. Index: Technical Debt Density SQALE defines Density indicators You divide your TD by the size of your artifact Size may be measured in function points, KSLOC… SQID (SQALE Quality Index Density = Technical Debt Density) Allows to compare projects, versions, subcontractors… Allows to set goals without knowing the size in advance © inspearit-2012 25
  • 26. Indicator: The SQALE rating A synthetic indicator dedicated to management dashboards Based on the ratio between the Technical Debt and the Development Cost Development Cost E Technical Debt D C B A © inspearit 26
  • 27. What Managing Technical Debt Means? SQALE: To Manage TD means at least: 1. Define what creates TD Quality Model 2. Define how you calculate TD Remediation Function 3. Set Goals at organizational or project level 4. Monitor the TD against the goals Index Densities 5. Compare TD across versions, Rating projects, subcontractors… 6. Analyze TD (age, location and impact) 7. Set Pay down goals 8. Set Pay down plan/priorities 9. … © inspearit-2012 27
  • 28. The SQALE Pyramid: 2 points of view An external view that represents the perceived quality evaluated by consolidation of the hierarchy of characteristics An analytic view provided by orthogonal characteristics Maintainability One understands impact Σ of each Non-Conformity Efficiency and improvement on Σ Changeability quality characteristic and life cycle issues. Reliability Σ Σ Testability © inspearit-2012 28
  • 29. Analyze your Technical Debt The SQALE Pyramid provides a technical perspective: Impact on the project’s activities © inspearit-2012 29
  • 30. Which code is more « agile »? © inspearit-2012 30
  • 31. What Managing Technical Debt Means? SQALE: To Manage TD means at least: 1. Define what creates TD Quality Model 2. Define how you calculate TD Remediation Function 3. Set Goals at organizational or project level 4. Monitor the TD against the goals Index Densities 5. Compare TD across versions, Rating projects, subcontractors… Pyramid 6. Analyze TD (age, location and impact) 7. Set Pay down goals 8. Set Pay down plan/priorities 9. … © inspearit-2012 31
  • 32. Table of Content Reminder on Quality and Technical Debt Technical Debt: a powerful Paradigm Shift The SQALE method: Structure Analyzing Technical Debt with SQALE Paying back Technical Debt with SQALE Summary and Conclusion Demonstration 32
  • 33. The ways to prioritize features When budget or time is limited, features must be prioritized. 2 perspectives are commonly considered to prioritize features In other cases (?), a technical logic is applied The same logic is applicable to Non-Conformities Features Non-Conformities Development Cost Business Value Technical Debt Business Impact Priorities/Decision Priorities/Decision Technical Business Technical Business Features List N.C. List Perspective Perspective Perspective Perspective © inspearit-2012 33
  • 34. Paying back your Technique Debt SQALE supports 3 strategies upon 3 perspectives The SQALE pyramid defines a logical priority for remediation actions. This is a technical perspective Reuse Reusability Portability Maintain Remediations Maintainability Deliver Security Efficiency Evolve Changeability Reliability Test Testability Code © inspearit-2012 34
  • 35. Deliver with a residual debt Technical Debt Technical Debt is permanently monitored and analyzed for identifying and performing immediate remediations Acceptable Level Time © inspearit-2012 35
  • 36. Deliver with a residual debt Technical Debt Optimization phase: One need to take into account the Business perspective in order to minimize the impact of the Technical Debt is permanently monitored residual debt and analyzed for identifying and performing immediate remediations Impact Acceptable Level Residual Technical Debt Time © inspearit-2012 36
  • 37. Analyze your Technical Debt The business perspective upon « Severity », « Importance » © inspearit-2012 37
  • 38. The SQALE Debt Map An analysis indicator valid at all artifact level. Use the business impact to support the business perspective Non-remediation Cost Business Impact - File - Component - Application Remediation Cost © inspearit-2012 Technical Debt 38
  • 39. Optimize your remediation budget Use the impact/cost ratio to support the combined perspective Non-remediation Cost Business Impact Remediation Cost © inspearit-2012 Technical Debt 39
  • 40. Table of Content Reminder on Quality and Technical Debt Technical Debt: a powerful Paradigm Shift The SQALE method: Structure Analyzing Technical Debt with SQALE Paying back Technical Debt with SQALE Summary and Conclusion Demonstration 40
  • 41. A simple but powerful paradigm • Simple calculation • Simple aggregation Technical Debt • Objectivity • Wide public • Few false positives • Representativeness • Clear rating rule SQALE method • Comparisons • Remediation priorities • Analysis perspectives © inspearit-2012 41
  • 42. Paying back the TD with SQALE SQALE supports 3 different strategies: 1st strategy: Follow the technical Logic (avoid useless rework) Use the SQALE pyramid 2nd strategy: decrease the business impact by starting fixing the Non-conformities with the highest business impact Use the SQALE Business Impact (SBI) Use the Debt Map 3rd strategy: optimize your ROI by starting fixing the non- conformities with the highest ROI Use the Business Impact/Remediation cost ratio Use the Debt Map Priorities/Decision Depending on your context, choose one of the single perspectives or the Technical Business Technical Debt N.C. List combined perspective Perspective Perspective © inspearit-2012 42
  • 43. SQALE deployment 1 Initialization 2 Tailoring 3 Pilot 4 Deployment Tools installation & Planning Method training Model Validation integration Stakeholders Tailoring the SQALE Building a ready to Awareness and Scope… basic models deploy solution Coaching sessions A simple technical part Setting your own SQALE models Tool implementation and validation A « Change management » part Fighting against old ideas about code measurement Addressing a large population 43
  • 44. The SQALE method: Summary Easy to understand and to deploy A strong and powerful implementation of the Technical Debt concept Build in pay-back support Open source and tool independent Used worldwide Expert recognition “In the domain of software quality evaluation, I find SQALE – Software Quality Assessment based on Life Cycle Expectations – a great tool for implementing my mantra. It interprets source code analysis in terms of what really matters in the specific client environment. In so doing, it transforms an overwhelming set of measurement data to actionable insights which are meaningful at multiple levels of the firm.” Israel Gat, Cutter Consortium © inspearit-2012 44
  • 45. Table of Content Reminder on Quality and Technical Debt The SQALE method and the Technical Debt The SQALE method and the Business Perspective Managing your Technical Debt with SQALE A powerful paradigm shift How to deploy/use the SQALE method Demonstration 45
  • 46. just sqale it Thanks Questions? http: /www.sqale.org Follow #sqale on twitter jean-louis.letouzey@inspearit.com © inspearit 46