Use of Software Engineering in Computer Science Research

The USE CSR project is looking at the application of Software Engineering to Computer Science Research, and whether this gives tangible benefits. Software Engineering is used to refer to the body of knowledge including Analysis, Design, Software Development Life Cycle, Software Process, Software Documentation, Software Metrics, Project Management. The items in bold are covered in this survey.

Aims of the USE CSR project

While software engineering is usually considered appropriate for large projects built to standard design patterns, this project will look at their applicability to smaller research oriented projects.

Ethics

Ethics aproval has been granted for this survey by the Human Ethics Committee of Monash University. Further information about the research, how you can make complaints to the committee if there is anything you don't like about this survey and how you can contact the researcher and supervisors is provided at the end of this form (below the survey).

Time to Complete

This Questionnaire should take under 15 minutes to complete, your time on this is greatly appreciated

Questionnaire

You are strongly encouraged to complete questions preceded by a "*".
* Country where most of your education has taken place:
* Country where most of your research has taken place:
* My position can best be described as:
  If you answered other to the question above, please elaborate:
* The field I trained in can best described as:
  If you answered other to the question above, please elaborate:
* I work at (University or Company or Organisation):
* I am affiliated with the following department(s) / fields:
* I have been involved in the software development / software research area professionally for:
* Have you taught a Software Engineering Subject
Yes No
* Have you studied SE either as part of a degree or on your own (eg through books or papers) ?
Yes No
* Have you used graphical models to design programs ?
Yes No
* Which of the following Software Engineering tools / methodologies do you know and / or use?
Functional
Specifications
Flow
Charts
Data Flow
Diagrams
Entity Relationship Diagrams
Class / Package Diagrams
Interaction
Diagrams
State
Diagrams
State Transition Diagrams
Booch
Notation
Use
Cases
Use Case
Diagrams
Unified Modeling Language
Specification Language
Waterfall
SDLC
Fountain
SDLC
Spiral
SDLC
Rapid Application Development
Technical
Reviews
Black Box
testing
White Box
Testing
Unit
Testing
Integration
Testing
JavaDoc
Commenting
Systematic Internal Comments
Meaningfully named variables
  1) Other SE tool you know:
  2) Other SE tool you know:
  3) Other SE tool you know:
  1) Other SE tool you use:
  2) Other SE tool you use:
  3) Other SE tool you use:
* Why do you use the methods you use ?
Saves time in the long run
Helps me clarify my ideas
Makes communicating easier across the team
Makes communication easier between projects
Assists with producing better quality software
  Other reasons for using Software Engineering techniques
* Why don't you use (more often) the methods you described as "know but don't use" or "use rarely" in the question above?
Never thought about it
Don't know about them
Cost of learning them is too high
They are not appropriate for my work
Cost of using them is higher than the pay off
Organisational Policy against spending time on them
Other
  Other reasons for not using other Software Engineering techniques
* Have your usage patterns changed over time ?
Used to use none now use a lot
Used to use none, now use a little
Used to use some now use more
No change
Used to use a little but stopped or decreased my use
Used to use a lot now use a little
Used to use a lot now use none
* I expect to use
Less in the future
The same amount in the future
More in the future
  Comment: The following questions are project related. Please choose 1 project you have been invovled with and answers your questions in relation to this project. Your answers here may as a result need to differ from your answers in the above questions.
* Project's Name
* Institution / Company where it was carried out
* The year the project was started
  The year the project was completed (or is scheduled to be completed).
* The department in the organisation you were working in had:
Under 30 people in it
Under 50 people people in it
Under 100 people people in it
Under 200 people people in it
200 or more people in it
* Project management was controlled by:
Individual team members setting their own schedules or delivering goods when they completed them
The project group by consensus
The project leader with little input from organisational management
The project leader with some input from organisational management
Organisational management
* The organisation had:
No formal policy for approach to projects
A limited amount of formalism eg project applications, interim reports, final reports
A large amount of formalism eg specification of design languages and programming languages to be used and types of documentation to be created (eg design, testing, user manuals etc)
* Which best describes the project's approach to Analysis and Design:
Analysis & Design was done before coding was started
Analysis & Design was done while coding
Analysis of the problem took place after the project was completed
Analysis & Design was not explicitly done
* Which best describes the projects approach to documentation:
Detailed and useful documentation was started before coding (eg Analysis and / or Design documents) and kept
Some useful documentation was started before coding (eg a useful project proposal) and kept
Some useful external documentation was created during coding and kept (design documents, Javadoc, etc)
The only documentation on the project code is by way of papers relating to the project (and a users manual / inbuilt help).
* The projects development was modelled on a software development life cycle model:
Waterfall
Fountain
Spiral
RAD
The development was according to some other explicit model
The development was not planned or systematic
* How many different people worked on the project at one point or another (in total)
* At its peak, how big was the project team
* Roughly how much funding did the project recieve (in total)
* Number of complete re-writes of software
* Time spent in planning the project (in months):
* Time spent on development (In months):
* Meeting Frequency:
Monthly
Fortnightly
Weekly
Daily
* Meeting duration on average:
30 minutes
1 hour
2 hours
Half day
All day
* Reuse, how many/much code was reused when building this project
standard classes eg template libraries, Java standard library
some code of a previous version of the software
Some small components that developers already had
Some small components that developers found (eg from GNU)
Largely based on an existing framework
Research was a plug in to another piece of software
* Were you able to get all the resources you asked for ? eg programmers, machine time, hardware etc
Yes No
* Personal satisfaction with project outcomes
Much less then other projects
Less than other projects
about the same
More than other projects
Much more than other projects
* Personal frustration with project process
Much less then other projects
Less than other projects
about the same
More than other projects
Much more than other projects
* Looking back would you use more Software Engineering (eg analysis, design, documentation, reviews, testing etc) earlier on if you had to redo the project ?
Yes No
* Papers published as a result of this project:
* Number of modification / addition projects to the main research (eg summer vacation, honors, post grad projects)
* Number of students who continued on with research related to the project after finishing their initial involvement (eg honors students who went on to do further research)
* Number of Students involved in project as part of a higher degree by research
* Average papers published per Higher Degree by Research student relating to the project and their work on it
* Is there a user group for the software produced
Yes No
* What grants were attracted
* What is/was the value of these grants ($US)
* How do you rate the success of the project ?
  I would like further communication with this survey:
Contact when the results are collated only (a link to summarised results will be provided) Contact me if needed to clarify my answers or if a followup survey is conducted, as well as notifying me when results are collated Do not contact me again regarding this survey
  Comment: The following question are to enable further communication in relation to this research.
If you wish to remain anonymous, feel free not to answer them.
  Email Address
  Name: This is used only in communication to you by e-mail

     

Please report any problems with this questionnaire to the researcher: Andre.Oboler@csse.monash.edu.au.

Project Title:

Use of Software Engineering in
Computer Science Research

Explanatory Statement, 28 June, 2002

I am currently engaged in research that aims to assess how computer science research is conducted in a university setting. My name is Andre Oboler , and I am trying to discover if there is a role for Software Engineering methods, or something similar, in academic computer science research, and if this could provide the sorts of improvements that software engineering has been aiming for in industry since its conception in the 1960s.

I will be working under the supervision of Dr. David Squire and Dr. Kevin Korb in the School of Computer Science and Software Engineering towards a Bachelor of Computer Science (Honours) at Monash University.

I am looking for people involved in computer science research projects (primarily in a university environment, but other environments would be useful too for comparison) who are willing to fill out a questionnaire which asks about their knowledge of, use of, and attitudes towards various software engineering techniques.

The questionnaire is available on the World Wide Web. It will take about 15 minutes to complete. Since the questionnaire is on-line, it is not possible for us to identify who has filled it out, although it does provide fields for an email address and Name, should the subject wish to be contacted regarding the results or follow-up studies. I stress that the completion of these fields is voluntary: the mode of survey ensures that it is anonymous unless the subject chooses otherwise.

No findings which could identify any individual participant will be published. Only my supervisors and I will have access to the raw survey data, which will be stored for at least five years as prescribed by the university regulations.

Subjects who agree to participate may withdraw their consent at any time. They may do this by simply not completing the questionnaire, or by notifying me by phone or in writing. Subjects can also submit questionnaires with some questions left unanswered.

If you have any queries or would like to be informed of the aggregate research finding, please contact Dr. David Squire by telephone on +61 3 9903 1033, or fax at +61 3 9903 1077.

You can complain about this study if there is something that you don't like about it. To complain about the study, you should phone +61 2 9905 2052. You can then ask to speak to the secretary of the Human Ethics Committee and tell him or her that the number of the project is 2002/282. You could also write to the secretary. That person's address is:

The Secretary
The Standing Committee on Ethics in Research Involving Humans
PO Box No 3A
Monash University
Victoria 3800
Australia
Telephone +61 3 9905 2052 Fax +61 3 9905 1420
Email: SCERH@adm.monash.edu.au

Thank you.

Andre Oboler
Phone: +61 3 9903 1033
Email: mailto:andre.oboler@infotech.monash.edu.au