automating software quality measurement with standards · paul c. bentz . amsterdam june 18, 2019 ....

17
Paul C. Bentz Amsterdam June 18, 2019 Automating Software Quality Measurement with Standards

Upload: others

Post on 30-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Automating Software Quality Measurement with Standards · Paul C. Bentz . Amsterdam June 18, 2019 . Automating Software Quality Measurement with Standards

Paul C. Bentz Amsterdam June 18, 2019

Automating Software Quality Measurement with Standards

Page 2: Automating Software Quality Measurement with Standards · Paul C. Bentz . Amsterdam June 18, 2019 . Automating Software Quality Measurement with Standards

Why Automate?

©2019 CISQ 2

Page 3: Automating Software Quality Measurement with Standards · Paul C. Bentz . Amsterdam June 18, 2019 . Automating Software Quality Measurement with Standards

Complexity

©2019 CISQ 3

Mul

ti-la

ngua

ge, m

ulti-

laye

r Arc

hite

ctur

e

EJB PL/SQL

Oracle

SQL Server

DB2

T/SQL

Hibernate

Spring

Struts .NET

COBOL

IMS

Messaging

Sybase

Integration quality Architectural compliance Risk propagation Application security Resiliency checks Transaction integrity Function point, Effort estimation

Data access control SDK versioning Calibration across

technologies IT organization level

System Level

• Code style & layout • Expression complexity • Code documentation • Class or program design • Basic coding standards • Developer level

Unit Level 1

Java

Java

Java Java

Web Services • Single language/technology layer

• Intra-technology architecture • Intra-layer dependencies • Inter-program invocation • Security vulnerabilities • Development team level

Technology Level

JSP ASP.NET APIs

Technology Stack

2

3

Page 4: Automating Software Quality Measurement with Standards · Paul C. Bentz . Amsterdam June 18, 2019 . Automating Software Quality Measurement with Standards

Velocity

©2019 CISQ 4

Page 5: Automating Software Quality Measurement with Standards · Paul C. Bentz . Amsterdam June 18, 2019 . Automating Software Quality Measurement with Standards

Automated Complex Toolchains

©2019 CISQ 5

• Production metrics, objects and feedback • Requirements • Business metrics • Update release metrics • Release plan, timing and business case • Security policy and requirement

• Design of the software and configuration • Coding including code quality and performance • Software build and build performance • Release candidate

• Acceptance testing • Regression testing • Security and vulnerability analysis • Performance • Configuration testing • Approval/preapprovals

• Package configuration • Triggered releases • Release staging and holding

• Infrastructure storage, database and network provisioning and configuring • Application provision and configuration

• Performance of IT infrastructure • End-user response and experience • Production metrics and statistics • Application monitoring

Page 6: Automating Software Quality Measurement with Standards · Paul C. Bentz . Amsterdam June 18, 2019 . Automating Software Quality Measurement with Standards

CISQ Automates What Matters

©2019 CISQ 6

Page 7: Automating Software Quality Measurement with Standards · Paul C. Bentz . Amsterdam June 18, 2019 . Automating Software Quality Measurement with Standards

Software Measurement Standards Documented

STRUCTURAL QUALITY • Security: Measures the most exploited security weaknesses in software including the CWE/Sans Institute Top 25 Most Dangerous

Security Errors and OWASP Top 10

• Reliability: Measures weaknesses impacting the availability, fault tolerance, and recoverability of software

• Performance Efficiency: Measures weaknesses impacting response time and utilization of processor, memory, and other resources

• Maintainability: Measures weaknesses impacting the comprehensibility, changeability, testability, and scalability of software

TECHNICAL DEBT • A measure of corrective maintenance effort due to violations (weaknesses) remaining in a software application, i.e., what’s it going to

cost to fix the critical weaknesses in this code?

SOFTWARE SIZING • Automated Function Points: Measures the functional size of software

• Automated Enhancement Points: Measures changes in the size of both functional and non-functional code during a release in one measure

©2019 CISQ 7

Page 8: Automating Software Quality Measurement with Standards · Paul C. Bentz . Amsterdam June 18, 2019 . Automating Software Quality Measurement with Standards

CISQ Supplements ISO 25000 with Automation

©2019 CISQ 8

Software Product Quality

Functional Suitability Reliability Performance

Efficiency Operability Security Compatibility Maintain-ability Portability

Functional appropriateness

Accuracy Compliance

Maturity Availability

Fault tolerance Recoverability Compliance

Time behavior Resource utilization

Compliance

Appropriateness Recognizability

Learnability Ease of use

Attractiveness Technical

Accessibility Compliance

Confidentiality Integrity

Non-repudiation Accountability Authenticity Compliance

Co-existence Interoperability

Compliance

Modularity Reusability

Analyzability Changeability Modification

stability Testability

Compliance

Adaptability Installability

Replaceability Compliance

This figure illustrates the eight software quality characteristics defined in ISO 25010. The four characteristics highlighted in blue were selected for automated measurement by CISQ.

Page 9: Automating Software Quality Measurement with Standards · Paul C. Bentz . Amsterdam June 18, 2019 . Automating Software Quality Measurement with Standards

Measures Relate to Results and Behaviors

©2019 CISQ 9

Page 10: Automating Software Quality Measurement with Standards · Paul C. Bentz . Amsterdam June 18, 2019 . Automating Software Quality Measurement with Standards

©2019 CISQ 10

Adoption of Agile and DevOps

Use standards to measure improvement in code quality and development productivity

Page 11: Automating Software Quality Measurement with Standards · Paul C. Bentz . Amsterdam June 18, 2019 . Automating Software Quality Measurement with Standards

The Shift to Outcome-based Contracts

©2019 CISQ 11

Input-based contract Output-based contract Outcome-based contract

• T&M • Fixed capacity • Hybrid

• Sizing-based (Function Points) • Tickets • Velocity • Quality

• Service delivered • Impact on business • Satisfaction

LOWEST VALUE / HIGHEST COST PRESSURE HIGHEST VALUE / LOWEST COST PRESSURE

OUTCOME-BASED CONTRACTS ARE

GROWING RAPIDLY

of CIOs & CTOs find outcome based contracts most effective

57% are shifting to outcome-based contracts 1 in 2

Sources: Deloitte 2014 Global Outsourcing and Insourcing Survey, Forbes Insights

SIGNIFICANT CHANGES IN THE SERVICES

ENGAGEMENT MODEL IN THE NEXT 5 YEARS

Source: ISG December 2016 The Three Waves in the Evolution of the Engineering Services Outsourcing Industry

Delivery Model

Business Model

Key Drivers

T&M, Staff Augmentation: 70% Fixed, Outcome Based: 30%

2015 2020 T&M, Staff Augmentation: 50% Fixed, Outcome Based, Risk Reward: 50%

Offshore: 80%, Onsite: 20% Offshore: 60%, Onsite, Nearshore: 40%

Cost, Scale, Skills Operational Excellence Contractual Innovation, SLA/KPI driven

Page 12: Automating Software Quality Measurement with Standards · Paul C. Bentz . Amsterdam June 18, 2019 . Automating Software Quality Measurement with Standards

Call for Scorecards

©2019 CISQ 12

Outsourcer CISQ-86 Reliability Performance

Efficiency Security Maintainability

VENDOR 1 2.59 3.16 2.34 3.01 1.99

VENDOR 2 2.81 2.78 2.78 3.12 2.34

VENDOR 3 2.59 1.67 3.54 2.98 1.76

VENDOR 4 3.06 3.12 3.11 2.79 3.11

VENDOR 5 2.83 2.56 2.88 3.03 2.56

VENDOR 6 2.90 3.76 2.89 2.97 2.55

VENDOR VENDOR VENDOR

Monitor Performance Over Time

VENDOR

Page 13: Automating Software Quality Measurement with Standards · Paul C. Bentz . Amsterdam June 18, 2019 . Automating Software Quality Measurement with Standards

Adoption allows Autonomy & Accountability

©2019 CISQ 13

Page 14: Automating Software Quality Measurement with Standards · Paul C. Bentz . Amsterdam June 18, 2019 . Automating Software Quality Measurement with Standards

• Don’t expect everyone to like automation, some people just like doing it the hard way

• Incentivize the behavior you want for the individual and team

• Avoid as much as possible the Top-Down approach

©2019 CISQ 14

Focus on Culture and Behavior

Page 15: Automating Software Quality Measurement with Standards · Paul C. Bentz . Amsterdam June 18, 2019 . Automating Software Quality Measurement with Standards

• Develop the correct skills • Obtain commitment from the

team • Certify the environment • Set KPIs and Targets • Show and share results

©2019 CISQ 15

Link Automation to Autonomy

Page 16: Automating Software Quality Measurement with Standards · Paul C. Bentz . Amsterdam June 18, 2019 . Automating Software Quality Measurement with Standards

CISQ Membership is Free – www.it-cisq.org

©2019 CISQ 16

Over 3000 individual members from large software-intensive organizations:

Page 17: Automating Software Quality Measurement with Standards · Paul C. Bentz . Amsterdam June 18, 2019 . Automating Software Quality Measurement with Standards

Founded 2010d

3,000+ members

750+ companies

7 adopted standards

www.it-cisq.org

©2019 CISQ 17

Paul C. Bentz Director of Government and Industry Programs – Europe [email protected] Standards available in the public domain at www.it-cisq.org/standards and https://www.omg.org/spec/category/cisq/

Thank You