The software development laboratory: incorporating industrial practice in an academic environment

Author(s):  
M.J. Sebern
2021 ◽  
Vol 181 ◽  
pp. 827-834
Author(s):  
Luís M. Alves ◽  
Gustavo Souza ◽  
Pedro Ribeiro ◽  
Ricardo J. Machado

Author(s):  
CUAUHTÉMOC LÓPEZ-MARTÍN ◽  
ALAIN ABRAN

Expert-based effort prediction in software projects can be taught, beginning with the practices learned in an academic environment in courses designed to encourage them. However, the length of such courses is a major concern for both industry and academia. Industry has to work without its employees while they are taking such a course, and academic institutions find it hard to fit the course into an already tight schedule. In this research, the set of Personal Software Process (PSP) practices is reordered and the practices are distributed among fewer assignments, in an attempt to address these concerns. This study involved 148 practitioners taking graduate courses who developed 1,036 software course assignments. The hypothesis on which it is based is the following: When the activities in the original PSP set are reordered into fewer assignments, the result is expert-based effort prediction that is statistically significantly better.


Author(s):  
Rory V. O'Connor

Given that it is relatively noncontroversial to claim that human capital, both in terms of education and experience, is associated with superior firm performance, this can be extended to say that having the requisite human capital in terms of software development staff is highly important for software development project success. However, translating into actual corporate benefits implies an understanding of the range of human capital issues in organizations. The present study examines one such range of issues with a focus on the dynamics of teams, where team dynamics is taken as a general term to denote the nature, quality and quantity of interactions among a firms human capital at the team level. Specifically we refer to collaborative dynamics among human capital team resources to indicate the extent to which valuable information is shared, levels of engagement, the existence of a collective sense of awareness and the ability to learn from one another. The results of a study of a series of very small software development firms are presented to ground this study in industrial practice.


Author(s):  
Michael Riesener ◽  
Christian Doelle ◽  
Sebastian Schloesser ◽  
Guenther Schuh

Abstract Agile development processes such as Scrum have been successfully applied in the software industry for many years. Based on experience, industrial practitioners indicate three predominant benefits of agile development processes compared to traditional software development processes. First of all, development results better fit customers’ and other stakeholders’ needs. That is because they are intensively involved in the development process by receiving, applying and assessing functional software increments in a defined cadence throughout the development process. Secondly, agile development processes better cope with unexpected changes in the development process due to the built-in process flexibility. Lastly, development speed has significantly increased in most of the agile software development projects, resulting in a shorter time-to-market. Especially in the context of radical innovations for technical systems, manufacturing companies are striving for approaches to optimize their development processes in a similar direction. Traditional plan-oriented development approaches such as VDI 2221 or Cooper’s Stage-Gate Process turn out to be insufficiently customer oriented, too inflexible and project duration is usually too long to reach an adequate time-to-market. For that reason, a large community in academia and industrial practice is developing and implementing approaches to adapt agile software development practices for the development of technical systems. However, a current study in industrial practice reveals that out of 23 objectives, that are expected when introducing agile development processes to technical systems, the three objectives mentioned above, show the largest negative deviations from expected benefit to realized benefit. Therefore, the overall goal of this research is to address these gaps by developing an explicit methodological approach for an agile development of technical systems. It turns out, that mainly the role of prototyping and the way product specifications are handled during the development process change significantly in the course of introducing agility to development of technical systems. Agile practitioners strive to not necessarily define product specifications comprehensively upfront, as it is postulated in plan-oriented development processes. In contrast, product specifications, which are of major importance to the overall development project, are specified and validated with customers and other stakeholders in early prototypes. Therefore, prototypes are realized in a defined cadence throughout the development process to gradually specify and validate the product. However, the way product specifications are prioritized and selected in the development of technical systems has to differ substantially from the general way Scrum or other existing agile development processes propose. That is because technical systems are characterized by multiple technical interrelations, resulting in informational dependencies for the development process. For that reason, a prioritization along criteria such as customer value, development effort and risk seems too narrow in the context of technical systems. In fact, the prioritization of product specifications has to consider both, the value being generated by their realization as well as the informational dependencies towards other specifications. Furthermore, when designing a prototype, time constraints need to be particularly considered due to lead times in parts delivery and prototype production. Therefore, this paper introduces a methodology to prioritize and select technical design parameters in agile development processes. The methodology can be applied in the cyclical sprint planning that aims at defining the scope of the next prototype to be developed. As outlined above, the major paradigms of value generation, informational dependencies as well as lead-time and effort are crucial when adapting agile for technical systems and are consequently implemented in the methodology. These paradigms are operationalized to explicitly address the mentioned major objectives of agile development processes, which are currently showing are large gap between expected benefit and realized benefit in industrial practice. The methodology is applied to the real development process of an RGB laser light source for digital cinema projectors, which is summarized as a case study in the paper. Insights from this application are equally discussed as the resulting next steps in further developing and aligning the methodology to the needs of industrial practice.


Author(s):  
Claudia M. F. A. Ribeiro ◽  
Suzyanne De Oliveira Queiroz ◽  
Marília Aranha Freire ◽  
Fellipe Araújo Aleixo

This paper presents an integrated approach for software development process, which aims to help the transition of innovative ideas with market potential, emerged from academic environment. This integrated process was applied in an undergraduate course at IFRN, and the results are presented and discussed, including a real case study.


Sign in / Sign up

Export Citation Format

Share Document