ISSN 1566-6379

First published
in 2003

   


   

Paper 2 - Issue 2

Home Papers in this Issue Previous Issues Site Map

    .

Home
About the Journal
Scope
Editorial Board
Submission Guidelines
Call for Papers

 

For information on the European Conference on IT Evaluation, click here

Downloadable documents on this site require Adobe Acrobat Reader (free download here)

Software Process Evaluation: Experience Report.
Aileen Cater-Steel
, Department of Information Systems, Faculty of Business , University of Southern Queensland, Toowoomba, Australia.
caterst@usq.edu.au

1.   Introduction

Software Engineering Australia (SEA) is a not-for-profit association, funded under grants and in-kind contributions from government, universities and the private sector.  Its aim is to harness Australian and international expertise and resources to deliver services that foster software engineering excellence in Australia.  In 1997, the Minister for Industry, Science and Tourism commissioned a report by the Information Industries Taskforce.  One of the report recommendations was to support the collection and dissemination of improved industry statistics and undertake regular benchmarking.  Consequently, as part of the National Industry Improvement Project, SEA Qld and the Software Quality Institute (SQI) undertook a survey in 1999 to evaluate the level of adoption of best practice by software developers in Queensland. This paper explains how the survey evaluated the software processes in use and then describes a Process Improvement Program undertaken to measure the capability of software developers.

The first part of this paper explains the background and aims of the study, the execution of the survey, and presents some interesting findings related to levels of adoption of best practice.  The questionnaire was adapted from the European Software Institute's (ESI) Best Practice Questionnaire and the preliminary findings from Queensland are compared with the ESI's results.

Further to the survey, many of the survey respondents were invited to participate in the Process Improvement Program, sponsored by SEA and conducted by SQI.  A total of 25 organisations accepted the invitation.  Based on the Software Process Improvement and Capability dEtermination (SPICE) standard ISO15504, an evaluation tool was developed and applied to enable rapid assessments of software organisations to be performed. The second part of the paper describes this evaluation tool and the method developed to assess the capability of these organisations.

2. Background

The Australian software industry makes a significant contribution to the Australian economy. In the 1995-96 financial year, income from software consultancy and maintenance services, and packaged software development totalled over $3 billion Australia-wide, with 9,673 businesses employing about 55,000 persons (ABS 1997a).  The software industry is also one of the fastest growing industries in Australia, growing at a rate of 15 per cent per annum (BSA 1998).

In formulating national policies and programs for the industry, it must be remembered that the Australian computer services industry is dominated by very small businesses - 88 percent employ less than five persons (ABS 1997b).  A similar situation exists in the USA - Fayad et al. (2000) report 65 percent of data processing companies have less than five employees.  This presents a challenge in terms of determining the current practices of industry participants, and in devising improvement initiatives which are feasible for these very small organisations.

In recent years, concern has been expressed about the need for the Australian Computer Services industry to achieve global competitiveness (Goldsworthy 1997, McKerlie 1996).  Software process improvement is recognised as having the potential to improve competitiveness by increasing productivity; reducing costs, defect and rework; and improving time to market and customer satisfaction (El Emam & Briand 1997).

The survey, which forms part of the National Industry Improvement Program, was conducted by SEA Queensland and the Software Quality Institute (SQI) of Griffith University.  The aim of the survey was to determine to what extent software developers are using best practice techniques.  The survey was conducted initially in Queensland, is currently being administered in Western Australia, and is planned to be used in all remaining Australian states.

A best practice is defined as "a management practice that is widely recognised as excellent and is recommended by most practitioners and experts in the field" (ESI 1999).  The European Software Institute (ESI) survey instrument has five sections:

·        organisational issues (8 questions) addressing project management, change control, training programmes for managers;

·        standards and processes (13 questions) covering formal assessment of benefits and risks, management reviews, control of subcontractors, independent audits, coding standards, formal handovers, test planning;

·        metrics (8 questions) such as records of actual and estimated resources, error sources, test efficiency, computer performance, project tracking;

·        control of the development process (6 questions) for example accountability for estimates and schedules, requirements management, control of code and specification changes, regression testing;

·        tools and technology (7 questions) for instance use of design notations, automated testing tools, prototyping, data dictionary, project management tools.

The ESI questionnaire was developed in 1994 by an independent organisation for the European Commission (Dutta et al. 1998).  Previous research in software process improvement and popular models such as SEI's Capability Maturity Model, Bootstrap and SPICE influenced the development of the questionnaire (Dutta & Van Wassenhove 1997).  Since 1995, the questionnaire has been distributed annually by the ESI as part of the call for proposals under the European Software and Systems Initiative.  Respondents are explicitly informed that the questionnaire is independent of the proposal review process (Dutta  et al. 1999).

3. Survey Methodology

The unit of analysis was Queensland organisations undertaking software development.  The target population was all organisations in Queensland which develop software for sale (custom and commercial off-the-shelf developers) and in-house software developers of large organisations.  Several sampling frames were used as a single list of all developers was not available.  Rather than identify a sample of the population, the aim was to reach the entire population of organisations which develop software.  As it was not possible to identify organisations undertaking software development from all organisations involved in the Information Technology and Communications industry, a list of 5,600 possible organisations was compiled, sourced from the Australia on Disk and MIS 3000 databases and contact lists from the Queensland Government's Information Industries Board and SQI. 

3.1 Survey design

To overcome constraints of time and cost, the ESI was approached for permission to customise and use the ESI questionnaire.  Permission was granted on the condition that minimal changes were made, and that the Australian results would be made available to ESI for comparison with the European data. During the pretest, concerns were raised about the section headings of the ESI questionnaire.  It was decided to arrange the questions in more of a lifecycle sequence so that organisations with very few developers would feel less threatened by the survey format, and thus respond more readily.  The new headings used were Requirements and Design (6 questions); Code and Test (13 questions); Configuration Management (5 questions); Estimates and Schedules (9 questions); and Project Management and Training (10 questions).

The format of the questionnaire was changed to appear more compact, and some questions were split to reduce ambiguity.  Two additional questions were included in the body of the questionnaire to provide information relating to the use of programming languages and development tools.  To further customise the instrument to local conventions, the ANZSIC list of industrial sectors was used in place of the European sector breakdown.

3.2 Data collection and analysis

A total of 5,600 survey forms were mailed in January 1999 with a cover letter and reply-paid envelope.  As expected, many of the organisations did not develop software and more responses were returned from non-developers (354) than developers (209).

Table 1. Breakdown of responses by type

Response Type

N

Valid Responses from software developers

209

Invalid responses from developers

3

Responses from non-developers

354

Undeliverable - correct address not found

408

Total returned

974

A web site was created to enable data entry.  Microsoft Excel and SPSS were used to provide descriptive statistics, to assess normality, and to calculate correlations.

4. Survey Findings

4.1 Primary involvement in software industry

It was recognised that some organisations may have multiple roles in the software industry.  For example, most large organisations develop and use in-house systems as well as purchasing 3rd party software.  Also, many software development companies produce off-the-shelf packages as well as providing custom-built systems to clients.  The survey included a question to determine the primary involvement of organisations in the software industry.  Although the question was worded to encourage respondents to select only one option as their primary involvement, the results (in table 2) show many respondents selected more than one option.

Table 2. Responses to primary involvement question

Primary Involvement in Industry

N

Software user - developed in-house

54

Software user - developed by a 3rd party

44

Software developer producing off-the-shelf systems

88

Software developer producing custom software systems

128

Research and Development Institute or University

10

Interest Group eg professional society or standards body

2

Other

5

Total options selected

Average options selected per respondent

331

1.6

4.2 Adoption levels

For each response, the level of adoption of the best practices was calculated.  The number of "yes" responses to the 43 best practice questions were summed and a percentage calculated based on the proportion of "yes" responses to "yes" and "no" responses.  Blank and "not applicable" responses were ignored in this calculation.  Of the 209 valid responses, four provided demographic details but left the best practice section blank.  These four responses were excluded from the analysis of adoption of best practice.

The mean adoption level of 47.5 percent with a standard deviation of 21 percent is slightly lower than the average reported by the ESI from its 1997 questionnaire (51% s.d.21%) (ESI 1999).  Table 3 compares the leaders and laggards in best practice adoption from the ESI surveys 1995-1997.

Table 3. European Results: Leaders and Laggards

Year

Highest adoption

Lowest Adoption

Country

Adoption Level

Country

Adoption Level

1995a

425 responses

United Kingdom

29 responses

65%

Sweden

8 responses

38%

1996b

457 responses

France

20 responses

68%

Spain

65 responses

37%

1997c

397 responses

France

18 responses

65%

Sweden

13 responses

32%

(Source: a. Dutta et al. 1998; b. ESI 1996b; c. Dutta et al. 1999)

From the survey responses, a histogram of adoption levels was produced, and rather than the expected normal distribution, a bi-modal  distribution occurred.

4.3 Adoption levels by size

Two questions relating to size were included in the survey.  The first question related to the total number of employees in the organisation and the second to the number of employees involved in software development or maintenance.  On the basis of the total number of staff, organisations were scaled as small (less than ten staff); medium (10 - 500 staff); and large (more than 500 staff).  As can be seen in table 4, adoption of best practice appears to be associated with organisation size.  Large organisations exhibited much greater adoption than medium organisations, which in turn out-performed small companies.

Table 4. Average adoption levels by organisation size

Organisation Size

N

Average Adoption of Best Practice Level

Small: less than 10 staff

129

44.0%

Medium: 10-500 staff

65

52.9%

Large: more than 500 staff

11

56.4%

Looking at size from the perspective of the number of software developers engaged in programming or maintenance, a stronger pattern emerges.  Organisations with fewer developers reported much lower average adoption of best practice compared to organisations with a large number of software developers, shown in table 5.

Table 5. Average adoption by development team size

Size of Development Team

N

Average Adoption of Best Practice Level

Small: 0-5 developers

139

43.0%

Medium:  5-50 developers

58

54.9%

Large: 50-500 developers

8

71.7%

The ESI survey conducted in 1995 also found that the size of the software organisation influences best practice levels as shown in table 6.

Table 6. ESI Results: Size of development team and Best Practice Level

Number of Software Employees

% of Best Practices Followed

<10

42%

10-25

45%

25-50

47%

50-100

50%

100-500

58%

>500

59%

(Source: ESI 1996a)

4.4 Assessing normality

Prior to undertaking any correlation analysis to statistically prove the association between variables such as organisation size and adoption of best practice, the characteristics of the data were explored to ensure the correct statistical approach was selected.  The assumption of normality is a prerequisite for many inferential statistical techniques.

In this case, it was found that the distribution of the variable adoption level was not distributed normally.  Smaller groups of responses, based on organisation size, development team size and involvement in the software industry were checked for normal distribution. The complimentary groups of commercial off-the-shelf (COTS) and non-COTS developers were the only subsets of responses which exhibit a normal distribution for the variable adoption level, and therefore represent difference populations.  (Full details of the statistical analysis are available in Cater-Steel 2000).

A significant positive relationship was found between adoption levels of best practice and the size of the development team for both COTS and non-COTS groups (COTS: r=.3016, p<.05; non-COTS: r=.2658, p<.05).  However, the relationship between adoption levels and size of the organisation was not statistically confirmed for either COTS or non-COTS developers.

4.5 Adoption levels by primary involvement

In comparing adoption levels of COTS and custom software developers, highest adoption of best practice was reported from organisations which develop COTS software (see table 7).  According to the CEO of SEA Qld at that time, Phil Scanlan, the large number of developers (88) who saw their primary role as COTS developers reflects the large concentration of vertical niche market package developers in the Brisbane area.

Table 7. Comparison of adoption levels for COTS  and custom developers

Developer Type

N

Average Adoption Level

Develop COTS software

88

51.8%

Do not develop COTS software

117

44.3%

 

The large difference in adoption levels between the two groups of developers begs the question: Are there specific practices which have been more readily adopted by one group compared to the other?   When adoption levels were analysed on a question by question basis, it was found that for the following five practices, COTS developers reported adoption levels of at least 17 percent higher than the non-COTS developers:

·        maintain records from which all current versions and variants of software systems and their components can be quickly and accurately reconstructed in the development environment;

·        establish a change control function for each software project;

·        log, track and analyse post-implementation software problem reports;

·        apply common coding standards to each software project; and

·        use software tools used for tracking and reporting the status of the software /subroutines in the software development library.

In fact, there was only one practice where non-COTS developers exhibited higher adoption: the use of automated testing tools.

The ESI questionnaire arranges the practices under five headings: organisational issues; standards and processes; metrics; control of the development process; and tools and technology.  As can be seen from the data provided in table 8, COTS developers exhibit much higher adoption than non-COTS organisations for every section of practices.

Table 8. Comparison of adoption by ESI sections

Software Engineering Practice Section

Average Adoption Levels

Non-COTS

COTS

Difference

Organisational Issues

44.11

53.23

9.12

Standards and Processes

48.67

53.52

4.85

Metrics

30.73

41.92

11.19

Control of Development Process

47.19

51.91

4.72

Tools and Technology

39.84

44.93

5.10

To gain an understanding of which software engineering practices are most used in Queensland, the highest scoring questions were collated and ranked for COTS and non-COTS developers (refer to table 9).

Table 9. Most used software engineering practices

COTS Rank

Practice

Non-COTS Rank

1

Each software project has a nominated project manager

1

2 Common coding standards are applied to each project

6

3 Appropriate level of user/customer/ marketing input is made throughout the project

2

4 Post-implementation problems are logged and their resolution tracked and analysed

7

5 Independent testing is conducted by users under SQA

3

Three of the most popular practices relate to coding and testing, the other two involve requirements and project management.  This is not surprising, as the importance of these practices has been recognised in the industry press and stressed in information systems and software engineering training courses for some time.

5. Process Improvement Program

During the last six months of 1999, 25 organisations accepted the invitation from SQI to participate in the Process Improvement Program.  This program was funded by SEA (Qld) for SEA members and was conducted at no cost to participants.  Researchers at SQI developed a procedure to enable Rapid Assessments for Process Improvement for software Development (RAPID) (SQI 1999a).  The RAPID method is based on ISO/IEC 15504 (SPICE) standard and designed to enable assessments to be performed in one day (Rout et al. 2000; SQI 1999b).

5.1 Evaluation Instrument

The ISO 15504 standard sketches out a roadmap for the implementation of best practice in software engineering by defining 40 processes, divided into five categories: customer-supplier (10); engineering (9); support (8); management (4); and organisation (9).  The process capability of each defined process evaluates to what extent the process achieves its defined purpose and objectives (SPIRE 1998 p57). Capability is measured in levels from incomplete (level 0) to optimising (level 5) as shown in table 10.  These capability levels represent milestones along the road to software process improvement.

Table 10. Capability Levels

Capability Level

ISO 15504 SPICE Capability Levels Software Process Improvement in Regional Europe (SPIRE) Level Descriptions

0

Incomplete Chaos reigns

1

Performed Do your own thing

2

Managed Teams rule

3

Established The organisation learns

4

Predictable Management by number

5

Optimising Optimising

(Source: ISO/IEC TR 15504 and SPIRE 1998)

As the RAPID assessments were restricted to one day each, rather than use the 40 processes defined in ISO 15504, only eight processes were evaluated, as listed in table 11.

Table 11. Processes and Process Categories.

Process

Process Category

ISO 15504 ID

Requirements Gathering

Customer-Supplier

Cus.3

Software development

Engineering

Eng.1

Project Management

Management

Man.2

Configuration Management

Support

Sup.2

Quality Assurance Support Sup.3

Problem Resolution

Support

Sup.8

Risk Management

Management

Man.4

Process Establishment

Organisation

Org.2.1

Although ISO-15504 provides rating levels from 0 (incomplete) to 5 (optimising), for the RAPID assessments, only questions relating to levels 1 (performed), level 2 (managed) and level 3 (established) were included.  Also, data were collected by interviews and discussion rather than examining actual work products such as project plans.  Each evaluation was undertaken by two trained SPICE assessors, one in the role of team leader and the other as support assessor.  A set of procedures and templates were prepared covering the demographic questionnaire, assessment plan, assessment instrument, assessment report, feedback form, follow-up meeting and final report.

5.2 Evaluation Procedure

Firstly, the assessment team leader contacted the sponsor of the organisation, and sent the demographic questionnaire to the sponsor for completion.  Using the demographic information, a plan was compiled jointly by the team leader and the support assessor, and agreed to by the sponsor.  On-site interviews were conducted by the team leader and support assessor with key people involved in managing the software development effort of the organisation.  For each of the eight processes examined, the assessors followed the script of the assessment instrument to determine the extent to which the process attributes have been achieved using a four point scale: not achieved, partially achieved, largely achieved and fully achieved.  The capability level (0,1, 2 or 3) for each process was then determined, based on the achievement of the process attributes. 

A draft report was prepared by the assessment team leader and support assessor and forwarded to the sponsor at the organisation to confirm that the assessment team had accurately recorded the information discussed.  Any changes suggested by the sponsor were discussed and then the assessment report was submitted to the organisation sponsor, SEA (Qld) and SQI.  A feedback form was sent with the assessment report to the sponsor to solicit comments regarding the conduct and value of the assessment.  Six months after the assessment, a half-day follow-up meeting was planned and the final report prepared for the organisation sponsor, SEA (Qld) and SQI.

5.3 Results from Process Improvement Program

To date, 25 assessments have been conducted with 21 assessment reports submitted.  A few follow-up meetings and final reports have been completed, but many organisations requested the follow-up meeting be postponed as all their resources were absorbed implementing the new Australian Goods and Services Tax for the current financial year.

All except one of the 25 organisations were located in Brisbane.  Based on the 21 assessments reports completed, there were four small organisations (less than five developers), 14 medium size (from five to 50 developers), and three large organisations (greater than 50 developers).

Figure 1. Proportions of Capability Level Ratings by Process