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

Similar documents
The SQALE Method. Definition Document. Author: Jean-Louis Letouzey. Version: 0.9

The «SQALE» Models for assessing the Quality of Software Source Code

The SQALE Models for Assessing the Quality of Real Time Source Code

Turning a Marathon Runner into a Sprinter: Adopting Agile Testing Strategies and Practices at Microsoft

ORACLE SERVICES FOR APPLICATION MIGRATIONS TO ORACLE HARDWARE INFRASTRUCTURES

Introduction to the Azure Portal

Bionic. Christoph. Code analysis, quality and security overview. July 26 th 2017

David Bernstein Five Development Practices Essential for Scrum Teams

CONTINUOUS DELIVERY IN THE ORACLE CLOUD

Software Security and CISQ. Dr. Bill Curtis Executive Director

Exam C Foundations of IBM Cloud Reference Architecture V5

How icims Supports. Your Readiness for the European Union General Data Protection Regulation

1. Which programming language is used in approximately 80 percent of legacy mainframe applications?

IBM s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM s sole discretion.

<Insert Picture Here> Enterprise Data Management using Grid Technology

Application Security Kung-Fu Competitive Advantage from Threat Modeling

Retiring Technical Debt and leveraging existing Microsoft licenses on AWS

The PISA Project A Model Driven Development case study

Why Microsoft Azure is the right choice for your Public Cloud, a Consultants view by Simon Conyard

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author(s)> <Organization> <Date created>

Unify DevOps and SecOps: Security Without Friction

Architecture-driven development of Climate Control Software LMS Imagine.Lab Embedded Software Designer Siemens DF PL

Technical Debt Reduction Using a Game Theoretic Competitive Source Control Approach

<Insert Picture Here> Forms Strategies: Modernizing Your Oracle Forms Investment

PROTECT YOUR DATA FROM MALWARE AND ENSURE BUSINESS CONTINUITY ON THE CLOUD WITH NAVLINK MANAGED AMAZON WEB SERVICES MANAGED AWS

[TITLE] Virtualization 360: Microsoft Virtualization Strategy, Products, and Solutions for the New Economy

Comparing The Accumulation Of Technical Debt Between Two Applications Developed With Spring Web MVC And Apache Struts 2

WHY LEGACY SECURITY ARCHITECTURES ARE INADEQUATE IN A MULTI-CLOUD WORLD

Cloud is the 'Only' Way Forward in Information Security. Leveraging Scale to Make the Unknown Known, in Dev, Sec & Ops.

Systems-Level Architecture. A Re-Introduction Arch. Reintro CSC Level of Design. Divide into two levels:

Protect Your Organization from Cyber Attacks

SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA

Pre-Incident Planning ( PIP )

We re redefining Software Quality

WHITE PAPER. Leveraging Database Virtualization for Test Data Management. Abstract. Vikas Dewangan, Senior Technology Architect, Infosys

Software architecture in ASPICE and Even-André Karlsson

Application Security at Scale

Introduction to Software Engineering

IBM Application Runtime Expert for i

Structured Approach to Testing - Android in an Agile Environment

Getting Hybrid IT Right. A Softchoice Guide to Hybrid Cloud Adoption

iforms Migration Workbook Electronic Forms to iforms 2

Weaving Security into Every Application

Software change. Software maintenance

GET CLOUD EMPOWERED. SEE HOW THE CLOUD CAN TRANSFORM YOUR BUSINESS.

A Tale of Continuous Testing

Connect with Remedy: SmartIT: Social Event Manager Webinar Q&A

Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13

Shift Left Testing: are you ready? Live Webinar, Sept 19

Test-driven development

Making the most of DCIM. Get to know your data center inside out

Getting Started with Rational Team Concert

White Paper February McAfee Network Protection Solutions. Encrypted Threat Protection Network IPS for SSL Encrypted Traffic.

Continuous Integration & Code Quality MINDS-ON NUNO 11 APRIL 2017

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements

Architects: Anchors or Accelerators to Organizational Agility?

CS 307: Software Engineering. Lecture 10: Software Design and Architecture

<Insert Picture Here> OWB Tips and Tricks

DATACENTER SERVICES DATACENTER

Get your business Skype d up. Lessons learned from Skype for Business adoption

Microservices on AWS. Matthias Jung, Solutions Architect AWS

whitepaper How to Measure, Report On, and Actually Reduce Vulnerability Risk

How Manual Testers can execute Test Automation. White Papers. Muthiah Director of Testing. Expedux on How Manual Testers

ENTERPRISE MOBILE APPLICATION DEVELOPMENT WITH WAVEMAKER

Containers & Microservices For Realists. Karthik

Security-as-a-Service: The Future of Security Management

90% of data breaches are caused by software vulnerabilities.

Architectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process

Network Management April 2004

Testing. Topics. Types of Testing. Types of Testing

Transaction Isolation Level in ODI

GDPR COMPLIANCE REPORT

Apprenticeships CYBER SECURITY HIGHER APPRENTICESHIP FROM IT TECHNICIAN TO SKILLED INFORMATION SECURITY PROFESSIONAL

Cloud Computing: Making the Right Choice for Your Organization

WebSphere Application Server, Version 5. What s New?

Seng 480b/CSC 586b Building Web Applications

Accelerate Your Enterprise Private Cloud Initiative

We manage the technology that lets you manage your business.

Test Driven Development (TDD), and Working with Legacy Code Using C# Workshop ( 4 days)

Enabling Agile Database Development with Toad

Moving Databases to Oracle Cloud: Performance Best Practices


SpiraTeam Help Desk Integration Guide Inflectra Corporation

<Insert Picture Here> The Oracle Fusion Development Platform: Oracle JDeveloper and Oracle ADF Overview

ArcSight Activate Framework

Advanced Security Tester Course Outline

Oracle WebLogic Server Multitenant:

DevOps Using VSTS and Azure

Major travel and hospitality organizations often have

developer.* The Independent Magazine for Software Professionals

Uptime and Proactive Support Services

SERVICE TRANSITION ITIL INTERMEDIATE TRAINING & CERTIFICATION

IBM Best Practices Working With Multiple CCM Applications Draft

Introduction To Software Testing. Brian Nielsen. Center of Embedded Software Systems Aalborg University, Denmark CSS

Oracle Forms and Oracle APEX The Odd Couple

Product Backlog Document Template and Example

Agile Testing in the Real World Moving Beyond Theory to Achieve Practicality [NEED PICTURE HERE]

Supplemental setup document of CE Connector for IoT

ITIL Event Management in the Cloud

SIEMLESS THREAT MANAGEMENT

Transcription:

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

The SQALE method: Context SQALE: Software Quality Assessment based on Lifecycle Expectations Implementation/Tools Based on TD Generic Tailoring 4 concepts 9 Fundamental Principles Measurement theory and representativity 2

Testabilité Fiabilité Evolutivité Efficacité Maintenabilité SQALE Structure Source Code Analysis tools 1 Quality Model 2 Analysis Models 3 Indices 4 Indicators Source code related requirements 1 2 3 5 Findings Table 1 Estimation models 3 6 9 1 Costs Tables 4 Σ SQI STI SRI SQID A 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 E 1 6 1 2 «Right Code» Definition d. / h. / $. d. / h. / $. Technical Debt 3

The SQALE Quality Model: Source Code Requirements SQALE ask you to organize your set of expectations (requirements) based on your lifecycle needs Source code related requirements Iso 25010 abilities Testability Changeability Reliability Code Security Efficiency Test Maintainability Evolve Reusability Portability Deliver Maintain Reuse Reliability Testability Security Efficiency Changeability Characteristics Reusability Portability Maintainability «Right Code» Requirements, appear only once within the Quality Model, when they are first needed. >>> orthogonal model 4

SQALE: 2 Estimation Models Estimation models transform findings in costs One for the Technical Perspective > Technical Debt One for the Business Perspective > Business Impact Structure Architecture Logic Instruction Presentation Naming Coverage «Right Code» Definition Requirement These 2 derived measures are on a ratio scale and can be added without breaching the representation clause Findings n 5 Remediation Cost Depend on the type and the amount of technical activities to perform in order to remediate the NC (remediation life cycle) Depend on the negative impact on the business activities. The penalty that will cover all damages that will or may happend from delivering with NC Non-Remediation Cost

SQALE indicators: 1 Info & Analysis Rating: Synthesis, reporting Based on the ratio: Tech.Debt/Dev.Cost A E Pyramid: Technical Perspective of your TD: Tool Vendors may offer additional indicators (historical, by dev., by age.) 6

SQALE indicators: 2 - Priorities Enough time/budget Follow the logic from the Pyramid, start from the bottom Limited time/budget Look for the best Impact/Cost ratio. Use the SQALE Debt Map Business Impact Priority Relevant strategy for projects starting from scratch or the new part of the debt on a maintenance project Technical Debt Relevant strategy for improving the quality of legacy apps The Technical perspective The clean way The Business perspective The quick win way 7

Managing Technical Debt with SQALE SQALE Support 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 Quality Model Analysis Model Index density, Rating, Kiviat SQI index SQI Density Pyramid, SQI, SBII c Indices density, Rating, Kiviat The 2 Perspectives, Pyramid, Debt Map 8

SQALE Status 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 9

just sqale it Thanks Questions? http: /www.sqale.org jean-louis.letouzey@inspearit.com 10 Thursday, June 07, 2012

Addendum; Additional material 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 11

Remediation functions Remediation workload (and remediation functions) depend on the «remediation lifecycle» i.e. Presentation Developpers use a limited number of «remediation lifecycle» Check out Fix auto. Check In Source code related requirements Check out Fix manually Check In Check out Fix Run exist. tests Check In Check out Fix Dev. & run new tests Run exist. tests Check In «Right Code» i.e. Duplicate code 12

What is «right code» «Right code» is not «perfect code» Attribute1 Perfect Code No formal definition of «perfect code» «Not right code» area «Right code» area As soon as one attribute is in the unacceptable area, the code is «not right» 13

Does it generates technical debt? 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 that TD? (samequestion with60% 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? 14

Managing upon agile principles Priorities are established upon the «Value/Price» ratio Features Non-Conformities Development Cost Business Value Technical Debt Business Impact Priorities/Decision Priorities/Decision Technical Perspective Features List Business Perspective Technical Perspective N.C. List Business Perspective 15

SQALE is based on Lifecycle Expectations ISO 25010 Maintainability Portability Reusability Port Reuse Portability Efficiency Security Efficiency Changeability Maintainability Change Deliver Maintain Reliability Security Testability Reliability Code Test Iso 25010 Quality characteristics are mapped to the file life cycle activities 16

Any type of requirements Any type of code related requirements are accepted, provided they are justified and verifiable Presentation, Naming Unstructuredness Efficiency Maintainability Useless code optimisable code High coupling, wrong dependencies, hardcoded constants Testability Reliability Changeability Potential errors due to: logic, exception handling It is possible to remove characteristics Copy and Paste, Method s structure Generally, depending on project or organization s context, a SQALE Quality model contains between 40 and 100 requirements 17

The SQALE rating A synthetic indicator for management dashboards Depend directly on the TD/DEVCost ratio Development Cost A B C D E Technical Debt 18

The SQALE technical perspective Distribution of the debt upon links to characteristic/activity Chronology 19

The SQALE business perspective Distribution of the Debt upon the criticity Priority 20

The SQALE Debt Map An analysis indicator valid at all artefact level Business Impact Non-remediation Cost - File - Component - Application Remediation Cost 21 Technical Debt

SQALE Dashboard sample Focus on techical debt and its distribution inspearit - Author - Place 22 Thursday, June 07, 2012

SQALE Implementation: Tools Example: Metrixware 23

SQALE implementation: Tools Example: Squoring 24