The University of Queensland Homepage
School of ITEE ITEE Main Website

 Software Engineering Practices Survey

The 2006 Software Engineering Practices Survey is now closed. Data was collected between 6 October and 6 November 2006. Summary data is now available. Thank you to all 448 software engineers who participated.

Personal and Organizational Information

All information submitted on this form is anonymous. However, it would help our study if you could provide some information about yourself and the organization you work for.

1. Are you a practicing software engineer or programmer? yes no
If 'yes', how much software development experience do you have?

2. Do you manage others? yes no
If 'yes', how much management experience do you have?
If 'yes', how many people do you manage?

3. What is the highest degree that you hold?
If you chose 'Other', please describe:

4. Do you hold industry certifications from any of the following? Please check all that apply.
Apple
Canadian Information Processing Society
Cisco
Citrix
HP
IEEE
IBM
Institute for the Certification of Computing Professionals
Juniper Networks
Microsoft
MySQL
Nortel
Novell
Object Management Group
Oracle
Project Management Institute
Red Hat
Sun Microsystems
Symantec
Other
If you chose 'Other', please describe:

5. What type of organization do you work in?

6. Where were you born?

7. What is your country of citizenship?

8. What is your country of residence?

9. Where is your organization headquartered?

10. Does your organization make software to sell commercially? yes no

11. Does your organization produce software for other organizations? (e.g. outsourcing, software services, contracting, consulting) yes no
If 'yes':
Where is your current customer headquartered?
Where is the the software project to be delivered?
If you plan to deliver software to more than one country, please list them here, one per line:

12. Does your organization develop software primarily for its own internal use? yes no

13. Does your organization contribute to Open Source Software projects? yes no

14. Is your organization currently ISO 9000/9001 certified? yes no

15. Has your organization ever been ISO 9000/9001 certified? yes no

Methodologies

16. Which of these software development methodologies are you familiar with?
Flowcharting
Waterfall
Structured programming
Structured Systems Analysis and Design Methodology (SSADM)
Information Engineering (IE/IEM)
Top-down programming
Jackson Structured Programming
Dynamic Systems Development Method
Object-Oriented Programming (OOP)
Rational Unified Process (RUP)
Enterprise Unified Process (EUP)
Agile Unified Process (AUP)
Extreme Programming (XP)
Agile methodologies (other than XP)
Virtual finite state machine (VFSM)
Praxis
Rapid Application Development (RAD)
Spiral RAD
Test-Driven Development (TDD)
Other
If you have modified one of these, please choose the nearest one. If you are familiar with others, please list them here, one per line:

17. Which of these software development methodologies have you personally used?
Flowcharting
Waterfall
Structured programming
Structured Systems Analysis and Design Methodology (SSADM)
Information Engineering (IE/IEM)
Top-down programming
Jackson Structured Programming
Dynamic Systems Development Method
Object-Oriented Programming (OOP)
Rational Unified Process (RUP)
Enterprise Unified Process (EUP)
Agile Unified Process (AUP)
Extreme Programming (XP)
Agile methodologies (other than XP)
Virtual finite state machine (VFSM)
Praxis
Rapid Application Development (RAD)
Spiral RAD
Test-Driven Development (TDD)
Other
If you have used others, please list them here, one per line:

18. Which of these software development methodologies are you currently using?
Flowcharting
Waterfall
Structured programming
Structured Systems Analysis and Design Methodology (SSADM)
Information Engineering (IE/IEM)
Top-down programming
Jackson Structured Programming
Dynamic Systems Development Method
Object-Oriented Programming (OOP)
Rational Unified Process (RUP)
Enterprise Unified Process (EUP)
Agile Unified Process (AUP)
Extreme Programming (XP)
Agile methodologies (other than XP)
Virtual finite state machine (VFSM)
Praxis
Rapid Application Development (RAD)
Spiral RAD
Test-Driven Development (TDD)
Other
If you are currently using others, please list them here, one per line:

Please describe any modifications you are using to the methodology(ies):

Requirements

19. Who is responsible for gathering requirements for new software development projects within your organization?
If you chose 'Other', please describe:

20. How are requirements tracked within your organization?
If you chose 'Other', please describe:

21. For your current project, are requirements associated with individual software features? yes no

22. For your current project, are requirements associated with acceptance tests? yes no

23. For your current project, are requirements associated with integration tests? yes no

24. For your current project, are requirements associated with unit tests? yes no

25. How are requirements documented within your organization? (Check all that apply)
In developer documentation (e.g. comments, javadoc)
In testing code
In test description documents
On story cards
On CRC cards
In a requirements document/system
In user documentation
Other
If you chose 'Other', please describe:

Testing

26. Which kinds of tests are required by your organization?
Unit tests
Integration tests
Code coverage tests
Acceptance tests
Database tests
Other
If you chose 'Other', please describe:

27. Which kinds of tests does your team actually create?
Unit tests
Integration tests
Code coverage tests
Acceptance tests
Database tests
Other
If you chose 'Other', please describe:

28. Does your organization run a continuous build system? yes no

Metrics

29. Which of these software metrics are you familiar with?
Order of Growth ("Big O")
Source Lines of Code (SLOC)
Cyclomatic Complexity ("McCabe")
Function Point Analysis
Bugs per Line of Code
Code Coverage
Number of lines of customer requirements
Number of classes and interfaces
Software Package Metrics ("Martin Metrics")
Cohesion
Coupling
Other
If you chose 'Other', please describe:

30. Which of these software metrics have you personally used?
Order of Growth ("Big O")
Source Lines of Code (SLOC)
Cyclomatic Complexity ("McCabe")
Function Point Analysis
Bugs per Line of Code
Code Coverage
Number of lines of customer requirements
Number of classes and interfaces
Software Package Metrics ("Martin Metrics")
Cohesion
Coupling
Other
If you chose 'Other', please describe:

31. Which of these software metrics are you currently using?
Order of Growth ("Big O")
Source Lines of Code (SLOC)
Cyclomatic Complexity ("McCabe")
Function Point Analysis
Bugs per Line of Code
Code Coverage
Number of lines of customer requirements
Number of classes and interfaces
Software Package Metrics ("Martin Metrics")
Cohesion
Coupling
Other
If you chose 'Other', please describe:

Development Environment

32. Which of these software development tools are you currently using?
vi
emacs
Eclipse
Visual Studio
Delphi
C++ Builder
XCode
NetBeans
JBuilder
Other IDE
Other text editor
Other
If you chose 'Other', please describe:

33. Which of these version control systems are you currently using?
cvs
Subversion
SCM
SCCS
SourceSafe
ClearCase
Bonsai
PVCS
Other Open Source revision control system
Other commercial revision control system
None - we don't use one

34. Which of these build systems are you currently using?
Make
Maven
Ant
Other commercial build system
Other Open Source build system
None - we don't use one

35. Which of these languages are you currently using?
Java
C#
C
C++
Objective C
Ada
Basic (all variants)
D
Perl
PHP
Python
Javascript / ECMAScript
Ruby
Tcl
Bash or other Unix shells
SQL (all variants)
XPath
XQuery
XSLT
AspectJ
AspectC++
Other Aspect-oriented languages
Matlab
Other
If you chose 'Other', please list them one per line:

General Comments

36. If you would like to make any other comments, please do so here: