15
GQM – an example from Fjellanger - Widerøe Hans J. Lied Tor Stålhane IDI / NTNU

GQM – an example from Fjellanger - Widerøe Hans J. Lied Tor Stålhane IDI / NTNU

Embed Size (px)

Citation preview

Page 1: GQM – an example from Fjellanger - Widerøe Hans J. Lied Tor Stålhane IDI / NTNU

GQM – an example from Fjellanger - Widerøe

Hans J. LiedTor StålhaneIDI / NTNU

Page 2: GQM – an example from Fjellanger - Widerøe Hans J. Lied Tor Stålhane IDI / NTNU

Environment• Medium sized company making tailor-made software

systems• Fixed price projects with little room for rework

caused by introduction of errors• Two development projects, same project team and

process model. – Project 1: standard with a given requirements specification– Project 2: prototyping without requirements specification

Page 3: GQM – an example from Fjellanger - Widerøe Hans J. Lied Tor Stålhane IDI / NTNU

The projects • Project 1 had

– structure given from the start– customer-defined quality assurance requirements – requirements specification from the customer

• Project 2 – depended on prototyping.– started with an idea from the customer– the requirements specification was a co-

production between customer and developers.

Page 4: GQM – an example from Fjellanger - Widerøe Hans J. Lied Tor Stålhane IDI / NTNU

Methods

We used a combination of three methods:• GQM, to decide what and how to

measure• Pareto with a robustness analysis, to

analyse and assess collected data• RCA: brainstorming and Ishikawa

diagrams to identify root causes

Page 5: GQM – an example from Fjellanger - Widerøe Hans J. Lied Tor Stålhane IDI / NTNU

GQM method – 1

Analyse for the purpose of

with respect to as seen from in the context of

Focus Q1:Q2:

EnvironmentQa:Qb:Qc:

What do we believeQ1:Q2:

How does the environment influence focusIncreased Qa values will reduce Q1Low Qb values will increase Q2

Comments Interesting info that surfaces during the GQM process but is not directly relevant for the current GQM goal.

GQM abstraction sheet without the lower part

Page 6: GQM – an example from Fjellanger - Widerøe Hans J. Lied Tor Stålhane IDI / NTNU

GQM method – 2 The GQM abstraction sheet was used to:• manage and structure the brainstorming

sessions• identify problem areas for the RCA• benefit from its focus on developer

participation to get a set of basic root causes to analyse

Page 7: GQM – an example from Fjellanger - Widerøe Hans J. Lied Tor Stålhane IDI / NTNU

GQM method – 3 The GQM method helps us to obtain:• reliable data. The developers are more

interested in obtaining correct data if they feel that they have ownership to the goal and purpose of the data collection

• more interest in the results. Involving the developers from day one => – create interest– keep the improvement program alive.

Page 8: GQM – an example from Fjellanger - Widerøe Hans J. Lied Tor Stålhane IDI / NTNU

GQM - process

• Two hour workshop to introduce the method• Establishing the GQM goal:

– Analyse the reported failures in order to understand causes for failures seen from the developers in the X project.

• Produced a GQM abstraction sheet, which was converted to a data collection form

Page 9: GQM – an example from Fjellanger - Widerøe Hans J. Lied Tor Stålhane IDI / NTNU

GQM - Data collection formWPnr.: One report pr. failure

Please specify: Data collection form for failure causes in project 1/ project 2

Focus Variation factors

Main cause: Cross: Secondary cause: Cross:

1 Incorrect use of cut-and-paste from old code 1 Time pressure during development2 Incorrect reuse of old code 2 Missing competence in use of3 Incorrect use of language features : 2,1 -language

3,1 -pointers 2,2 -development tools3,2 -char '0' terminating s trings og var. 3 Uncontrollable, external dis turbances - 3,3 -other 3,1 -noise

4 Incorrect use of library components 3,2 -fire fighting old systems5 Incorrect attempts to make the code general 3,3 -support on other products6 Attempted reuse by introducing global variables 4 Errors in development tools7 High component complexity 5 Errors in libraries and subsystems supplied by subcontractors

7,1 -module 6 Lack of user interaction7,2 -application 7 Lacking or miss ing motivation7,3 -design 7,1 -salary

8 Large, unanticipated variation in input data 7,2 -time off9 Incomplete or bad tes t data 8 Incomplete project model, for ins tance too few check points

10 Too large code components11 Missing or incomplete configuration management Failure consequence:12 Incorrect component integration13 Insufficintly detailed requirements specification14 Wrong code logic15 Errors in hardware - software communication

Degree of seriousness: ( 1 is not serious, 5 is very serious )1 2 3 4 5

Amount of person-hours spent correcting the failure:

Page 10: GQM – an example from Fjellanger - Widerøe Hans J. Lied Tor Stålhane IDI / NTNU

Pareto – 1

• The 20/80 distribution, known as Pareto’s Law, is applicable in software development

• Pareto diagrams used to visualise the main problem areas

• We used Pareto analysis on our data to identify main areas of improvement

Page 11: GQM – an example from Fjellanger - Widerøe Hans J. Lied Tor Stålhane IDI / NTNU

Pareto – 2 Rework

0

5

10

15

20

25

30

3 4 14 7 2 1 6 13

Focus cause

Pe

rso

n h

ou

rs

A

Rework

0

2

4

6

8

10

12

14

16

13 15 14 1

Focus cause

Pe

rso

n h

ou

rs

A

Pareto identified the following main problem areas:

Project1 – standard project:• Incorrect use of language features (3)• Incorrect use of library components (4)• Wrong code logic (14)

Project2 – prototyping :• Incomplete or insufficiently detailed req. spec. (13)• Errors in HW-SW communication (15)• Wrong code logic (14)

Page 12: GQM – an example from Fjellanger - Widerøe Hans J. Lied Tor Stålhane IDI / NTNU

RCA - Brainstorm

We presented the development team with theresults from the Pareto analysis and introducedthem to RCA.

We made an Ishikawa diagram, using the categories from the data collection form as a starting point.

The strong point of a brain-storming session is that it maximises the use of available knowledge

Page 13: GQM – an example from Fjellanger - Widerøe Hans J. Lied Tor Stålhane IDI / NTNU

The RCA diagram

Incompleterequirements

Incompleteenvironmentdescription

Incomplete QAactivities

Incomplete functionalrequirements

Too complexdescription

Incompletenon-functionalrequirements

Othermisunderstandings

Incompleteunderstanding ofcustomer needs

Insufficientcustomer contact

Missingroutines

Time pressure

Routines notfollowed

Lack ofknowledge

Lack ofoverview

Page 14: GQM – an example from Fjellanger - Widerøe Hans J. Lied Tor Stålhane IDI / NTNU

RCA - Results

Improvement actions identified from this session:• The need for sharing competence internally• Checklist on Intranet• Common routines/solutions for standard tasks

(best practice experience)• Common dynamic document templates• Start the planning, design and development of an

experience database

Page 15: GQM – an example from Fjellanger - Widerøe Hans J. Lied Tor Stålhane IDI / NTNU

Conclusions

• Measurements gave knowledge of how things really are in the company

• Common understanding of what we learned from this knowledge

• Explicit shared knowledge about the process that the company can reuse