SEGWorld: A WWW-based Infrastructure to

0 downloads 0 Views 169KB Size Report
students with experience of the type of team work found in industry. ... Appraisal. Requirements ..... gained practical experience of groupware requirements in.
SEGWorld: A WWW-based Infrastructure to Support the Development of Shared Software Engineering Artifacts Sarah Drummond and Cornelia Boldyreff Research Institute in Software Evolution Department of Computer Science Science Laboratories University of Durham, UK [email protected] [email protected] Abstract Software engineering tasks, during both development and maintenance, typically involve teamwork supported by computers. Team members rarely work on isolated computers; networked computers are commonly used. An underlying assumption of our research is that software engineering teams will work more effectively if adequately supported by network-based groupware technology. This research is investigating the provision of such network-based support for Software Engineering teams. The immediate objective is to provide WWW-based support, in the form of shared information spaces, specifically for students working on Software Engineering Group (SEG) projects in the Department of Computer Science at Durham. The long term objectives are to develop more flexible support for group working among university students and their staff supervisors for project work. This paper reports on our development and use, over a two year period, of SEGWorld - a WWW based infrastructure incorporating shared information spaces. Hypotheses relating to the student use of the infrastructure and shared information spaces have been formulated. Results of the use of this WWW-based infrastructure are presented.

1. Introduction Distribution is often an unavoidable consequence of organisational factors e.g. technical resources may only be available at specific locations, skilled workers are distributed across sites, etc. The emergence of the Internet and its wide spread availability has resulted in the

use of the WWW as a viable medium for software development. By getting teams of people together who are distributed or collocated, it is possible to develop specialist centres of excellence. Opportunities such as this can be realised if groupwork can be fostered across distances and group support tools are available over the Internet. In recent years there has been an appreciation of the benefits that can be obtained by software engineering students working in groups or teams [1, 2, 3]. As well as reinforcing theoretical concepts, group projects provide students with experience of the type of team work found in industry. It is important that students gain experience of this mode of working and that they are provided with appropriate computer support. The remainder of this paper has the following form: section 2 addresses the educational context of our research, the Software Engineering Group (SEG) project; in section 3, the network-based computer support developed is described; the results obtained to date are presented in section 4. A final section presents an evaluation of our experiences and outlines our plans for future development of this work.

2. The Software Engineering Group Project (SEG) The Software Engineering I module is taught to all 2nd undergraduate students studying in the Computer Science department for a single honours degree. An important part of the module is the practical component which consists of the Software Engineering Group (SEG) project, which

runs throughout the academic year. In the SEG project, students carry out all of the main activities of the software lifecycle. The students carry out the majority of the SEG work independently in small teams. The introduction, and subsequent development of SEG, have been largely motivated by a perceived need to prepare students for typical working practice found in industry. This type of project presents the first opportunity for the student to work as part of a group, to divide up work among several team members and to make technical and managerial decisions as a group - a not uncommon real-life parallel. Practical work undertaken within SEG not only emphasizes the technical aspects of software engineering activities, but also management skills, team working and planning skills. The principal aim of the project is to give students an opportunity to apply practically what they have been taught in the Software Engineering lectures. The project itself is well structured into phases [3] and follows the classical software lifecycle model with a few alterations [4] (Figure 1). Software Engineering Group Project (SEG) Process Model Preparatory Phase: 1week

Phase 1: 5 weeks

Phase 2: 1 week

Phase 3: 4 weeks

Phase 4: 4 weeks

Phase 5: 1 week

Domain Analysis Requirements Project domain research

Req.Appraisal Overview Dev. Op & Maint. Environments Interface, DFD Performance

Design Appraisal of another groups' req. spec. Based on "7 Sins of Requirements Definition"*

Implementation & Testing Changes to reqs. Design Method and rationale

Accept. Test Changes to design Command summary

Exception handling

Overview of design

Ver.& Imple features

Module descr.

Modification & enhancements

System org.

Known problems

Imple. plan

Working system

Impl & Testing strategy

Rationale for test method chosen Assessment of system based on requirements spec.

Accept criteria

Domain Analysis report

Requirements Specification document

Requirement Appraisal report

Design document

Testing Strategy report and source code

Acceptance Testing report

SEG Deliverables *B.Meyer, "On Formalism in Specification" IEEE Software 1985 pp6-26

Figure 1: SEG project phases One of the major achievements of the SEG project is that it provides students with early experiences of system building concepts and practices. This meets the industrial need for graduates with experience of building systems in a team rather than experience of simply working as a collection of individual programmers as discussed in [5]. Having successfully established and run SEG projects since 1984, more recently the department has considered how the SEG projects could be improved to mirror

industrial practice of software engineering more realistically. In particular, these considerations have given rise to studies to identify appropriate groupware technology for supporting SEG projects and the development of a software engineering infrastructure. This infrastructure has been developed specifically to support the software engineering tasks performed by students in groups. Initial work carried out in the summer of 1996 sought to utilise the resources of the WWW by the introduction of electronic hand-in of SEG deliverables, created using HTML. In the summer of 1997 university funding was obtained for a one year project to develop and monitor the introduction of network-based computer support in the form of a WWWbased infrastructure, for the SEG project [6]. We now are able to report on our experiences of using the virtual software engineering environment from 1997, to date.

3. Creation of SEGWorld - a WWW-based Infrastructure for Software Engineering Students Our initial studies identified a need for groupware tools to be integrated in a single environment enabling SEG students to easily share documents and applications. Therefore, in the summer of 1997, we investigated how we could effectively introduce an asynchronous groupware system - BSCW (Basic Support for Cooperative Work)[7] into the SEG students’ working environment. BSCW has been conceived as a means of supporting the work of widely dispersed work-groups and is a document storage and retrieval system extended with features to support collaborative information sharing [8]. The BSCW system consists of a server which maintains an index of all the workspaces it manages, all accessible from different platforms using standard WWW clients. Users access the index using a standard user-name and password and the server responds with a list of the workspaces the user can enter. Each workspace contains a number of shared information objects (each uniquely identified by icons associated with the objects development application), and workspace members can perform actions to retrieve, modify and request more details on these objects. These objects can be documents, links to WWW pages, folders, groups and members. A notification service keeps users aware of each others’ activities. Users concurrently accessing the workspace can communicate with each other using a simple chat tool (figure 2). In the first phase of the development, an infrastructure, SEGWorld (figure 2), based on BSCW has been

developed. SEGWorld essentially provides a WWW based repository for all the relevant teaching materials associated with SEG projects. A public access workspace provides facilities for posting notices to and from students, access to software tools, and references to all the course module resources in the form of WWW pages, which are relevant to student project work. Private access workspaces allow for the development and secure storage of each group’s practical reports and project deliverables, thereby ensuring there is a central repository for each group’s artifacts. Within each repository, it is possible to record each member’s contribution to the work. The repositories also provide a basis for the retrieval of each group’s collectively recorded knowledge.

To further support students during the SEG project, the Department of Computer Science funded a small laboratory dedicated to SEG student use. This laboratory provides nineteen networked multimedia personal computers, and office areas designated for group meetings, working, etc. The provision of small office areas for the groups has facilitated a much more professional approach to the group project work. The students prefer working in small offices rather than the large open plan laboratory provided in the past. A WWW based online booking form has been developed which permits groups to book an office area, and allows staff to monitor SEGLab usage. During the development of SEGWorld a number of hypotheses were formulated about providing a shared workspace for the students, e.g. how it would be used, how it would support the students, and the importance of the role of an asynchronous shared workspace [9]. In the following section a selection of these hypotheses will be discussed along with the supporting evidence obtained during the two year period of operation.

4. Results Obtained to Date and their Implications Throughout the academic years 1997/98 and 1998/99, the students’ usage of SEGWorld has been monitored. This project monitoring has taken the form of BSCW automatically generating and emailing a list of activities undertaken each day, within the group workspaces. This information includes the type of activity, student name and time. In addition to this, students have been asked to complete a questionnaire, and invited to take part in focus group discussions in order that their views could be elicited. Figure 2: Screen shot of a student asynchronous workspace (synchronous chat tool also shown). A significant success factor, recognised from the start of the SEGWorld development, has been the need to ensure that students see this shared workspace as being supportive of their work. Therefore it is important that SEGWorld is easy to use and does not hinder the group’s normal progress. This could be achieved by ensuring that the students had a full understanding of the concept and functionality of the workspace. As a consequence, the development of a WWW-based tutorial, that the students initially work through and, can refer to at any time, was considered vital. The tutorial was developed with the intention that it would enable the students to gain a full understanding of the concept and functionality of the workspace. The initial tutorial fell short of this goal.

In the academic year 1997/98 there were a total of 72 students involved in the SEG project. Within the academic year 1998/99 there were in total 84 students. All students work in groups of 6 or 7. Results are based on questionnaire responses from 57 students and 66 students per year respectively, monitored information from all the workspaces, and focus group discussions with all the groups. The following hypotheses have been selected for discussion: 1. The introduction of a WWW-based asynchronous shared workspace into software engineering groupworking will aid group members to organise and coordinate their work. 2. Greater use of the workspace functionality will be made as the project progresses.

The following subsections present each of the hypotheses and discuss the implications of the relevant results. Hypothesis 1 The introduction of a WWW based asynchronous shared workspace into software engineering groupworking will aid group members to organize and coordinate their work.

Figure 4 below shows the results of the students’ general responses to using SEGWorld.

Agree (indiv.responses)

Agree (indiv. responses)

From a high level perspective, figure 3 represents the responses from SEG students (via the questionnaire), related to the workspace enabling better organization and coordination of their work.

At a lower level of granularity, the meeting facility associated with organization and coordination has been monitored. This facility allows a group member to schedule a meeting and it automatically generates emails to inform group members of the details. Whilst the meeting facility is thought to be useful, some students do not use it because it is simpler to use e-mail directly to organise a meeting. Organising a meeting via BSCW involves loading a browser and then SEGWorld. To confirm attendance at the meeting involves every attendee repeating this process.

90% 80% 70% 60% 50% 40% 30% 20% 10% 0%

100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% Interface Intuitive

Helps organise w ork?

Workspace structure useful?

Better comms. w ith tutor/group

1997/98

Invested time

Confident using system

Supports SEG activities

Easy to use

General responses

1997/98 1998/99

1998/99

Questions

Figure 3: Organisation and coordination activities SEGWorld provides a central repository for all documentation, which allows members to develop and check that co-workers have read documents etc. The students see this as being beneficial for the organization and coordination of their work. It provides the students with a simple work-flow mechanism. However, the students do not feel that the use of the shared information space contributes to better communications with their tutor and peers. This could be explained by the following: a) the students have easy face-to-face access to tutors and peers, and b) using the email system in SEGWorld posed similar problems to those reported in using the “meeting” facility, which is described below. In general, the students feel that the hierarchical structure of the workspace is intuitive (figure 4) and that it graphically illustrates how their work is being structured. But, as the level of decomposition of folders (directories) into sub-folders (sub-directories) increases, students found navigation through the workspace is slow. Students commented on the lack of shortcuts to the various documents. In fact, students were simply unaware that shortcuts are possible.

Figure 4: Student General Responses Whilst it is encouraging to note that the responses for 1998/99 are more favorable, it should be noted that similar problems permeated through from one year to the next. These are, as follows: • at times usage of the workspace was hampered by poor response times and down time of SEGWorld, and • students were aware of many functions but were insufficiently motivated to gain an understanding of how to use them. This lack of motivation to invest time learning SEGWorld, can be attributed in part, to the poor understanding of the concept of the shared workspace. Tutorial support has been improved in 1998/99. The initial SEGWorld on-line tutorial has been rewritten, to better describe and show, by example, the more useful functions provided by the system. Results presented in figure 5 show that the tutorial is now seen as more useful, and that students have invested more time in learning the system.

Agree (indiv.responses)

90% 80% 70% 60% 50% 40% 30% 20% 10% 0%

The objective of logging the daily usage of these functions is to determine if the use of SEGWorld increases as the project progresses. This anticipated increase could indicate that the students are becoming more confident in using the workspace, and have overcome any initial difficulties. Tutorial useful?

Invest time learning?

Interface Intuitive?

1997/98 1998/99

Questions

Figure 5: Ease of use Hypothesis 2

The data revealed that initially groups were creating and deleting documents rather than editing and versioning them, during the process of developing their early deliverables. Over time, more effective use of editing and versioning occurred as the students became more familiar with the process of groupworking and the functions available to support this work. SEG: use of BSCW functions

Greater use of shared workspace functionality will be made as the project progresses.

180 create

A problem that students still encounter is the slow response time of the system. This remains a major contributing factor to the slow uptake of the use of SEGWorld. Some initial difficulties encountered in the first year have been partly resolved. These difficulties arose because initial SEGWorld practical sessions were not supported by experienced postgraduate laboratory demonstrators. Therefore, simple problems encountered at this stage were left unsolved and the students formed a poor image of the system. Within the second year, these difficulties have largely been resolved by more experienced demonstrators now being available. In part, of course, this is typical of the roll-out of any new technology within an organisation, and is specifically characteristic of introducing new technology to support software process improvement [10]. Figure 6 shows the use made by SEGs during 1997/98, of the various functions provided by BSCW, during the different phases of the software lifecycle. These functions are a subset of those available, and have been chosen as they represented the most common events that occur in the process of producing a typical SEG project deliverable. 1

Results presented in figure 6 are from the automatically generated activities list from the academic year 1997/1998 only.

total usage - hits (all groups)

160

Whilst preliminary data from 1998/99 shows that there is an increase in the use of the functions provided, some are still being under used.1 This under use can be attributed to certain factors: some known, e.g. hardware performance, and some that have only come to light in the group discussions, e.g. insufficient tutorial support.

read 140

edit

120

delete

100

version

80 60 40 20 0 1

2 3 4 Requirements

5 6 Req Appr

7

8 Design

9

10

11 12 13 Implementation

14 accpt

time - weeks

Figure 6: Use of BSCW functions during the phases of the software lifecycle We have introduced better tutorial support for the editing and versioning functions in 1998/99, and we anticipate that the new data, when fully analysed, will reflect this.

5. Evaluation of Experience and Further Plans With respect to organization and coordination of SEG work, the introduction of a shared workspace has provided a formal setting for the practical side of the Software Engineering course and the students definitely have found this both helpful and useful. Our overall experience highlights the need for an infrastructure being in place, i.e. an appropriate tutorial, experienced demonstrators, and course material to support collaborative working of small groups. Provision of appropriate and robust groupware technology is vital and,

that this groupware continues to be supported by the developers. The introduction of a shared workspace is not simply a matter of providing students with a new application package and associated tutorial. The shared workspace is more than an application, it provides awareness of other members’ activities, and its effective use requires that group members organise and coordinate their work in a new way.

[2]

[3]

[4] SEGWorld has afforded us an opportunity to monitor the activities of group members for this study. BSCW automatically provided the data with respect to functions used by students. Use of the workspace functions has not been consistent and shows no significant increase as the project progressed. However, the students have begun to make more effective use of the functions provided.

[5]

[6] SEGWorld, whilst being gradually better received by both students and staff, is still not being fully utilised. A frequently cited reason for this is the slow system response. This problem is currently being addressed with trials using a higher performance server. However, whatever technology is used, computer science students and staff are likely to complain about slow response time. Moreover, the level of complaints received after system down time indicates that both students and staff are considerably inconvenienced by any loss of SEGWorld service. Some unexpected benefits of introducing SEGWorld into the department’s teaching have resulted. The visibility of the work of the SEG students reflected in the SEGWorld private workspaces has provided the SEG tutors with some insights into the contributions of the individual students within the group and more generally gives a means of assessing a group’s progress. Another benefit is that both students and staff have gained practical experience of groupware requirements in a software engineering context. This has made both students and staff aware of the need for groupware to be designed and developed with specific support for software engineering tasks. Further research within the department is now addressing this need.

References [1]

P. Brereton, S. Lees, M. Gumbley, C. Boldyreff, S. Drummond, P. Layzell, L. Macaulay, and R. Young, “Distributed Group Working in Software Engineering Education,” Information and Software Technology, vol. 40, pp. 221 -227, 1998.

[7] [8]

[9]

[10]

J. J. Horning and D. B. Wortman, “Software Hut: A computer program engineering project in the form of a game,” IEEE Trans. Software Engineering, vol. SE-3, pp. 325-330, 1977. S. Drummond, C. Boldyreff, and M. Munro, “Software Engineering Group Project work: Past, Present and Future,” in Presented at Special Interest Group in the Teaching of Software Engineering (SIGToSE), London.: http://www.dur.ac.uk/~dcs1sad/papers, 1997. J. A. McDermid and P. Rook, “Software development process models,” in Software Engineer's Reference Book, J. A. McDermid, Ed.: Butterworth-Heinemann, 1991, pp. 1 -35. A. Goldberg, “Building a System in Virtual Reality with LearningWorks,” presented at Integrating Technology into Computer Science Education, Dublin, Ireland, 1998. C. Boldyreff, S. Drummond, and R. Walker., “Web-Based Support for Software Engineering Group Projects,” : http://www.dur.ac.uk/~dcs1sad/papers Presented at ECSCW 97, Lancaster University, 1997. GMD-FIT, “Basic Support for Cooperative Work (BSCW),” : http://www.gmd.de/. Bentley R, Appelt W, Busbach U, Hinrichs E, Kerr D, Sikkel K, Trevor J, and Woetzel G, “Basic support for cooperative work on the World Wide Web,” Internationl Journal of Human-Computer Studies, vol. 46, pp. 827-846, 1997. S. Drummond, “An Investigation into Computer Support for Cooperative Work in Software Engineering Groups,” in Department of Computer Science. Durham: University of Durham, 1999, pp. 125. W. S. Humphrey, Managing the software process: Addison-Wesley, 1989.

Acknowledgements This research was partially funded by the University of Durham’s Teaching and Learning Initiative. Both authors research has also been funded by JISC JTAP. Two students have assisted with the development of SEGWorld: Mr Robert Walker during the summer of 1997 and Mr Alex Long during the summer of 1998; without their efforts and of course the feedback of all our Software Engineering students through 1997-99, this work would not have been so successfully implemented and trialed.