Authors: Igor Muzetti Pereira, Tiago Garcia de Senna Carneiro and Rodrigo Reis Pereira
This paper considers the challenges involved in open source software development in a Brazilian public university, where software development is done by both undergraduates and graduates. In Brazil, scientific research and technological innovation are mostly performed in university labs and not in private companies. Universities should transfer technology to industry producing richness. They should not compete with private companies in the local market. In these labs, developers are still in training and cannot assume all roles in the development process. They might not be fully committed to projects and their lifestyle will not depend on their income. This paper presents a case study of open source software development in this environment. We customize a process that mixes up artifacts and iteration dynamics from Scrum, roles and test-driven aspects from Extreme Programming, and management practices and team structure from PMBoK. During three years, twelve software projects have been executed and monitored by diverse processes measures. Meanwhile, the process has been evolved to improve these measures. Data analysis shows that using a well-defined test process is conducive to the production of good quality software in academic labs. The availability of a project schedule and team productivity information encourages the students to work productively and efficiently. Our main contribution is to provide evidence that, through the process we have customized, teams formed mostly of undergraduate students can develop and maintain long-lasting and innovative software, which is being used by institutions spread around the world. This process can be used by other academic labs with similar characteristics.
Keywords: software and system engineering, software process improvement, software innovation inuniversity laboratories, computer science undergradute courses