Torgeir Dingsøyr, M. Letizia Jaccheri and Alf Inge Wang
August 19, 1999
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?
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.
In this section we describe the main design choices taken when preparing the course, and also give an evaluation of the course.
The course is based on the following elements and their interaction:
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.
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.
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
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.
This consists of:
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.
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:
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.
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.
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.
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:
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.
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.
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.
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:
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.
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