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
|
Main source of income |
Education |
Government |
Private Sector |
Other |
|
Number of respondents |
3 |
2 |
18 |
1 |
|
Employment status |
Contractor |
Educator |
Employee |
Researcher |
Student |
Un-employed |
|
Number of respondents |
3 |
2 |
15 |
2 |
1 |
1 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |