The tables below show the raw results from the online questionnaire administered as part of my initial MSc research. There were a total of 24 responses received, and the administration of the questionnaire (as an HTML form) required all questions to be answered by each respondent (with appropriate default answers as the initial state of the form).

The first three questions attempt to categorize the demographics of the respondent group within the software engineering community in terms of years of employment status and sector and years of experience. The next three tables categorize the respondents in terms of their work responsibilities, language and development methodology usage and application area. The rest of the tables show the percentages of respondents who answered various questions at each point of an agreement scale (1=disagree strongly, 2=disagree, 3=neutral, 4=agree, 5=agree strongly), and also the mean, standard deviation and variance of the responses (weighted using the numeric scale indicated).

This data is published here with the agreement of my supervisor. Interpretive narrative on these tables will be published as part of my final PhD thesis, when it has been submitted and examined. Some observations on the data appear as a part of the supplementary research proposal relating to the upgrade of the project from MSc to PhD status.

Tim Littlefair, October 1999

Table 1: Source of income

 

Main source of income

Education

Government

Private Sector

Other

Number of respondents

3

2

18

1

Table 2: Employment status

Employment status

Contractor

Educator

Employee

Researcher

Student

Un-employed

Number of respondents

3

2

15

2

1

1

Table 3: Length of experience

Years of employment in software development

0 to

1.99

2 to

4.99

5 to

9.99

10 to

14.99

15 or

more

not

given

Number of respondents

2

1

7

5

8

1

Table 4: Responsibilities

Which of the following activities are a sigificant part of your responsibilities

%

Analysis

62.5

Specification

50.0

Design

70.8

Programming

75.0

User documentation

20.8

Technical documentation

33.3

Maintenance

45.8

Testing

58.3

Design Reviews

50.0

Code Reviews

75.0

Document Reviews

25.0

Quality Assurance

41.7

Estimate or Tender Preparation

25.0

Project Management (Commercial)

16.7

Project Supervision (Technical)

41.7

Staff Appraisal

20.8

Table 5: Languages, techniques and methodologies

Which of the following languages/techniques/methodologies have you used in the

last two years

%

C++

75.0

C

66.7

Ada

25.0

Java

54.2

Pascal/Delphi

20.8

Eiffel

4.2

Cobol

4.2

Fortran

4.2

Booch Methodology

29.2

Object Modelling Technique

12.5

Unified Methodology

8.3

Use Case Modelling

12.5

Coad/Yourdon Methodology

12.5

Other OO Methodology

12.5

Design Patterns

25.0

Formal Methods

33.3

 

Table 6: Application areas and platforms

Which of the following application areas and platforms have you worked in over

the last two years

%

Financial Applications

20.8

Online Transaction Processing

8.3

Other Database Applications

41.7

Realtime/ Control/ Embedded

50.0

Operating Systems

20.8

Development Tools

41.7

Productivity Tools

20.8

Client/Server Applications

41.7

DOS/Windows

62.5

OS/2

12.5

Macintosh

4.2

Unix and similar

70.8

VMS

4.2

IBM Mainframe

0.0

Other Mainframe

0.0

Other Microcomputer

8.3

 

Table 1: Preferred ways of working

Opinions on the respondent’s preferred ways of working

1

2

3

4

5

MEAN

SD

VAR

A1

I like to choose my own tools

0.0

8.3

8.3

58.3

25.0

4.00

0.83

0.70

A2

I prefer working in a team to working alone

0.0

12.5

45.8

29.2

12.5

3.42

0.88

0.78

A3

I would like to spend more time working on documentation

4.2

37.5

33.3

25.0

0.0

2.79

0.88

0.78

A4

I don’t mind depending on other people

0.0

12.5

41.7

37.5

8.3

3.42

0.83

0.69

A5

I like learning new skills better than exercising old ones

0.0

4.2

29.2

50.0

16.7

3.79

0.78

0.61

 

 

Table 2: Professional and social environment

Opinions on the respondent’s

Professional and social environment

1

2

3

4

5

MEAN

SD

VAR

B1

My workplace encourages developers to choose their own tools

4.2

16.7

29.2

33.3

16.7

3.42

1.10

1.21

B2

My workplace values talent higher than conformity

0.0

16.7

16.7

50.0

16.7

3.67

0.96

0.93

B3

My workplace gives me sufficient freedom

0.0

16.7

16.7

41.7

25.0

3.75

1.03

1.07

B4

My workplace gives some of my colleagues too much freedom

8.3

29.2

54.2

4.2

4.2

2.67

0.87

0.75

B5

My workplace applies (technical) review techniques to good effect

16.7

20.8

29.2

29.2

4.2

2.83

1.17

1.36

 

 

Table 3: General metrics issues

Opinions on metrics and metrics issues (General Issues)

1

2

3

4

5

MEAN

SD

VAR

C1

I use software code metrics to evaluate software design

12.5

20.8

33.3

33.3

0.0

2.88

1.03

1.07

C2

I use software code metrics to evaluate implementations

4.2

8.3

29.2

50.0

8.3

3.50

0.93

0.87

C3

I use software code metrics on my own code

0.0

8.3

20.8

54.2

16.7

3.79

0.83

0.69

C4

I use software code metrics on code written by my current peers

4.2

16.7

37.5

29.2

12.5

3.29

1.04

1.09

C5

I use software code metrics on code written by my current subordinates

8.3

16.7

45.8

25.0

4.2

3.00

0.98

0.96

C6

I use software code metrics on code written by someone else which I now maintain

8.3

12.5

41.7

20.8

16.7

3.25

1.15

1.33

C7

I use software code metrics to identify areas for review

0.0

8.3

33.3

45.8

12.5

3.63

0.82

0.68

C8

I use software code metrics as an input to personnel appraisal processes

16.7

29.2

37.5

12.5

4.2

2.58

1.06

1.12

C9

I use software code metrics to help estimate effort on future projects

0.0

25.0

25.0

29.2

20.8

3.46

1.10

1.22

C10

I trust my management not to make inappropriate use of software code metrics

8.3

16.7

37.5

20.8

16.7

3.21

1.18

1.39

 

 

 

Table 4: Issues relating to procedural metrics

Opinions on metrics and metrics issues (Procedural Metrics)

1

2

3

4

5

MEAN

SD

VAR

D1

I find LOC useful as an intuitive guide to the scale of a piece of work

4.2

16.7

8.3

58.3

12.5

3.58

1.06

1.12

D2

I find LOC per procedure or module useful as a predictor of inadequate decomposition

8.3

0.0

29.2

54.2

8.3

3.54

0.98

0.95

D3

I find MVG useful as a predictor of testing difficulty

4.2

4.2

16.7

75.0

0.0

3.63

0.77

0.59

D4

I find MVG per procedure or module useful as a predictor of likelihood of presence of defects

4.2

8.3

37.5

45.8

4.2

3.38

0.88

0.77

D5

I find ratios between COM and MVG useful as predictors of inadequate commenting

4.2

12.5

41.7

37.5

4.2

3.25

0.90

0.80

 

 

Table 5: Issues relating to structural metrics

Opinions on metrics and metrics issues

(Structural Metrics)

1

2

3

4

5

MEAN

SD

VAR

E1

I have an intuitive grasp of the meaning of FI and FO

8.3

20.8

29.2

25.0

16.7

3.21

1.22

1.48

E2

I find FI a useful measure of the width of re-use of a module

4.2

16.7

45.8

33.3

0.0

3.08

0.83

0.69

E3

I have an intuitive grasp of the meaning of IF4

8.3

20.8

50.0

12.5

8.3

2.92

1.02

1.04

E4

I find IF4 a useful measure of the contribution of a module to structural risk for the overall project

0.0

4.2

79.2

12.5

4.2

3.17

0.56

0.32

E5

I believe that calculation of FI, FO and IF4 from a modules interface only gives enough information to be useful.

0.0

12.5

79.2

8.3

0.0

2.96

0.46

0.22

 

Table 6: Issues relating to object-oriented metrics

Opinions on metrics and metrics issues

(Object-Oriented Metrics)

1

2

3

4

5

MEAN

SD

VAR

F1

I find WMC1 useful as a measure of class complexity

0.0

12.5

50.0

33.3

4.2

3.29

0.75

0.56

F2

I find the NOC useful as a measure of the extent of re-use of a class

0.0

4.2

54.2

41.7

0.0

3.38

0.58

0.33

F3

I find DIT useful as a measure of the difficulty of predicting behaviour of a class

4.2

4.2

62.5

29.2

0.0

3.17

0.70

0.49

F4

I find CBO useful as a measure of the coupling of a class

4.2

0.0

62.5

25.0

8.3

3.33

0.82

0.67

F5

I find RFC a useful predictor of the complexity of the behaviour of a class

0.0

0.0

87.5

12.5

0.0

3.13

0.34

0.11

 

 

Table 7: Issues relating to features of CCCC

Opinions on metrics and metrics issues

(CCCC Features)

1

2

3

4

5

MEAN

SD

VAR

G1

I have an intuitive grasp of the meaning of the IF4v measure

0.0

20.8

62.5

16.7

0.0

2.96

0.62

0.39

G2

I find IF4v a useful predictor of a module’s contribution to interface integrity problems for a project

0.0

4.2

87.5

8.3

0.0

3.04

0.36

0.13

G3

I have an intuitive grasp of the meaning of the IF4c measure

0.0

25.0

62.5

12.5

0.0

2.88

0.61

0.38

G4

I find IF4c a useful predictor of a module’s contribution to buildability problems for a project

0.0

4.2

91.7

4.2

0.0

3.00

0.29

0.09

G5

I find WMCv a useful predictor of a module’s functional importance within a project

0.0

4.2

91.7

4.2

0.0

3.00

0.29

0.09

G6

I find colour highlighting of outlying metric values in the report generated by CCCC useful

0.0

0.0

54.2

37.5

8.3

3.54

0.66

0.43

G7

I find the ability to customise the thresholds at which colour highlighting applies useful

0.0

0.0

54.2

29.2

16.7

3.63

0.77

0.59

G8

I find the ability to generate a single report covering a project and all of its modules useful

0.0

0.0

45.8

25.0

29.2

3.83

0.87

0.75

G9

I find the ability to generate a summary report for a project with separate detailed reports on each module useful

0.0

0.0

50.0

20.8

29.2

3.79

0.88

0.78

G10

I find the ability to traverse HTML links from the tables generated by CCCC to the source code relating to the current entries in those tables useful

0.0

0.0

54.2

20.8

25.0

3.71

0.86

0.74