24
The SQALE Method (V1.0) for Managing Technical Debt A 15 mn pres June 2012 Jean-Louis Letouzey

The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

The SQALE Method (V1.0) for ManagingTechnical Debt

A 15 mn pres

June 2012

Jean-Louis Letouzey

Page 2: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

The SQALE method: Context

Implementation/Tools

9 Fundamental Principles

4 concepts

Tailoring

Measurement theory and representativity

© inspearit- 2012 2

SQALE: Software Quality Assessment based on Lifecycle Expectations

• Based on TD

• Generic

Page 3: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

SQALE Structure

« Right Code »Definition

Source code related

requirements

SourceCode

Analysis tools

1 Quality Model 2 Analysis Models

Estim

ation models

3

Findings Table

1 3

5

6

1

1

2

CostsTables

d. / h. / $ ….

3 9

1

2

4

1

6

Indicators43 Indices

SQI

STISRI…

SQID…

Testabilité Fiabilité Evolutivité Efficacité Maintenabi lité

Maintenabilité 589

Efficacité 248 248

Evolutivité 1 480 1 480 1 480

Fiabilité 548 548 548 548

Testabilité 6 535 6 535 6 535 6 535 6 535

6 535 7 083 8 563 8 811 9 400

EA

Σ

d. / h. / $ ….

TechnicalDebt

© inspearit- 2012

Page 4: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

The SQALE Quality Model: Source Code Requirements

Reuse

Maintain

Deliver

Evolve

Test

Code

Testability

Reliability

Changeability

Efficiency

Maintainability

Reusability

Security

Portability

TestabilityTestability

ReliabilityReliability

ChangeabilityChangeability

EfficiencyEfficiency

SecuritySecurity

MaintainabilityMaintainability

PortabilityPortability

ReusabilityReusability

Characteristics

« Right Code »

Source code related

requirements

SQALE ask you to organize your set of expectations (requirements) based on your lifecycle needs

4

Requirements, appear only once within the Quality Model, when they are first needed. >>> orthogonal model

Iso 25010abilities

© inspearit- 2012

Page 5: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

SQALE: 2 Estimation Models

5

Estimation models transform findings in costs

One for the Technical Perspective > Technical Debt

One for the Business Perspective > Business Impact

Architecture

Structure

Logic

Instruction

Presentation

Naming

« Right Code »Definition

Requirement

Remediation Cost

Depend on the type and the amount of technicalactivities to perform in order to remediate the NC(remediation life cycle)

These 2 derived measures are on a ratio scale and can beadded without breaching the representation clause

Fin

din

gs

Coverage

n

Non-Remediation Cost

Depend on the negativeimpact on the business activities. The penalty that will coverall damages that will or mayhappend from deliveringwith NC

© inspearit- 2012

Page 6: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

SQALE indicators: 1 – Info & Analysis

6

Rating: Synthesis, reportingBased on the ratio: Tech.Debt/Dev.Cost

Pyramid: Technical Perspective of your TD:

Tool Vendors may offer additional indicators (historical, by dev., by age….)

EA …

© inspearit- 2012

Page 7: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

Enough time/budget Limited time/budget

Look for the best Impact/Costratio. Use the SQALE Debt Map

Follow the logic from the Pyramid, start from the bottom

SQALE indicators: 2 - Priorities

7

Relevant strategy for projectsstarting from scratch or the new part of the debt on a maintenance project

Bu

sin

ess I

mp

act

Technical Debt

Relevant strategy for improvingthe quality of legacy apps

The clean way The quick win way

PriorityPriority

The Technical perspective The Business perspective

© inspearit- 2012

Page 8: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

Managing Technical Debt with SQALE

8

1. Define what create TD

2. Define how you calculate TD

3. Set Goals

4. Monitor the TD

5. Compare TD

6. Analyse TD (origin, location, and impact)

7. Set Pay down goals

8. Set Pay down plan/priorities

SQALE Support

• Quality Model

• Analysis Model

• Index density, Rating, Kiviat

• SQI index

• SQI Density

• Pyramid, SQI, SBIIc

• Indices density, Rating, Kiviat

• The 2 Perspectives, Pyramid, Debt Map

© inspearit- 2012

Page 9: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

SQALE Status

9

Public, open source, royaltie free

Language, Dev. process, Tool editor independant

Largely deployed and used

The SQALE website

Method Definition Document

Link to Thesis, Presentations, articles, tools

Blog

Inspearit assets

1 day Method Training

Inspearit calibrated Quality and Estimation Models

Evaluation process

Evaluation Framework

Measurement database

© inspearit- 2012

Page 10: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

Thanks

Questions ?

Thursday, June 07, 201210

just sqale it

http: /www.sqale.org

[email protected]

Page 11: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

Addendum; Additional material

11

Remediation functions

« Right Code »

Does it generates TD?

Managing upon agile principles

More details about the SQALE Quality Model

More details about the SQALE indicators

Some SQALE tool screenshots

© inspearit- 2012

Page 12: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

Remediation functions

12

Remediation workload (and remediation functions) depend on the « remediation lifecycle »

Check out Check out Fix manuallyFix manually Check InCheck In

Check out Check out FixFix Check InCheck InRun exist. testsRun exist. tests

Check out Check out Fix auto.Fix auto. Check InCheck In

Check out Check out FixFix Check InCheck InDev. & run new testsDev. & run new tests Run exist. testsRun exist. tests

« Right Code »

Source code related

requirements

i.e. Presentation

i.e. Duplicate code

Developpers use a limited number of « remediation lifecycle »

© inspearit- 2012

Page 13: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

What is « right code »

13

« Right code » is not « perfect code »

PerfectCode

No formal definition of « perfect code »

« Right code » area

« Not right code » area

As soon as one attribute is in the unacceptablearea, the code is « not right »

Att

rib

ute

1

© inspearit- 2012

Page 14: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

Does it generates technical debt?

14

Debt could come without a commitment or a promise ?

My portfolio is made of 60% Java and 40% C# . This is not optimized compare to 100% in the same language. Is thatTD? (same question with 60% Oracle and 40% DB2)

My application has been developed some time ago with Oracle 9. Since that, Oracle moved to V11. That’s due to technology obsolescence. Is that TD?

My application works fine for our current 500 users. It won’t support 5,000 users without a complete redesign. Is that TD?

Some people in my team don’t have the expected skills and should attend dedicated training on xyz. Is that TD?

© inspearit- 2012

Page 15: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

Managing upon agile principles

Priorities are established upon the « Value/Price » ratio

15

Features

TechnicalPerspective

BusinessPerspective

Development Cost Business Value

Priorities/Decision

Features List

����

����

����

����

����

����

Non-Conformities

TechnicalPerspective

BusinessPerspective

Technical Debt Business Impact

Priorities/Decision

N.C. List

����

����

����

����

����

����

Page 16: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

SQALE is based on Lifecycle Expectations

Iso 25010 Quality characteristicsare mapped to the file life cycle activities

Reuse

Maintain

Deliver

Change

Test

Code

Port

16

Maintainability

Portability

Efficiency

Security

ISO 25010

Reliability

Testability

Reliability

Portability

Changeability

Efficiency

Security

Maintainability

Reusability

© inspearit- 2012

Page 17: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

Any type of requirements

Any type of code related requirements are accepted, provided they are justified and verifiable

17

Copy and Paste,Method’s structure

Potential errors due to: logic, exception handling …

High coupling, wrong dependencies, hardcoded constants …

Useless codeoptimisable codePresentation, Naming

Unstructuredness

It is possible to remove characteristics

Generally, depending on project or organization’s c ontext, a SQALE Quality model contains between 40 and 100 req uirements

TestabilityTestability

ReliabilityReliability

ChangeabilityChangeability

EfficiencyEfficiency

MaintainabilityMaintainability

© inspearit- 2012

Page 18: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

The SQALE rating

18

A synthetic indicator for management dashboards

Depend directly on the TD/DEVCost ratio

E

Technic

alD

ebt

AB

C

D

Develo

pm

ent

Cost

© inspearit- 2012

Page 19: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

The SQALE technical perspective

19

Distribution of the debt upon links to characteristic/activity

Ch

ro

no

log

y

© inspearit- 2012

Page 20: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

The SQALE business perspective

20

Distribution of the Debt upon the criticity

Prio

rit

y

© inspearit- 2012

Page 21: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

The SQALE Debt Map

21

An analysis indicator valid at all artefact level

Non-r

em

edia

tion C

ost

Remediation Cost

Busin

ess I

mpact - File

- Component- Application

Technical Debt© inspearit- 2012

Page 22: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

SQALE Dashboard sample

Thursday, June 07, 2012© inspearit - Author - Place 22

Focus on techical debt and its distribution

© inspearit- 2012

Page 23: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

SQALE Implementation: Tools

Example: Metrixware

23© inspearit- 2012

Page 24: The SQALE Method(V1.0) for Managing TechnicalDebt A 15 mn pres · 2012. 6. 15. · Business Perspective Technical Debt Business Impact Priorities/Decision N.C. List. SQALE is based

SQALE implementation: Tools

Example: Squoring

24© inspearit- 2012