next up previous


Teaching Software Process Improvement
through a Case Study

Torgeir Dingsøyr, M. Letizia Jaccheri and Alf Inge Wang[*]

August 19, 1999

Abstract:

This paper describes the main design choices of a software process improvement course. The course is organised around an industrial case study. In addition it is based on lectures and group exercises. The case study is centred around four research questions: Why is process improvement important [in your company]? Which processes does your company have? Which improvement initiatives does your company implement? Which relationships exist between software improvement and software quality?

During the case study, the students come in contact with actors from the local software industry. This paper gives an evaluation of our work and shows how we were able to provide real examples from the Norwegian software industry. However, we want to improve our case to provide better insights in the relationships between quality and process issues, deeper examples and better student involvement.

Consequently, we propose a new set of questions that are: Briefly describe a software system that is (or has been) important for your company. Which attributes do you use to describe it? Which are the processes around this system? Which are the improvement initiatives around these processes? How general is that specific software system (and respectively its processes and improvement initiatives) in the context of your company?


\begin{keywords}
Software process improvement, software engineering education\end{keywords}

Introduction

 

Software quality and software process improvement are central topics in modern IT industry. However, there is no standard consensus about how to educate future software engineers in such topics. Software quality and software process improvement comprise both technical and managerial issues. Among the technical, we list design, testing, inspection, and configuration management. On the other hand, the quality and improvement models, like Capability Maturity Model [1], ISO 9000 [2], Quality Improvement Paradigm [3], etc. derive from managerial and organisational theories. When teaching technical methods, such as design, one can employ the same educational methods that are commonly used to teach programming languages or mathematics: First, the teacher explains the method and provides examples. Then, the students are asked to solve toy problems, alone or in groups, by employing the method. This educational method does not properly work when applied to teaching of the managerial part of software process improvement and software quality.

Since 1988, the Department of Computer and Information Science has been responsible for teaching a Software quality and process improvement course (SQPI course) for 4th year students at the Norwegian University of Science and Technology (NTNU). In the beginning, the course concentrated on technical topics, such as design, programming, testing, inspection, and configuration management. The educational method were the classical one. Over the years, the contents of the course has changed to gradually to include a survey of software quality and improvement models, such as CMM and ISO9000. However, the teaching methods have been stable.

The teacher presented motivating examples and figures. Typical examples include the amount of money lost on failed software projects the last 20 years. However, many of the examples were too distant from the students as they mainly concentrate on North American IT industry. The course did not include practical exercises on the managerial part of quality and improvement issues.

Some of the 4th years students have worked in Norwegian software companies and are familiar with problems caused by failed software projects. Also, other software engineering courses rely on student projects with industry actors playing the customer role. In spite of all, it was hard to motivate students with examples that are far away from companies they have worked for or will work for in the future.

The result was that the course failed to get student involvement. Students got a surface knowledge of the managerial topics, but were not able to relate them to the technical ones. In addition, they were not able to relate the improvement and quality topics to the local Norwegian IT reality.

In 1997, we redesigned the SQPI course with the goal of making students get a deeper understanding. We wanted the students to understand how different subjects in the course were related, and how the course relates to the local IT industry. In this paper we will discuss the course main design choices. The SQPI course is organised around a case study where students interact with actors from the IT industry by interviewing them by means of a set of research questions. The students are asked to write reports about their perception of actor answers.

The rest of this paper is organised in three main parts. Section II-A describes the main choices underlying the SQPI course and provides an evaluation of the course. Section III looks at related work, identifies the problems we detected with our approach and suggests how we should obviate these problems in the future.

The Software Quality and Software Process Improvement course

In this section we describe the main design choices taken when preparing the course, and also give an evaluation of the course.

Course Design

    This (sub)section describes the plan of the course Software Quality and Software Process Improvement for year 1998. Next section  II-B will discuss course implementation. The course design for year 1999 will be sketched in section  [*].

The course is based on the following elements and their interaction:

1.
A theory part. This is based on:
(a)
The book "Managing the Software Process" [4]. We chose this book as it is a solid book used by a lot of software engineering courses that address software process issues. Among other alternatives, we cite  [5],  [6],  [7],  [8],  [9],  [10],  [11] and  [12]. The big disadvantage of our choice is that the book concentrates on North American software industry and little on European. Also the book is gradually getting old.

The students are supposed to read the book early in the semester, in parallel with lectures, before the case study begins. The students are encouraged to find discrepancies, inconsistencies, and common points between book, lectures, and case studies.

(b)
Lectures and related material handed out by the teacher. Here, we introduce the concepts of software development and maintenance process, software quality, and software process improvement.

The teacher distributes the slides before each lecture. Slides are also published on the web-page of the course  [13]. There are 10 hours of lectures, see entry labelled by teacher in table I.


 
Table I: Semester Plan, each lecture corresponds to two hours.
Day Type Responsible Topic
Fri 23/1 Lecture Teacher Course Introduction
Mon 26/1 Lecture Teaching Assistant Introduction to Exercises
Fri 30/1 Lecture Teacher Sw Process
Mon 2/2 Lecture Teacher Sw Quality
Fri 6/2 Lecture Teacher Sw Process Improvement
Mon 9/2 Industry Presentation Telenor Novit Case Study
Mon 9/2 Deadline Students Inspection Exercise Delivery
Fri 13/2 Deadline and Presentation Students Delivery and presentation Telenor Novit
Fri 20/2 Industry Presentation Statoil Case Study
Fri 27/2 Deadline and Presentation Students Delivery and Presentation Statoil
Fri 6/3 Industry Presentation Ericsson Case Study
Fri 13/3 Deadline and Presentation Students Delivery and presentation Ericsson
Mon 16/3 Lecture Teacher Discussion and Conclusions
Mon 27/3 Deadline Students CM Exercise delivery
Mon 27/3 Lecture Teaching Assistant Information about Exercise Process Modelling
Mon 17/4 Deadline Students PM Exercise Delivery
 

(c)
Group exercises related to theory. Groups consist of four students. There are three exercises. The first consists of inspection of a piece of code (742 C++ lines). The second is testing and configuration management of the same piece of code which is used in the first exercise. The inspection and testing techniques to be employed are those explained in the text book. The third exercise consists of modelling of a part of a software process by means of the E3 [14] formal process modelling language. We have chosen these exercises as the text book puts emphasis on testing, inspection, and defined process as first steps toward software process improvement.

Exercises are mandatory. Students cannot take the exam without having delivered their exercises. The evaluation of exercises do not influence the exam grade. All exercises are delivered both on paper and electronically. This is valid also for the group exercises related to case study.

2.
A case study.

This consists of:

(a)
Three presentations by actors from three Norwegian software companies. Each actor is asked to give an answer to 4 questions. The questions are:
i.
Why is process improvement important [in your company]?
ii.
Which processes does your company have?
iii.
Which improvement initiatives does your company implement?
iv.
Which relationships exist between software improvement and software quality?

(b)
Group exercises related to case study.

Each group is asked to write a document and to prepare a presentation that describes the actual presentation, how and if the questions are answered, which are the relationships with other presentations, the text book, and lecture.

(c)
Presentations by students and related discussion.

Each time, the teacher chooses 2 groups randomly among the total 10. Each group has 30 minutes to present its contribution. 15 minutes are devoted to discussion.

The exam is written and it has a duration of four hours. It is an open book exam. Each student is asked to answer four questions:

1.
Case study. The student is asked to evaluate one of the four research questions and give examples.
2.
Process modelling related material. The exercise is to model a process fragment presented by one of the three industry actor by mean of the E3 [14] notation.

This question is intended to test how each student has assimilated stuff related to exercises. Process modelling was chosen as it was possible to relate it with a process that was distributed by an industry actor during the case study.

3.
Book and material distributed by the teacher. The exercise asks to apply the function point formula to the piece of code used during inspection and CM. The code is provided.

4.
General comprehension of the whole course. It asks about the relations between Configuration Management and software process improvement. It asks for examples from case study and other experience.

Evaluation

 

Our main requirements have been fulfilled: students met at lectures and participated actively to the course implementation. We were able to provide real examples from the Norwegian software industry. This section discusses the main results of the course including exam results.

Table II shows how the SPQI course scored in average on the students evaluation of the course. The evaluation is a standard form used at NTNU consisting of nine questions. In questions 1-8, the students must choose from a scale from one to nine, nine being the best.


 
Table II: Students evaluation of the Software quality and process improvement course 1998
No. Question asked Mean
1 Was the goal for the course made explicit ? 6,9
2 Did the teaching stimulate you to work with the course ? 6,4
3 Did the teaching of the course fit previous knowledge ? 7,4
4 How do you judge your own work with the course at this time ? 5,6
5 Does the load fit with the load given in the course description ? 5,7
6 Does this course build on thing you've learned in other courses ? 6,4
7 How is the teachers presentation technique ? 7,3
8 Does the exercise teaching work well ? 6,4
  Mean value of all questions 6,51
  Standard Deviation of all questions 0.66
 

Table II indicate that students are above average happy with the course.

To make a more detailed description of the course evaluation, we want to present some of the more detailed written evaluations of the course:

Most of the students seemed to like the changes we have made. There were some critics about the workload in the course, specially on the exercises. Many students wrote that they were motivated to continue read more about subjects presented in the course.

Exam results

  Table  III shows the mean value of the exam results the last five years as well as the standard deviation of the results. Grades are given from 1-6, where 1 is best and 6 worst. In order to pass a course the student need at least the grade 4. Grades are given in 0.5 intervals.


 
Table III: The exam results the last five years
Year of exam No. of students Mean St. Dev
1994 36 2.58 0.76
1995 48 2.34 0.59
1996 50 2.31 0.57
1997 34 2.57 0.99
1998 43 2.24 0.44
Total mean 42.2 2.41 0.67
 

The table shows that the year 1998 has the best mean of grades of all the five years and also that the standard deviation of the exams grades are lowest. The following can explain this:

1.
Fewer and more general questions make it easier for students to write sensible answers on the exam (harder to write completely wrong answers).
2.
With more student involvement in the course, most students actually got interest in the course and were motivated to work enough with the course to achieve a good grade.

Looking more closely at the individual results of the exams, we also found that in the year 1998 none achieved the best grade (1.0), but none failed the course. One of the main changes in 1998 compared with earlier years, was how students participated in the course. It was required that the students played an active role themselves by asking and commenting on how theory and practice relates. Most of the students had to make presentations that compared these things, which forced them to read the book and understand the various subjects in the course.

Conclusive remarks

The section first briefly looks at related work. Then it summarises the main results of our work and gives indications for further work.

 

 

Related work

A general approach to teaching software engineering is to relate the course to either industry or a simulated environment (see  [15] for a survey of project oriented work). Other courses at our department at the Norwegian University of Science and Technology have made extensive use of project-based work that involve both students and industrial actors [16].

As discussed in  [17], software engineering process education sets extra requirements. The main requirement seems that of providing the students with visible processes. This would mean to let the students work at the management level. Our approach differs from these ones surveyed in [15] as our students do not work in a product oriented project, but they rather observe quality and project initiatives in industry.

Georgia Institute of Technology runs a course called Real World Lab [18], where undergraduate students are involved with real industry projects with products and customers. In addition, students take part in performing a CMM assessment on local industry by interviews. The difference from our approach is that we use a normal auditorium setting rather than project work. This is because it is difficult to design a case in which students work in companies as participants in software process improvement projects.

 

Summary

We have designed a software process improvement course around the integration of a case study and a set of lectures and exercises. The case study is centred around four research questions. Students must elaborate and present their perception of process and quality initiatives in the companies.

Our main requirements have been fulfilled: students met at lectures and participated actively to the course implementation. We were able to provide real examples from the Norwegian software industry.

However there are some problems.

Further Work

To obviate these problems, we have designed a new plan for the course that will be followed during the Spring semester 1999. According to the new plan, the theory part and the group exercises related to theory.will be the same as last year (see section II-A). Concerning the case study we plan the following main changes:

There will be a couple of actor from one Norwegian software company who will represent both the process and the product view of the organisation. This should solve the superficiality problem.

To solve the Quality versus process problem, the questions asked to the software companies will be the following:

1.
Briefly describe a software system that is (or has been) important for your company.
2.
Which attributes do you use to describe it?
3.
Which are the processes around this system?
4.
Which are the improvement initiatives around these processes?
5.
How general is that specific software system (and respectively its processes and improvement initiatives) in the context of your company?

Provided that there will be circa ten student groups as last year, we will have each group working on a given answer in a way that for each answer there will be two groups working on it. In this way the quality of work around each question will hopefully be higher. Also, since students are required to be acquainted with the whole set of questions, we hope that there will be more interest in other group presentation. This would eventually solve the Student participation problem.

References

1
M. C. Paulk, B. Curtis, M. B. Chrissis, and C. V. Weber,
``The Capability Maturity Model for Software, Version 1.1,''
IEEE Software, pp. 18-27, July 1993.

2
R. Kehoe and A. Jarvis, Eds.,
A Tool for Software Product and Process Improvement,
Springer, 1995,
ISBN 0-387-94568-7.

3
V. R. Basili and S. Green,
``Software Process Evolution at the SEL,''
IEEE Software, pp. 58-66, July 1994.

4
W. S. Humphrey,
Managing The Software Process,
SEI Series in Software Engineering. Addison-Wesley, 1989,
ISBN 0201180952.

5
R. B. Grady, Ed.,
Practical Software Metrics for Project Management and Process Improvement,
Prentice Hall, 1992,
ISBN 0137203845.

6
R. B. Grady, Ed.,
Successful Software Process Improvement,
Prentice Hall, 1997,
ISBN 0136266231.

7
K. Caputo, Ed.,
Cmm Implementation Guide: Choreographing Software Process Improvement,
Addison Wesley, 1998,
ISBN 0201379384.

8
M. C. Paulk, C. V. Weber, and B. Curtis, Eds.,
The Capability Maturity Model : Guidelines for Improving the Software Process,
Addison Wesley, 1995,
ISBN 0201546647.

9
N. Fenton and S. L. Pfleeger,
Software Metrics: A Rigorous and Practical Approach,
Chapman & Hall, 1996,
ISBN 1850322759.

10
S. Zahran, Ed.,
Software Process Improvement,
Addison Wesley, 1998,
ISBN 020117781X.

11
A. Finkelstein, J. Kramer, and B. A. Nuseibeh, Eds.,
Software Process Modelling and Technology,
Advanced Software Development Series, Research Studies PressJohn Wiley & Sons, 1994,
ISBN 0863801692.

12
I. Sommerville,
Software Engineering,
Addison-Wesley, 1995,
ISBN 0201427656.

13
M. L. Jaccheri and A.I. Wang,
``Software quality and software process improvement course home page,'' http://www.idi.ntnu.no/~ systprog (in Norwegian).

14
M.L. Jaccheri and G.P. Picco and P. Lago,
``Eliciting Process Models in E3,''
ACM Transactions on Software Engineering and Methodology, 1999,
To appear.

15
M. L. Jaccheri and P. Lago,
``How Project-based Courses face the Challenge of educating Software Engineers,''
in Proc. of the joint World Multiconference on Systemics, Cybernetics and Informatics (SCI'98) and the 4th International Conference on Information Systems Analysis and Synthesis (ISAS'98), Orlando, USA, Jorge L. Diaz-Herrera, Ed. 1998, Lecture Notes in Computer Science 750, pp. 377-385, Springer Verlag,
ISBN 980-07-5081-9.

16
R. Andersen, R. Conradi, J. Krogstie, G. Sindre, and A. Sølvberg,
``Project Courses at the NTH: 20 Years of Experience,''
in Software Engineering Education, J. L. Diaz-Herrera, Ed. 1994, Lecture Notes in Computer Science 750, pp. 177-188, Springer Verlag,
ISBN 3540574611.

17
R. L. Upchurch and J. E. Sims-Knight,
``Designing Process-Based Software Curriculum,''
in Proc. of the 10th ACMIEEE-CS Conf. on Software Engineering Education and Training. Apr. 1997, pp. 28-38, IEEE Computer Society Press,
ISBN 0818678860.

18
M. M. Moore and T. Brennan,
``Process improvement in the classroom,''
in SEI Conference on Software Engineering Education, Rosalind L. Ibrahim, Ed. 1995, Springer Lecture Notes on Computer Science 895, pp. 123-130, Springer Verlag,
ISBN 3540589511.

About this document ...

Teaching Software Process Improvement
through a Case Study

This document was generated using the LaTeX2HTML translator Version 97.1 (release) (July 13th, 1997)

Copyright © 1993, 1994, 1995, 1996, 1997, Nikos Drakos, Computer Based Learning Unit, University of Leeds.

The command line arguments were:
latex2html -split 1 experience_paper.tex.

The translation was initiated by Torgeir Dingsoyr on 8/19/1999


next up previous
Torgeir Dingsoyr
8/19/1999