Controlling Software Process Improvement
Marcello ViscontiDepartamento 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)
State of the practice (CMM)
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?
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
Great difficulty to move past diagnosis/planning into real action - there is a need to close this gap
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
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)
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)
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)
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
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
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)
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)
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
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
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