Next: An Assessment of Data Analysis Software at ST ScI
Up: Software Development, Management and Support
Previous: Using a Data-Driven Model for Instrument Software Development
Table of Contents - Subject Index - Author Index - PS reprint -

Granados, A. F. 2000, in ASP Conf. Ser., Vol. 216, Astronomical Data Analysis Software and Systems IX, eds. N. Manset, C. Veillet, D. Crabtree (San Francisco: ASP), 20

A ``Scientific'' Approach to Software Project Management: Part II: Results of a Survey of Scientific Computing

A. F. Granados
National Radio Astronomy Observatory 1, Green Bank, WV 24944-0002, USA

Abstract:

We present the results of a survey on software development.


1. The Survey


The ``Software Development Survey'' contained 32 questions on topics of Software Development and Process Improvement. It was distributed to 1998 ADASS attendees via their registration materials packet (Granados 1999). There were 60 respondents, 75% (45) of whom classified themselves as staff and 25% (15) of whom classified themselves as managers.


1.  How many people are in your software development group full-time?
    a. 1-3                                                      40%
    b. 4-6                                                      28%
    c. 7-10                                                      3%
    d. less than 10 but more than 20                            17%
    e. more than 20                                             10%

2.  How many people are in your software development group part-time?
    a. 1-3                                                      62%
    b. 4-6                                                       8%
    c. 7-10                                                      3%
    d. less than 10 but more than 20                             2%
    e. more than 20                                              2%

3.  Does your software development Group have a designated group manager?
    a. yes                                                      88%
    b. no                                                       12%

4.  Are you a:
    a. development group staff                                  75%
    b. development group manager                                25%

5.  Do you feel that management of your development group is:
    a. effective                                                37%
    b. somewhat effective                                       40%
    c. somewhat ineffective                                     12%
    d. ineffective                                              10%

6.  How many software projects are you working on concurrently?
    a. 1                                                        32%
    b. 2                                                        20%
    c. 3                                                        25%
    d. 4 or more                                                23%

7.  Would you describe your workload as:
    a.  Overloaded, working on too many projects.               48%
    b.  underutilized, working on too few projects.              0%
    c.  well balanced                                           48%

8.  Is your primary job description:
    a.  researcher who does some software development            8%
    b.  software development                                    47%
    c.  software maintenance                                     5%
    d.  software developer who does some research               40%

9.  Is the software that you write written for:
    a.  your use only                                            0%
    b.  limited group use                                       27%
    c.  extensive third party use                               70%
    d.  commercial sale                                          0%

10.  What is the primary purpose of the software that you write
     a.  Data Analysis                                          52%
     b.  Data Archive/Database                                  25%
     c.  Education                                               0%
     d.  Computational Research                                 13%
     e.  Hardware monitoring and control                        10%

11.  Which of the following software development models do you primarily use?
     a.  Code-and-Fix                                           23%
     b.  Waterfall                                               5%
     c.  Incremental                                            23%
     d.  Iterative                                              37%

12.  Do you feel that the development model you use is:
     a.  Very useful                                            32%
     b.  somewhat useful                                        45%
     c.  nominally useful                                       12%
     d.  not useful                                              5%

13.  If the development model you use is not useful, is it because:
     a.  the plan itself is poor                                15%
     b.  the plan does not fit my product/project                0%
     c.  the plan is not properly implemented by my group       15%
         management
     d.  scientific programming is mostly R&D and is hard to    55%
         constrain
     e.  The project does not lend itself to any development    10%
         model

14.  Which of the following development process activities do you follow?
     a.  Requirements                                           43%
     b.  Design	                                                62%
     c.  Unit/Component/System test                             43%
     d.  Project Tracking Meetings                              27%
     e.  Code Review                                            20%

15. What method do you normally use to obtain requirements? (check one)
    a.  Use-Case scenario sessions with end user                17%
    b.  Explicit Requirements provided by end user              27%
    c.  Informal Feedback from Workshops/Surveys/Users          42%
    d.  Borrowed from existing products                          8%

16. What method do you normally use to schedule projects?
    a.  Top-Down (completion date handed down)                          35%
    b.  Bottom-up (Completion date determined by requirements)          60%

17. Is your project schedule:
    a.  A fixed completion date to aim for.                             15%
    b.  A completion date with major milestone dates.                   27%
    c.  A completion date with major and minor milestone dates          30%
    d.  I don't normally have a project schedule                        27%

18. If your project is behind schedule, is it usually because
    a.  Requirements weren't properly defined                           25%
    b.  Requirements have changed                                       25%
    c.  Insufficient Resources were allocated to the project            23%
    d.  The original schedule estimate was unrealistic.                 22%

19. If requirement changes are needed during a project, are they generally
    a.  Included, and the scheduled completion date is delayed          45%
    b.  Included, and resources are increased (either more people 
        or more overtime) to maintain the schedule.                      2%
    c.  Excluded, the schedule must be met.                              3%
    d.  Inclusion/Exclusion is determined by change management which
        balances product features, development resources and schedule.  47%

20. Are your software development projects normally:
    a.  delivered on time.                                              23%
    b.  delivered a bit late (10% over schedule).                       27%
    c.  delivered late (20% over schedule).                             25%
    d.  delivered very late (>30% over schedule).                        2%
    e.  not scheduled so I don't know if they're late.                  20%
	
21. From the list of software tools, please indicate those that you use.
    a.  Bug Tracking                                                    33%
    b.  Project Scheduling                                              38%
    c.  Debugger                                                        70%
    d.  Memory Leak Checker                                             38%
    e.  CASE Tool                                                       20%
	
22. Which operating system is your primary development platform?
    a.  Unix                                                            90%
    b.  Windows NT/95/3.1                                                6%
    c.  Macintosh                                                        0%
    d.  VAX/VMS	                                                         2%
    e.  VxWorks or other real-time system                                2%
	
23. Which is your primary development language? (check one)
    a.  C/C++                                                           66%
    b.  ADA                                                              0%
    c.  Fortran                                                         10%
    d.  IDL                                                              5%
    e.  Pascal                                                           0%
        Java or Visual Basic (write-in)                                 19%

24. If you program in C++, what percentage of your programming is "true" C++?
    a.  0%   (I'm really a C programmer)                                35%
    b.  20%  (I use the occasional C++ construct)                       10%
    c.  50%  (Isn't C++ still mostly C?)                                 1%
    d.  75%  (I know about iostreams and classes)                        7%
    e.  100% (I build classes with ease and use true OO methods)        15%
	    
25. Which is your primary scripting language? (check one)
    a.  Perl                                                            33%
    b.  Tcl                                                             14%
    c.  Glish                                                            7%
    d.  Unix shell                                                      15%
    e.  Other__________	                                                15%

26. Which is your primary web language? (check one)
    a.  Perl                                                            16%
    b.  Java                                                            28%
    c.  HTML/XML                                                        52%
    d.  Tcl                                                              1%

27. Which object oriented modeling method do you use?
    a.  OMT                                                             11%
    b.  Booch                                                           11%
    c.  UML                                                             15%
    d.  other_______________________                                     8%
    e.  I don't use object oriented methods.                            45%
	
28. Is your formal degreed education in:
    a.  astronomy/physics/math/science, etc.                            75%
    b.  Engineering (electrical, mechanical, etc.)                      18%
    c.  Computer Science                                                 2%

29. Please check your highest education level 
    a.  High School                                                      1%
    b.  Two-year college                                                 1%
    c.  Four-year college                                               23%
    d.  Masters Degree                                                  27%
    e.  Doctorate                                                       48%

30. Does your company/institute pay for continuing education: 
    (check all that apply)
    a.  scientific conferences                                          87%
    b.  computer/trade conferences                                      47%
    c.  engineering/trade conferences                                   17%
    d.  Computer software/hardware vendor training on/off-site          42%
    e.  Company does not provide continuing education.                  10%

31. How many times per year do you receive continuing education/training?
    a. 0                                                                 5%
    b. 1-2                                                              75%
    c. 3-4                                                              15%
    d. more than 4                                                       3%

32. If you receive continuing education/training, what is the average cost
    of this training? (not including travel and ancillary costs)	
    a. less than $250                                                   22%
    b. $250-$500                                                        23%
    c. $500-$1000                                                       21%
    d. $1000-$1500                                                      10%
    e. more than $1500                                                  13%


References


Granados, Arno, F. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, ed. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 19



Footnotes

... Observatory1
The National Radio Astronomy Observatory is a facility of the National Science Foundation operated under cooperative agreement by Associated Universities, Inc.

© Copyright 2000 Astronomical Society of the Pacific, 390 Ashton Avenue, San Francisco, California 94112, USA
Next: An Assessment of Data Analysis Software at ST ScI
Up: Software Development, Management and Support
Previous: Using a Data-Driven Model for Instrument Software Development
Table of Contents - Subject Index - Author Index - PS reprint -

adass@cfht.hawaii.edu