Problems and Prospects - Quiz

Students can be blind to the problems of scale - that when you go from a program of a few pages to one of many pages, the problems become rather different. Some time ago Barry Boehm published a quiz that you could give to students before the course. It asked them to give their opinion on a number of factors in software engineering. He then revealed the actual answers - which are often markedly different from students perceptions.

So here is a suggested quiz that you give out before a course even starts. (The answers are in the book.). Then you give a lecture, or two (the content of chapter 1). Then the students do some exercises (see below).

Software Quiz

1What is the total cost of software development in relation to the GDP of a developed country?

0.1%

1%

10%

2 What is the typical productivity of a software developer, measured in lines of working code produced per week?

1

10

100

3 What proportion of a software development effort is typically spent in coding?

1%

10%

50%

4 What proportion of a software development effort is typically spent in testing?

10%

20%

30%

40%

50%

5 What proportion of a software development cost is typically spent in maintenance?

10%

25%

50%

6 What is a typical figure for the number of bugs per 1000 lines of code in commercially sold software?

1

2

5

10

20

 

I think the most useful of the exercises is number 6, which asks the student to assess (for each of a number of cases) the important goals. I've used this with a class (of up to about 30) as follows:

  1. ask students to think about the cases individually for about 20 minutes.
  2. have a whole group discussion of the answers with someone (the lecturer) out the front writing up the conclusions on a whiteboard. Invite contributions from the whole class. Use voting occasionally, to assess the opinions of the whole class- e.g. "how many people think x is the most important goal for case y?"