Software Product Quality: Some Thoughts about its Evolution and Perspectives

32
Software Product Quality Software Product Quality Some Thoughts about its Evolution and Some Thoughts about its Evolution and Perspectives Perspectives Luigi Buglione , GUFPI-ISMA (Gruppo Utenti Function Point Italia – Italian Software Metrics Association) 1 20th IMEKO TC4 International Symposium – Benevento (Italy)

description

From the mid ‘70s on, a plenty of attention was devoted to evaluate and measure software quality. As Tom Demarco said: “you cannot control what you cannot measure”. But coming back, it’s also true that “you cannot measure what you cannot define” and again “you cannot define what you don’t know”. Thus, moving from definition is the priority for any activity and creates also measures from a common, shared definition. The FCM (Factor-Criteria-Model) was the first ‘quality model’ in 1977 by the US Air Force trying to state a “three-tier” model for defining what quality could be for a software product. Later, Boehm (1978) and ISO (1991) with its first version of the 9126 model (now evolved into the 25010:2011 one, in the SQuARE standard series, did the same exercise. Again, maybe less known, other models and taxonomies have been created and proposed in the technical literature (e.g. FURPS+, ECSS-E-10A, ISO 21351:2005, etc.) for the same purpose. What a very few do is to understand (and deal with, accordingly) that ‘quality’ means ‘non-functional’ (or at least, a large part of the ISO definition of NFR – Non-functional Requirements). From a measurement perspective it means to deal with a very (relative) unexplored area, with a plenty of possible developments. In fact, a FUR (Functional User Requirement) is something about the ‘what’ a software can do by its functionalities and FPA (Function Point Analysis) - whatever the variant adopted – in a single number tries to relate a sizing unit expressing such ‘functional dimension’. Dealing with NFR and Software Quality is a very complex work, because of the large number of attributes composing ‘quality’. Each category in one of the aforementioned quality models could be a separate issue as well as now is the ‘functionality’ one. Taking into account several attributes at the same time and determining a ‘quality profile’ for a certain type of software will be one of the next decade challenges. Estimators will need to understand better and better which NFR-related (quality) measures to include (at least 2+ ones) as independent proxies in estimation models, allowing estimators to reduce MRE (Mean Relative Error) figures as much as possible, saving project resources and improving the overall project value for its stakeholders. In order to do that, this paper will try to discuss from an evolutionary perspective what software quality has been, is and should/could be perceived and defined during next years, by a measurement perspective.

Transcript of Software Product Quality: Some Thoughts about its Evolution and Perspectives

Page 1: Software Product Quality: Some Thoughts about its Evolution and Perspectives

Software Product QualitySoftware Product Quality Some Thoughts about its Evolution and Some Thoughts about its Evolution and

PerspectivesPerspectivesLuigi Buglione, GUFPI-ISMA (Gruppo Utenti Function Point Italia – Italian Software Metrics Association)

120th IMEKO TC4 International Symposium – Benevento (Italy)

Page 2: Software Product Quality: Some Thoughts about its Evolution and Perspectives

Goals of the presentation

20th IMEKO TC4 International Symposium – Benevento (Italy) 2

1. Discuss the Quality issue in Software Projects2. Introduce most known Software Quality product models 3. Propose possible perspectives and developments from an evolutionary perspective

Page 3: Software Product Quality: Some Thoughts about its Evolution and Perspectives

www.gufpi-isma.org

GUFPI-ISMA

Page 4: Software Product Quality: Some Thoughts about its Evolution and Perspectives

• Introduction– What is Quality?– Some basic questions

• A Short History of Quality Models (QM)1. FCM (Factor-Criteria-Model)2. Boehm’s Quality Model3. ISO (9126 25010)4. Other possible QM

• Possible Criteria for a QM– Stakeholders– Grouping Criteria

• Quality Models and the Next Decade– Content, Usage– Perspectives/Viewpoint, Measurement

• Conclusions & Next Steps

• Q&&A

Agenda

Page 5: Software Product Quality: Some Thoughts about its Evolution and Perspectives

Introduction

20th IMEKO TC4 International Symposium – Benevento (Italy) 5

Page 6: Software Product Quality: Some Thoughts about its Evolution and Perspectives

What is Quality?

20th IMEKO TC4 International Symposium – Benevento (Italy) 6

(1) degree to which a system, component, or process meets specified requirements (IEEE 829-2008 IEEE Standard for Software and System Test Documentation, 3.1.25) (2) ability of a product, service, system, component, or process to meet customer or user needs, expectations, or requirements (ISO/IEC/IEEE 24765:2010 Systems and software engineering--Vocabulary) (3) degree to which the system satisfies the stated and implied needs of its various stakeholders, and thus provides value (ISO/IEC 25010:2011 Systems and software engineering--Systems and software Quality Requirements and Evaluation (SQuaRE)--System and software quality models, 3.1) (4) degree to which a system, component, or process meets customer or user needs or expectations (IEEE 829-2008 IEEE Standard for Software and System Test Documentation, 3.1.25) (5) the degree to which a set of inherent characteristics fulfils requirements (A Guide to the Project Management Body of Knowledge (PMBOK(R) Guide) -- Fifth Edition) 

URL: www.computer.org/sevocab

Page 7: Software Product Quality: Some Thoughts about its Evolution and Perspectives

Three steps back...

20th IMEKO TC4 International Symposium – Benevento (Italy) 7

You cannot You cannot controlcontrol what you what you cannot cannot measure measure but...but...

...You cannot...You cannot measuremeasure what what youyou cannotcannot define define but...but...

...You cannot...You cannot definedefine what you what you don’tdon’t knowknow......

Page 8: Software Product Quality: Some Thoughts about its Evolution and Perspectives

A Yin-Yang based-view

20th IMEKO TC4 International Symposium – Benevento (Italy) 8

NFR(prod)

FUR(prod)

Other (prj)

Page 9: Software Product Quality: Some Thoughts about its Evolution and Perspectives

Business-Contractual Issues

20th IMEKO TC4 International Symposium – Benevento (Italy) 9

Sour

ce:

Bugl

ione

L.,

The

Nex

t Fr

ontie

r: M

easu

ring

and

Eval

uatin

g th

e N

onFu

nctio

nal

Prod

uctiv

ity,

Met

ricVi

ews,

IFP

UG

New

slet

ter,

Vol

.6 I

ssue

No.

2, A

ugus

t 20

12,

pp.1

1-14

, ht

tp:/

/ww

w.if

pug.

org/

met

ricvi

ews/

Page 10: Software Product Quality: Some Thoughts about its Evolution and Perspectives

A short history of Quality Models

20th IMEKO TC4 International Symposium – Benevento (Italy) 10

Page 11: Software Product Quality: Some Thoughts about its Evolution and Perspectives

1977: Factor-Criteria-Model (FCM)

20th IMEKO TC4 International Symposium – Benevento (Italy) 11

Page 12: Software Product Quality: Some Thoughts about its Evolution and Perspectives

1978: Boehm’s QM

20th IMEKO TC4 International Symposium – Benevento (Italy) 12

Page 13: Software Product Quality: Some Thoughts about its Evolution and Perspectives

ISO/IEC 9126:1991

20th IMEKO TC4 International Symposium – Benevento (Italy) 13

Page 14: Software Product Quality: Some Thoughts about its Evolution and Perspectives

20th IMEKO TC4 International Symposium – Benevento (Italy) 14

ISO/IEC 9126-1:2001External-Internal Quality

Page 15: Software Product Quality: Some Thoughts about its Evolution and Perspectives

ISO/IEC 9126-1:2001Quality in Use

20th IMEKO TC4 International Symposium – Benevento (Italy) 15

Page 16: Software Product Quality: Some Thoughts about its Evolution and Perspectives

20th IMEKO TC4 International Symposium – Benevento (Italy) 16

ISO/IEC 25010:2011SQuARE project (250xx series)

Page 17: Software Product Quality: Some Thoughts about its Evolution and Perspectives

Other QMs

20th IMEKO TC4 International Symposium – Benevento (Italy) 17

• FURPS(+) [Grady & Caswell, 1987] Functionality, Usability, Reliability, Performance, Supportability, + (other new ones, 2° version) 2 layers with sub-chars

• ECSS-E-10A + ISO 21351:2013 [2005] European Space Agency standards http://www.ecss.nl/

Basis for ISO 21351 “Space systems -- Functional and technical specifications”

• IFPUG VAF [19792004]• IFPUG SNAP [2007]

Page 18: Software Product Quality: Some Thoughts about its Evolution and Perspectives

20th IMEKO TC4 International Symposium – Benevento (Italy) 18

• Eliminated by ISO (ISO/IEC 14143-1:1998) because not part of FUR (expression of NFRs) not proportional to NFRs related-effort

• Not anymore in the IFPUG CPM v4.3+ (base) counting procedure

IFPUG VAFValue Adjustment Factor

Page 19: Software Product Quality: Some Thoughts about its Evolution and Perspectives

20th IMEKO TC4 International Symposium – Benevento (Italy) 19

IFPUG SNAPSoftware Non-functional Assessment Process

Categories (4) & Sub-Categories (14):1. Data Operations

a. Data Entry Validationb. Logical & Mathematical Operationsc. Data Formattingd. Internal Data Movementse. Delivering Added Value to Users by Data

Configuration

2. Interface Designa. UI Changesb. Help Methodsc. Multiple Input Methodsd. Multiple Output Methods

3. Technical Environment

a. Multiple Platformb. Database Technologyc. Batch Processing System

3. Architecturea. Component Based Sw Dev (CBSD)b. Multiple Input/Output Interface

• New NFR Sizing Method unit of measure: SP (SNAP Points)Separated by FP (from FURs) overcome the VAF concept

Page 20: Software Product Quality: Some Thoughts about its Evolution and Perspectives

Possible criteria for a Quality Model

20th IMEKO TC4 International Symposium – Benevento (Italy) 20

Page 21: Software Product Quality: Some Thoughts about its Evolution and Perspectives

Stakeholders

20th IMEKO TC4 International Symposium – Benevento (Italy) 21

• Essential to determine the right stakeholders (primary, secondary)

• Elicit implicit requirements (often mandatory ones are not elicited)

• New processes in PMBOK 5° ed (2013) on Stakeholders Management

• Mostly NFR are impacted ...quality

Page 22: Software Product Quality: Some Thoughts about its Evolution and Perspectives

Grouping Criteria

20th IMEKO TC4 International Symposium – Benevento (Italy) 22

• Time SLC phases ISO 12207 process schema Determine the link between quality measures and when applying them

• Viewpoint/Stakeholder positioning Internal, External, Quality-in-use viewpoints introduced by ISO 9126-1:2001 (based on previous ISO 14598-x series)

• Viewpoint/Context-Content Different viewpoints/perspectives, as in a BSC (Balanced Scorecard) approach Basic BSC 4 perspectives (Financial, Customer, Internal Process, Learning & Growth) Other possible schema: Time, Cost, Quality, Risk, ...

Page 23: Software Product Quality: Some Thoughts about its Evolution and Perspectives

Quality Models and the Next Decade

20th IMEKO TC4 International Symposium – Benevento (Italy) 23

Page 24: Software Product Quality: Some Thoughts about its Evolution and Perspectives

Content

20th IMEKO TC4 International Symposium – Benevento (Italy) 24

• Content Attributes (aka ‘characteristics’) are important Not too many, not too few...analyze your product from more views Rule of thumb: 7±2 (?) To be included into a Measurement Plan (ISO/IEC 15939:2007) Technique EAM Analysis (Entity-Attribute-Measure)

E – Entity (software) product

(software) product project (software) product

A – Attribute

SLOC length Functionalities ??? Non-functionalities

M – Measure

LOC – Lines of Code

Function Point Story Points? (specific measures for NFRs)

Source:: Buglione L., Ebert C., Estimation, Encyclopedia of Software Engineering, Taylor & Francis Publisher, June 2012, ISBN: 978-1-4200-5977-9

Page 25: Software Product Quality: Some Thoughts about its Evolution and Perspectives

Usage

20th IMEKO TC4 International Symposium – Benevento (Italy) 25

• Usage Not only a ‘retrospective’ evaluation, but start from the early SLC phases QM as ‘Wishing list’ for do not missing relevant requirements (implicit req’s) yet from the beginning QFD (Quality Function Deployment) TQM technique

Page 26: Software Product Quality: Some Thoughts about its Evolution and Perspectives

Perspectives

20th IMEKO TC4 International Symposium – Benevento (Italy) 26

Investitori

Impiegati&

Manager

ClientiFornitori &BusinessPartner

Comunità Locali

Competitor

Associazioni Sindacali

Media & Università

UnioniLavoratori

ONG &Associazioni

Civiche

Governo &Normatori

Typical Primary Stakeholders

Typical Secondary Stakeholders

Organization

Sour

ceSo

urce

:: S

RA, T

he S

take

hold

er E

ngag

emen

t Man

ual,

2005

, URL

: htt

p://

goo.

gl/T

fNFj

A

Page 27: Software Product Quality: Some Thoughts about its Evolution and Perspectives

Measurement

20th IMEKO TC4 International Symposium – Benevento (Italy) 27

• Measurement Last but not least (!)...quality needs to be measured QM are multi-tier models, typically three layers/tiers Layer 1-2 are about the characteristic/attribut Layer 3 is about the measures related to a sub-char Example: ISO/IEC 9126-x (parts 2,3,4) Example: ISO MIM (Measurement Information Model) from 15939:2007

Page 28: Software Product Quality: Some Thoughts about its Evolution and Perspectives

Conclusions & Next Steps

20th IMEKO TC4 International Symposium – Benevento (Italy) 28

Page 29: Software Product Quality: Some Thoughts about its Evolution and Perspectives

• Quality Models (QM) Good way to model product NFR Useful to stress the ‘how/how to’ part complementing functionalities (FUR)

• QM Structure & Content Several QMs, many overlapping chars, some different depending on time and

technology advancements (e.g. Smartphone and touching tech) EAM analysis, QFD and similar techniques useful for looking at different viewpoints

Next Steps Observe your own product domain, apply the EAM analysis and ‘define’ what you

need for obtaining your own QM Last but not least, build the third layer (e.g. GQM approach is there!) ...just try & see! (but before take a look to the plenty of existing QMs...)

All models are wrong. Some models are useful. (George Box, Mathematician, 1919-2013)

Conclusions & Next Steps

Page 30: Software Product Quality: Some Thoughts about its Evolution and Perspectives

UR

L: w

ww

.dilb

ert.c

om

Lessons Learned...

Page 31: Software Product Quality: Some Thoughts about its Evolution and Perspectives

Grazie per la vostra attenzioneGrazie per la vostra attenzione!!Thanks for your attentionThanks for your attention!!

Q&A

Page 32: Software Product Quality: Some Thoughts about its Evolution and Perspectives

Luigi Buglione

[email protected]

www.gufpi-isma.org@GUFPI_ISMA

Contact Data