cisq and software quality measurement - software assurance forum (march 2010)

17
Software Quality Measurement Software Quality Measurement Dr. Bill Curtis Director, CISQ www.it-cisq.org 1

Upload: cisq-consortium-for-it-software-quality

Post on 25-May-2015

685 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)

Software Quality MeasurementSoftware Quality Measurement

Dr. Bill CurtisDirector, CISQwww.it-cisq.org

1

Page 2: CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)

CISQIT organizations,

Outsourcers,Government,

Experts

• Application quality metrics • Method for automated measurement

• Technical certification

IT Executives

Technical experts

THE ECOSYSTEMTHE ECOSYSTEM

2

Page 3: CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)

OBJECTIVESOBJECTIVES

Raise international awareness of the critical challenge of IT software quality1

Develop standard, automatable measures and anti-patterns for evaluating IT software quality2

Promote global acceptance of the standard in acquiring IT software and services3

Develop an infrastructure of authorized assessors and products using the standard4

Page 4: CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)

PARTICIPANTSPARTICIPANTS

Page 5: CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)
Page 6: CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)

STANDARDS STANDARDS INFRASTRUCTUREINFRASTRUCTURE

Architecture ModernizationPlatform Task Force

OMG

Software AssurancePlatform Task Force

IT Application Software Quality

Standard

ISO 9126

series

ISO 25000 series

Defined metrics

Weaknesses & anti-patterns

Common Vulnerability

Scoring System

Common Weakness

Enumeration

Structured Metrics Meta-model

Knowledge Discovery Meta-

model

Abstract Syntax Tree Meta-model

6

Page 7: CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)

Develop a definition for automating Function Points

Size

Measure elements affecting maintenance cost, effort, & time

Maintainability

Measure elements affecting availability and responsiveness

Reliability & Performance

Measure elements affecting vulnerability to attack and loss

Security

Define methods for using code measures internally and externally

Best Practices for Metrics Use

Technical Working Groups

Page 8: CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)

CERTIFICATIONS

Purpose Options

Developers

Certify that developers understand how to develop software possessing desirable quality attributes

OMG offers certifications for developers on many of their existing standards

Appraisers

Certify that appraisers are capable of using the standards effectively in providing professional diagnostic services

SEI has developed licensing services for appraisers in areas such as CMMI

Tools

Certify that tools which implement the defined measures and anti-patterns provide accurate results

Proven difficult in the past, but options will be explored

Page 9: CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)

Business Business Logic Logic TierTier

Software Quality is Contextual

Application Logic Java, C++, … Frameworks Struts MVC, Spring

DataDataTierTier

Presenta-Presenta-tion Tiertion Tier

Web / Client Server Applications ASP/JSP/VB/.NET

DatabasesDatabasesFilesFiles

Legacy Applications

COBOLCOBOL

CICS Monitor (Cobol)

Tuxedo Monitor (C)

WebServices

CICS Connector

Middleware

BatchShell Scripts

Database

Data Management Layer EJB – Hibernate - Ibatis

Enterprise Applications

Drivers of business disruption risk and cost thrive at the interface Drivers of business disruption risk and cost thrive at the interface between technologies, beyond siloed skill sets and expertisebetween technologies, beyond siloed skill sets and expertise

Page 10: CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)

J2EETechnologies

.NETTechnologies

Legacy / Mainframe

Database (SQL,

PL/SQL..)

Packaged (Oracle, SAP,

SIEBEL..)

28 native + universal analyzer

Static Analysis Layer

Reconciliation Layer

Application Structure Meta-Model

Architecture Checker

Complexity Calculators

Inference Engine

Risk Identification

Function Point Calculator

Quantification Layer

Application Intelligence

Layer

Business Impact

Layer

Productivity Measurement

Vendor Quality Gate

Compliance Analysis

Health Factors Cost DriversRisk Drivers

Risk & Security Analysis

Quality Benchmarking

Third Party Solutions

Rules From Industry Research (700+)

Rules from CAST Research (200+)

Custom Rules Engine

Work Effort Estimation

Quality Quantity

Application Analysis Engine

Best Practices Monitor

Software Quality is Structural

Page 11: CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)

Software Quality: From Symptom to Cause

TE

ST

QU

AL

ITY

EV

AL

UA

TIO

N

QUALITYQUALITYSYMPTOMSSYMPTOMS

QUALITYQUALITYCHARACTERISTICSCHARACTERISTICS

poor response timedegraded performance

program structureprogram structurecomplexitycomplexity

coding practicescoding practices

couplingcoupling testabilitytestability

maintainabilitymaintainability

understandabilityunderstandability

flexibilityflexibility

reusabilityreusability

defects outages

architecturearchitecture

cohesioncohesion

securitysecurity

robustnessrobustness interoperabilityinteroperability

scalabilityscalability

overruns

excessive costs

Steve McConell (1993), Code Complete.

Page 12: CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)

CAST Application Quality Metrics

Business Risk Exposure

Performance

Security

Robustness

Cost Efficiency

Transferability

Changeability

Maintainability (as defined by the SEI)

Methodology Maturity

Architecture Compliance

Documentation Compliance

Standards Compliance

Application Size Size in KLOC Size in Back-Fired Function

Points Size in CAST-Computed

Function Points

Application Complexity Cyclomatic: Number of Objects

of Low, Medium, High, and Very High Cyclomatic Complexity

CAST Complexity: Number of Objects of Low, Medium, High, and Very High CAST Complexity

Structural Integrity Number of Passed Checks Number of Failed Checks Number of Critical Violations

Page 13: CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)

Reduced Development and Maintenance Costs

Actual Defects/BFP

CAST Violations/BFP

0

2

4

6

8

10

12

14

0

0.005

0.01

0.015

0.02

0.025

0.03

3.2 3.3 3.4 3.6GCS Versions

CAST Violations vs. Actual QA Defects

Actu

al D

efec

ts/B

FP

CAST Violations/BFP

Industry: Technology/Services Application Analyzed: Global,

comprehensive tracking system of requests from the first receipt of the credit request to the final approval of the request by the appropriate parties.

Technologies: J2EE, DB2

CUSTOMER EXAMPLE

Page 14: CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)

~10x Reduction in Cost of Fixing Defects

Industry: Financial Services Applications: 75 supported

application/functions run by the Business Groups and Batch Operations

Very complex technology environment, grown over last 15 years (J2EE, .NET, COBOL, Oracle, DB2)

CUSTOMER EXAMPLE

Page 15: CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)

AppMarQ Benchmark and Prioritization

Driver is at or exceeds Median of World-ClassDriver is between Median of Peer Group and World-Class Driver is below Peer Group Median

Other Companies

Benchmark customer

Robustness

Performance

Security

Risk Drivers

Ris

k D

river

s

H

World-ClassWorld-Class

L

H

Cost Driver Scores

Transferability

Changeability

CAST Complexity

Cost Drivers

Cost & Risk Matrix

Maintenance Cost Development Cost Duration Customer

Satisfaction

Page 16: CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)

2010 AND BEYOND2010 AND BEYOND

• CISQ will pursue member-driven objectives– Determined by CISQ Executive Forum– Consensus among CISQ members of problem to be addressed

• Early requests for additional objectives:– Defect and failure-related definitions– Business value measures related to application quality– Productivity/Size measurement

• Use of Executive Forum for addressing industry issues– Outsourcing quality SLAs– Benchmarking– Regulatory compliance

16

Page 17: CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)

17© CAST 2008

“If you don’t know where you are, a map won’t help”

- Watts H. Humphrey