The rapidly changing context of adult learning requires radical changes in teaching methods and methods of delivery. The new technologies that are making the biggest difference in training fall in three different categories: networking, multimedia, and mobility. These technologies allow a combination of highly interactive stand-alone material and communication between instructors and students.
The purpose of this article is to describe the model defined to implement TRAPSP1, an application based on multimedia and distance learning techniques to train professionals involved in programming tasks in the effective use of processes and methods for software development and project management. One of the characteristics of the target audience of the course is their impossibility to attend regular pre-programmed courses due mainly to their lack of time for training and formative purposes caused by their daily activity. Therefore, one of the main identified requirements is to provide flexible and accessible ways to increase the knowledge and skills. The content of the course includes training on mathematical methods needed for the application of the proposed method. The instruction focuses on the software development process and methods and the importance of gathering data during the development process in order to be able to analyse and improve it.
Today, one of the crucial problems of the small and medium enterprises is the way of training their staff. On one hand, the traditional methods of classroom style based training frequently oblige the personnel of the company to leave the workplace for some days to follow pre-programmed courses with a fixed time-table. On the other hand, daily activities in the company, in which the due dates and the production have the highest priority, make it impossible to attend these regular pre-programmed courses. Furthermore trainees are often ot able to maintain the learning rate of the course due to unexpected commitments that oblige them to interrupt ongoing training activities.
Small and medium enterprises require, therefore, radical changes in traditional teaching methods and methods of delivery which provide flexible (not constrained to fixed dates) and accessible (on-site and self-teaching training) ways to increase the knowledge and skills of company staff. The new technologies that are making the biggest difference in training fall in three different categories: networking, multimedia, and mobility. These technologies allow a combination of highly interactive stand-alone material and synchronous and asynchronous communication between instructors and students.
As a result of our work, a model to cover the training necessities of small and medium enterprises has been defined. TRAPSP, an application based on multimedia and distance learning techniques, has been developed following this model. TRAPSP provides flexible and accessible ways to train professionals involved in programming tasks in the effective use of methods for software development. The content of the course includes training on the Personal Software ProcessSM(PSPSM) [Humphrey, 1996], and on the statistical methods needed for its application. The instruction focuses on the software development process and methods and the importance of gathering data during the development process in order to be able to analyse and improve it.
Product quality and productivity are the main objectives of those companies in which software development is a very significant part of their activities. Some software development organisations have addressed the problem of developing software by adopting the concept of a defined and managed process, as in the manufacturing community.
The quality of products is determined by the quality of the performed development process. The quality of the development process, in turn, is determined by the quality of work. Thus, to develop better products it is needed to change the way of work. To do this most efficiently, it is first of all required to follow a defined process and to have appropriate metrics in order to measure its quality. The most fundamental process measures concern the size of the products produced, their quality and the time and resources required to do the work. Based on these metrics, it may be determined the current performance of the development process and the way it can be changed to produce better results in the future [Humphrey, 1997].
The Personal Software Process is a learning vehicle for introducing process concepts and it provides the measurement and analysis methods software engineers need to help them to improve their personal performance. Software engineers need data and analysis tools to understand their own skills developing s oftware and to identify the areas where they can be most effective. A second objective is to provide software engineers and senior managers with the process understanding they need to participate in improving organisational performance.
The PSP is a framework designed at the Software Engineering Institute (SEI) by W.S. Humphrey to help software engineers and senior managers do better work. It provides a way to improve the quality, predictability, and productivity of their work. PSP is designed to address the improvement needs of individual engineers and small software organisations. The PSP introduces process concepts in 4 phases, each of which includes all the elements of previous phases together with one or two additions.
In a recent study about the impact of the PSP on the performance of around 300 software engineers [Hayes, 1997], five personal process improvement dimensions were examined: size and effort, estimation, accuracy, product quality, process quality and personal productivity. The result was that the PSP improved performance in the first four of these dimensions without causing any loss in the fifth area, productivity. The improvement in the product quality resulting from the PSP is expected to improve productivity and cycle time as measured at the project level. These study results have significant implications for any organisation or team that develops software.
From the didactic point of view the objective of the TRAPSP is to train the end-users of the application on the first two parts of the PSP and to capacitate and motivate them to apply the lessons learned in their daily work, in order to improve their overall performance in developing software and to improve the quality of their personal software development process.
This main objective is decomposed in a set of learning objectives, which are grouped in cognitive (related with the acquisition of new knowledge), affective (related with user feelings and emotions), and psychomotor (related with physical skills) objectives.
From the functional point of view TRAPSP provides flexible and accessible ways to provide a tailored training process, which allows the student to follow the course together with the daily activities of his/her work. It incorporates the use of the Internet network and telecommunication technologies that are making the biggest difference in training. These technologies allow a combination of highly interactive stand-alone material and synchronous and asynchronous communication between instructors and students.
Some of the main advantages of these new techniques are:
Figure 1 shows the different actors and the roles they play when using TRAPSP. The "actors" defined are the student, the human instructor, the discussion groups, the TRAPSP Web site and the local CD-ROM.
The human instructor is in charge of registering the students, monitoring the learning evolution of each student and finally providing the course completion certificate. In order to monitor the student, the application will send the exercises and session logs to the instructor. The instructor has also to manage the TRAPSP Web contents, manage and moderate the discussion group and attend on-line meetings using internet chat, an internet whiteboard or even videoconference. Finally, the student is able to send specific questions via email.
All the course contents and structure are stored in the local CD-ROM, although more information and help is available in the TRAPSP Web server. In general, all the static information and multimedia contents are contained on the CD-ROM whereas the information that can be modified or updated is located on the Web server. The course uses a hybrid approach, which means a CD-ROM based course with live links to Internet and some communication facilities integrated in the course.
The discussion group provides the way to communicate with other users. The student is able to ask questions, send comments and share experience and doubts with other users.
Finally the centre of the application is the student. TRAPSP uses the information contained in the user model to guide the instruction in order to provide a more tailored instruction according to the student. The user model contains information about the student profile like type (software engineer or senior manager), background or motivation, and his/her evolution during the training process. TRAPSP updates the user model in each training session and sends it to the instructor to allow him/her to evaluate the student performance.
Once a person decides to participate in the course, he/she should send information about his/her professional category, programming experience, etc. to the course provider, in order to get registered for the course (1). Then, the documentation and CD containing the TRAPSP course will be sent to him/her, and he/she will be considered as a new student of TRAPSP (2). The student will be able to use all the functionalities the application provides: configuring the application according to actual resources (3), following the course (4), communicating with the instructor (5), meeting other students via the discussion group (6). After having successfully finished the course, the student will obtain a certificate of course completion (7).
The reasons against tele-teaching most frequently cited are those related to the isolation of students, caused by the lack of interactivity, coldness, the impersonal nature of the process, concentration problems, the lack of a tutor, documentation which is not updated, etc. These problems frequently cause demotivation and finally abandonment of the course. Different functionalities have been implemented to support TRAPSP didactic content and limit these inconveniences.
They have been organised in the following four groups:
The course consists of nine lessons, including an introductory lesson. As shown in Figure 3, lesson nine may be used as a reference for statistical issues required in other lessons and exercises.
Each lesson, which can be thought of as being a milestone that the student must finish on his/her way to completing the course, is structured into a set of didactic elements, which use different teaching methods to provide training to the student. The teaching methods applied in the TRAPSP training course are the following:
Tutorials. Tutorials aim to satisfy two components of instruction, the first one is the presentation of information or skill modelation and the second one is the guidance through initial use of the information or skills, and do not engage in extended practice or assessment learning. Tutorials entail the personalised support of pupils, i.e., individualised instruction based on specific needs of the students.
Drill and Practice. This method is applied to demonstrate the different PSP tasks (e.g. how to fill the PSP forms) and allow the student to practice using them.
Quizzes. The main purpose of the quiz is to determine the knowledge obtained by a student. These elements test if the student has learned the objectives of the lesson and provide feedback tailored to each particular response.
Assignments and Reports. There are two kinds of assignments, the programming assignments and the reports. The first one provides instruction on what assignments are to be performed and how to develop them. Software Engineers will demonstrate their knowledge by using the PSP to develop a small program within each lesson (with the exception of lessons 1,2 and 9). Depending on the programming expertise of the student, the set of exercises is different. The programming assignment objective is to apply the knowledge gained from the lesson on a determined PSP step. The second type of assignments provides information on how to write a number of reports that help to analyse the way in which a particular student executes the PSP.
A wide community of European software organisations is becoming aware of establishing and carrying out their improvement process by themselves. They will be able to obtain suitable training on the PSP at economical prices without the need of travelling or attend standard courses. Their confidence in the capability of managing improvement processes by themselves, or with limited external assistance, will increase. So the further adoption of software best practises will find a more productive ground for its successful income. In these organisations the Personal Software Process will increase the quality of the product and productivity of the personnel.
According to experts in learning techniques, the introduction of new information and telecommunication technologies - computer aided instruction, networked information, distance learning - in the area of learning not only improves the quality of training but also increases the number of people accessing education.
TRAPSP make use of the Internet network and distance learning technologies to provide a flexible and accessible multimedia training course on the first two phases of the PSP method for software development. TRAPSP has been used in various pilot experiences with European SME in order to evaluate its level of effectiveness and acceptability with the following conclusions:
Finally it is important to add that the PSP philosophy may be applied to different production processes, even though they are not closely related to software development. The design process of the didactic material used in TRAPSP has, for example, been performed following the PSP method.
TRAPSP project is sponsored by the ESSI program of the European Community. The participating organisations are LABEIN as project co-ordinator, ESBIC and ECNA as partners and ESI as subcontractor.
The Consortium co-operated with other four Process Improvement Experiences (PIE projects), and other projects of the ESSI training cluster, funded by the European Commission, in a proactive way, in order to exchange experience, discuss common issues and exploit synergies between the projects.