The work-reflection-learning cycle - Department of Computer and ...

The work-reflection-learning cycle - Department of Computer and ... The work-reflection-learning cycle - Department of Computer and ...

21.01.2014 Views

The work-reflection-learning cycle in SE student projects: Use of collaboration tools 108

Power Through Brokering: Open Source Community Participation in Software Engineering Student Projects Birgit R. Krogstie Norwegian University of Science and Technology Sem Sælands vei 5-7, 7034 Trondheim, Norway birgitkr@idi.ntnu.no ABSTRACT Many software engineering projects use open source software tools or components. The project team’s active participation in the open source community may be necessary for the team to use the technology. Based on an in-depth field study of industry software engineering project students interacting with an open source community, we find that participation in the community may affect the team’s work and learning by strengthening the power of the broker between the team and the community. We outline pitfalls and benefits of having student teams acquire development-related knowledge from open source communities. The findings are relevant to the organization and supervision of software engineering student projects interacting with open source communities. Categories and Subject Descriptors K.3.2. [Computing Milieux]: Computer and Information Science Education General Terms: Human Factors Keywords: FLOSS, open source, software engineering, software engineering education, computer science education, communities of practice 1. INTRODUCTION Student SE industry projects, also known as customer-driven projects, are designed to provide SE students with realistic experience from software development work. The projects require that students relate to various stakeholders and engage in crosscommunity interaction [1]. Desired learning outcomes span both social and technical skills. The latter includes being flexible to customers’ technology requirements, which may be outside the team’s current experience and preference [2]. Through the pedagogical organization of SE project courses, student teams are provided with scaffolding for their learning process [3, 4], which might include guidance on the use of particular technology. Sometimes in the case of industry projects, neither course staff nor the customer is familiar with technology required in the project. The Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. ICSE’08, May 10-18, 2008, Leipzig, Germany. Copyright 2008 ACM 978-1-60558-079-1/08/05…$5.00. students have to demonstrate independence in coping with such situations. Requirements to learn and apply specific technologies may force SE teams to interact with user and/or developer communities through different degrees of community participation. For instance, involvement with open source software (OSS) communities may be needed. In what follows, we will talk about open source software communities for simplicity – tacitly assuming that similar considerations apply to free, libre and open source software (FLOSS) communities. OSS communities are a relatively new arena for information acquisition and knowledge building in SE student projects. Supervisors might be in doubt about what is going on and what advice to give in such cases, feeling that their possibility to impact on the project process is diminished. On part of the students, having to participate in a different community in accordance with the practices of that community may result in increased knowledge as well as self confidence. Involvement with an OSS community in the pursuit of knowledge may thus benefit the SE student team. However, with an increased numbers of stakeholders to relate to, the complexity of project work [5] increases, and coordination becomes more challenging. Also, the introduction of unfamiliar, third party OSS components introduces difficulties in terms of providing a system design early in the SD lifecycle [6]. This makes planning and estimation harder. Generally, there is very limited experience in student teams in respect of project management. Programmingrelated tasks, as will be argued, tend to be given priority, and programmers given strong influence on the project process. We believe that project managers as well as supervisors of SE student teams may benefit from insights on how OSS participation can affect the projects, in order to be prepared to take adequate measures. With this as our point of departure, in this paper we explore why and how the interaction between a group of students, involved in an SE industry project, and an OSS developer community evolves over time. We further address how such interaction might influence the project process, particularly in respect of the power structures in the team. The paper is based on an in-depth exploratory study of the work and learning of a student SE team during the spring term of 2007. We demonstrate how the interaction of the team with an OSS developer community can be paramount to the success of a SE project. In our case, we found that the OSS community readily responded to the students’ requests for assistance on the use of the OSS, and that issues of contribution from the team to the OSS community quickly arose. Also, we found that the team member responsible for 791 109

<strong>The</strong> <strong>work</strong>-<strong>reflection</strong>-<strong>learning</strong> <strong>cycle</strong> in SE student projects: Use <strong>of</strong> collaboration tools<br />

108

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!