17
Controlling Software Process Improvement Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile

Controlling Software Process Improvement Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile

Embed Size (px)

Citation preview

Page 1: Controlling Software Process Improvement Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile

Controlling Software Process Improvement

Marcello ViscontiDepartamento de Informática

Universidad Técnica Federico Santa María

Valparaíso, Chile

Page 2: Controlling Software Process Improvement Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile

Motivation

Many improvement initiatives have shown a clear immaturity for the software process - especially in SQA (Software Quality Assurance) and SCM (Software Configuration Management)

Page 3: Controlling Software Process Improvement Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile

State of the practice (CMM)

Page 4: Controlling Software Process Improvement Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile

19941994 19951995 1996 1996 19971997 19981998 .... 2001.... 2001

SQA, Doc. & SCMMaturity Models

INTEC ProjectSPIN-CHILE

S:PRIMEAssessments

ISO-9000CertificationInitiative

First 2companiescertified ISO

First 3 CMMAssessments

What happens in Chile?

Page 5: Controlling Software Process Improvement Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile

Software Industry - Chile (Preliminary study)

64

55 56

4644

34

44

37

32

55

48

40

24

62

52

47

17

31 30

45 45

58

47

53

63

4341

52

70

24

35

42

0

10

20

30

40

50

60

70

80

Practice Areas

%

% Compliance % Risk

Page 6: Controlling Software Process Improvement Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile

Great difficulty to move past diagnosis/planning into real action - there is a need to close this gap

Page 7: Controlling Software Process Improvement Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile

Our approach to bridge the gap

Improve specific software practices (ex: SQA, SCM practices) through the development and implantation of a set of generic tools - templates, checklists and guides

Manage quantitatively the quality of the implantation of specific tools to assure their usefulness in improving the process - adaptation of SQUID methodology

Page 8: Controlling Software Process Improvement Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile

SQUID Software QUality In the Development process, aims

to provide an integrated approach to quality Provides a framework to support

> different views of quality> different quality measures> flexible models of quality

View: controlling internal properties (software development) will determine external behaviour (end product)

Developed as part of a European ESPRIT research project

Commercially available tool set (October 1999)

Page 9: Controlling Software Process Improvement Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile

SQUID SQUID supports various processes needed to manage

quality> quality specification - specific targets for external

characteristics (operational behaviour)> quality planning - specific targets for internal characteristics

(development)> quality monitoring - tracking internal properties (development)> quality evaluation - comparing target and actual for external

properties (operational behaviour)

Page 10: Controlling Software Process Improvement Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile

SQUID adaptation SQUID approach requires

> integration of different types of measures (internal & external) for software developed

> integration of different models (quality, development and measurement models)

Proposal for SQUID adaptation requires> integration of different types of measures (internal &

external) for tools implanted> integration of different models (quality, implantation

and measurement models)

Page 11: Controlling Software Process Improvement Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile

Development model for SQUID adaptationPhase Activities Review points Deliverables

Study and selection of thetools to implant

Approval of specification Specification of tools to implantPreparation

Tool adaptation Approval of preliminary toolversion

Preliminary tool version

Selection of one or moreprojects for the pilot test

Preliminary version of used tools

OrientationTools incorporation into theproject plan (activity plan)

Pilot Test

Test execution

End of testing

Test report

Analysis of results Analysis of results Approval of results report Results reportRefinement Tool refinement Approval of official tool

versionOfficial tool version

Selection of a responsibleteamTraining plan

Approval of training plan Training plan

Training

Institutionalization

Incorporation developmentEnd of implantation Implanted tools

Page 12: Controlling Software Process Improvement Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile

Quality model for SQUID adaptationCharacteristics Subcharacteristics Attributes

Fitness satisfaction, usefulnessCompleteness omissions, remainings, coverageConsistence errors

Functionality

Unambiguity legibility, standardization, uniformityUnderstandability time, complexity, legibility, standardizationUsabilityLearnability time, complexity, legibility, standardization

Operability adherence, compliance, correctnessAdaptability degree of process independenceGeneralityInteroperability compatibility

Cost effort, timeAnalyzability time, size, complexityChangeability time, size, complexityTestability time, coverage

Mantainability

Modularity coupling, cohesion

Page 13: Controlling Software Process Improvement Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile

Integration of SQUID adaptation - partial definition of counting rulesDeliverables Characteristic Subcharacteristic Attributes Counting rule (draft)

Fitness satisfaction on/off survey for the implantators and/or developersCompleteness coverage (# covered objectives)/ (# defined objectives)Consistence errors # detected inconsistencies

legibility # grammatical errors + # spelling errorsstandardization # format errors against the standards applicables to the product. If

they don’t exist, # inconsistence errors in printing and formattingtitles, paragraphs, tables, figures and any other object related with thephysical part of the product

Functionality

Unambiguity

uniformity facilitate the product to two or more people for its understanding, askthem about its content and count the times they differ in theinterpretation of the product or part of it

time average time required by the implantators and/or developers tounderstand the purpose and the possibilities of using the product

complexity effort / # functionslegibility # grammatical errors + # spelling errors

Usability Understandability

standardization # format errors against the standards applicables to the product. Ifthey don’t exist, # inconsistence errors in printing and formattingtitles, paragraphs, tables, figures and any other object related with thephysical part of the product

effort man-hours

Specification oftools to implant

Costtime days

Fitness satisfaction on/off survey for the implantators and/or developersomissions # functions not implanted in relation to the specificationCompletenesscoverage (# covered objectives)/ (# defined objectives)

Consistence errors # detected inconsistencieslegibility # grammatical errors + # spelling errorsstandardization # format errors against the standards applicables to the product. If

they don’t exist, # inconsistence errors in printing and formattingtitles, paragraphs, tables, figures and any other object related with thephysical part of the product

Functionality

Unambiguity

uniformity facilitate the product to two or more people for its understanding, askthem about its content and count the times they differ in theinterpretation of the product or part of it

effort man-hoursCosttime days

# other tools that require the use of the tool to comply with theirfunctions

coupling

# other tools that the tool requires to complete its functions

Preliminary toolversion

Mantainability Modularity

cohesion # disjoint functions (unicity of objectives)

Page 14: Controlling Software Process Improvement Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile

Pilot application

SQUID adaptation proposed was tested at a medium-size software development company to manage (partially) the implantation of a set of tools related to one key SQA practice, formal technical reviews

Target values were set based mainly on personnel experience

Actual values were collected for the preparation phase (first phase)

Page 15: Controlling Software Process Improvement Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile

Preparation phase preliminary resultsValuesDeliverables Characteristic Subcharacteristic Attributes

Target ActualFitness satisfaction yes yesCompleteness coverage 1 1Unambiguity uniformity 0 -

Functionality

consistence 0 0time 4 [hrs] 20 [min]Usability Understandability

complexity 1 [MH/objective] 0,1[MH/objective]

effort 16 [MH] 6 [MH]

Specification of tools to implant

Costtime 5 [days] 7 [days]

Fitness satisfaction yes Yesomissions 0 0Completenesscoverage 1 1uniformity 0 -

Functionality

Unambiguityconsistence 0 2effort 20 [MH] 14 [MH]Costtime 5 [days] 14 [days]coupling 0 2

Preliminary tool version

Testability Modularitycohesion 0 0

-: it was not possible to measure the attribute

Page 16: Controlling Software Process Improvement Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile

Preliminary findings

Use of SQUID adaptation motivated formalization and stronger commitment for implantation process

Defining target values made expectations more realistic

Generic models proposed for SQUID adaptation were a good starting point

Most target values were reached Some measurements were hard/impossible to

collect

Page 17: Controlling Software Process Improvement Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile

Projections

Proposed tools and measurement-based approach to manage their implantation appears interesting to close the gap diagnosis/planning - action

SQUID is flexible enough to manage the quality of developing any product

Adaptation of SQUID - a promising framework for the tool implantation context

Generic models and measurement proposed are subject to review/improvement

Preliminary results are encouraging - need to extend the application to other scenarios