The University of Queensland Homepage
School of ITEE ITEE Main Website

 2006 Software Engineering Practices Survey - Summary of Results

This page provides summary results for the 2006 Software Engineering Practices Survey. Thank you to all 448 software engineers who participated.

To cite: Hyland-Wood, D. and Carrington, D. (2007) 2006 Software Engineering Practices Survey Summary of Results, http://www.itee.uq.edu.au/~dwood/2006SEPSurveyResults.html, although we would prefer that you cite the forthcoming article ;)

Contents

  1. Overview
  2. Demographics
  3. Geographics
  4. Methodologies
  5. Metrics
  6. Requirements
  7. Testing
  8. Environment
  9. Comments

Overview

Survey Title:2006 Software Engineering Practices Survey
Purpose:Determine popular tools, techniques and practices used by practicing software engineers.
Collection Approach:Survey data was collected over the World Wide Web between 6 October and 6 November 2006. Respondents were identified by a "snowball" process. Direct email was sent to 139 software engineers personally known to me and also posted a link to the survey on my blog. Each invitee was asked to pass the invitation on to others.
Respondents:448

Demographics

Education
High School44
Associate6
3 year Bachelor50
4 year Bachelor191
Graduate Certificate12
Masters111
Post Masters3
Ph.D.30
Professional Doctorate1
Total:448
Employment by Organizational Type
Educational51
Government19
Large Company115
Medium Company105
Small Company86
Very Small Company41
Self Employed29
Unreported2
Total:448

Years of Experience
<16
111
213
318
421
525
640
729
829
923
10-1282
13-1531
16-2049
21-2537
>2523
not reported11
Total:448

Number with industry certifications: 103 (23%)

Industry Certifications
sun55
microsoft31
ibm14
oracle5
cisco4
novell3
Scrum3
Brain Bench2
apple2
ieee2
pmi2
redhat2
cissp2
bea1
zend1
peoplesoft1
advagato.org1
citrix1
kepner-tregoe1
rational1
jack1
lpic1
genesys1
cips0
hp0
iccp0
juniper0
mysql0
nortel0
omg0
symantec0
Total: 137

Number of current managers: 187 (42%)
NB: Some reported having managerial experience, but were not currently managers (8).

Years of Managerial Experience
<124
124
233
326
49
519
612
77
86
95
10-1215
13-156
16-207
21-252
>250
Total:195

Previously ISO 9000/9001 certified? 81
Currently ISO 9000/9001 certified? 80

ISO 9000/9001 by Organizational Type
Educational7
Government5
Large Company32
Medium Company25
Small Company10
Very Small Company0
Self Employed0
Unreported1
Total:80

Number of organizations developing software primarily for their own internal use: 152 (34%)

Number of organizations developing software for commercial sale: 206 (46%)

Number of organizations producing software for other organizations (e.g. outsourcing, software services, contracting, consulting): 234 (52%)

Number contributing to Open Source Software (OSS): 202 (45%)

Employers doing OSS
Large Company51
Educational35
Medium Company34
Small Company33
Very Small Company23
Self Employed20
Government6
Unreported0
Total:202
US Employers doing OSS
Large Company44
Small Company17
Educational15
Medium Company14
Very Small Company11
Self Employed10
Government4
Unreported0
Total:115
Non-US Employers doing OSS
Educational20
Very Small Company20
Small Company16
Self Employed12
Large Company10
Medium Company7
Government2
Unreported0
Total:87

We were quite surprised to discover a difference in the demographics of Open Source Software creation. Large companies contribute more to OSS in the US than in the rest of the world.

Educational distribution across organizational types contained both interesting and expected information. We might guess that educational institutions hire a greater number of Ph.D.s, and perhaps even that government agencies do so, too. However, would we suspect to find no masters degrees in government agencies?

Geographics

Respondents came from every inhabited continent. There were expected clusterings in the US, Europe and Australia, although this may very well be due to the snowball sample taken.

CountryCustomer HQDelivery to
United States148147
Australia2727
United Kingdom1010
Sweden87
Norway87
Denmark74
Canada66
All Others4543
CountrySecondary Market
Internet25
United Kingdom19
United States13
Germany9
Australia8
Canada7
Other E.U.14
All Others30

The following information is shown in Google Maps:

Methodologies

The choice of methodology remains a hot topic. A large majority of respondents are using multiple methodologies at a time. Similar majorities appear to tend toward the newer methodologies, such as Test Driven Development, Extreme Programming (XP) and other Agile methodologies.

Using a single methodology: 115 (25%)

Using multiple methodologies: 317 (71%)

Using no methodologies: 16 (4%)

Using modern methodologies (TDD|Agile|XP): 305 (68%)

Not using modern methodologies (TDD|Agile|XP): 127 (28%)

Methodologiesfamiliarusedusing
TDD354260192
Agile311223202
XP36318996
Flowcharting26516337
RAD/Spiral RAD20510043
Other than listed353022
None3616
Subtotal1501941586
 
Structured programming25117046
Rational Unified Process (RUP)22411824
Top-down programming24614630
Waterfall24512086
Agile Unified Process (AUP)1103513
Structured Systems Analysis and Design Methodology (SSADM)66232
Dynamic Systems Development Method2781
Enterprise Unified Process (EUP)3081
Virtual finite state machine (VFSM)2181
Information Engineering (IE/IEM)2480
Jackson Structured Programming33140
Praxis820
 
Total of bottom 121285660204
Total28211631812
 
OOP
NB: OOP data removed - confusing the issue
39930979

Metrics

A substantial portion of respondents (37%) reported using no metrics whatsoever. Of those that did, the most popular metrics appear to be the simplest, especially code coverage and source lines of code.

Metricsfamiliarusedusing
None  181
Code Coverage315219135
Source Lines of Code355271124
Coupling24413767
Cohesion20112064
Cyclomatic Complexity19312853
Other than listed131329
Subtotal1321888653
 
Bugs per Line of Code2278845
Order of Growth (Big O)21312944
Number of classes and interfaces20010440
Other111123
Function Point Analysis1695516
Martin Metrics392816
Number of lines of customer requirements28137
 
Total of remainder876417168
Total21971305821

Requirements

Who gathers requirements?
Technical Staff17939.96%
Product Management14632.59%
Other57
Customer47
Sales Staff15
Not Gathered4
Total:448

How are requirements tracked?
Document16737.28%
Issues Product7817.41%
Other50
Not Tracked45
Requirements Product39
Spreadsheet34
Custom System30
Presentation Software5
Total:448

Are requirements associated with individual software features? 329 (73)%

Are requirements associated with acceptance tests? 198 (44%)

Are requirements associated with integration tests? 156 (35%)

Are requirements associated with unit tests? 161 (36%)

How are requirements documented?
requirementsDocument288
developerDocs193
testCode147
userDocument143
testDescriptions83
storyCards60
other44
null13
CRCCards5
Total:976

Testing

Comments: Programmers are performing more unit, integration, code coverage and database tests than they are required to. However, they are required to perform more acceptance testing than they do.

TestsRequiredCreated
unit269358
integration240256
code coverage92111
acceptance237172
database6068
other3423

Environment

Eclipse topped the list of favorite development tools. It is perhaps surprising that the venerable vi took a strong second place. Java is by far the most popular language.

Development Tools
Eclipse206
vi179
Visual Studio133
emacs96
Other text editor84
Intellij Idea34
XCode22
NetBeans19
TextMate16
Delphi9
JBuilder8
C++ Builder7
Total:813

Languages
Java327
SQL204
Javascript182
Ruby164
Bash/Shell131
C++128
C#111
C105
Perl94
XSLT88
Python84
Xpath84
PHP68
Basic31
Xquery31
AspectJ15
Objective C14
Matlab9
Tcl8
Pascal8
Ocaml4
Lisp4
Fortran3
Cobol3
Prolog3
Ada2
Other Aspect2
Haskell2
Lua2
Rebol2
Smalltalk2
Peoplesoft2
M204 User Language2
IDL2
RPG2
AspectC++1
In-house1
WSDL1
Octave1
Eiffel1
Scheme1
Erlang1
Forth1
SQR1
Forte1
Siebel1
AWK1
SAS1
JCL1
REXX1
M41
Scheme1
X++1
Visual Objects1
SPARQL1
Lotus Notes1
R1
PXSL1
Assembler1
Visual Foxpro1
ColdFusion1
2E1
webMethods Flow1
D0
Total:1951

Revision Control
Subversion241
CVS178
Other93
SourceSafe66
ClearCase30
PVCS10
SCCS7
None7
Bonsai1
SCM0
Total:633

Number of respondents running a continuous build system: 226 (50%)

Build System
ant210
other144
make118
none66
maven61
none52
null14

A Selection of Comments

The following is a selection of free-form comments left by respondents. They provide an interesting look into the daily concerns of software engineers:

  • "This seems to be primarily focused on developers who create packaged software, but these days most developers are working on internet sites and services."
  • "We're a software driven company run by older programmers. the culture is of the old hacker type, rather than the new hacker type. they're fixed in anti-methods and slow to adopt anything new."
  • "We're still changing our methodolgy. For one thing, we'd like to move towards something like Maven, or some other automated nightly build process. We just haven't had the time to do so."
  • "I have no idea whether we are ISO 9000/9001 certified."
  • "We've got a long way to go before I'm happy with how we do things here where I work!"