Browsing by Author "Felderer, M."
Now showing 1 - 5 of 5
- Results Per Page
- Sort Options
Item Open Access Aligning software engineering education with industrial needs: a meta-analysis(Elsevier, 2019) Garousi, V.; Giray, G.; Tüzün, Eray; Catal, C.; Felderer, M.Context: According to various reports, many software engineering (SE) graduates often face difficulties when beginning their careers, which is mainly due to misalignment of the skills learned in university education with what is needed in the software industry. Objective: Our objective is to perform a meta-analysis to aggregate the results of the studies published in this area to provide a consolidated view on how to align SE education with industry needs, to identify the most important skills and also existing knowledge gaps. Method: To synthesize the body of knowledge, we performed a systematic literature review (SLR), in which we systematically selected a pool of 35 studies and then conducted a meta-analysis using data extracted from those studies. Results: Via a meta-analysis and using data from 13 countries and over 4,000 data points, highlights of the SLR include: (1) software requirements, design, and testing are the most important skills; and (2) the greatest knowledge gaps are in configuration management, SE models and methods, SE process, design (and architecture), as well as in testing. Conclusion: This paper provides implications for both educators and hiring managers by listing the most important SE skills and the knowledge gaps in the industryItem Open Access Catching up with method and process practice: an industry-informed baseline for researchers(Institute of Electrical and Electronics Engineers Inc., 2019) Klünder, J.; Hebig, R.; Tell, P.; Kuhrmann, M.; Nakatumba-Nabende, J.; Heldal, R.; Krusche, S.; Fazal-Baqaie, M.; Felderer, M.; Bocco, M. F. G.; Küpper, S.; Licorish, S. A.; Lopez, G.; McCaffery, F.; Top, Ö. Ö.; Prause, C. R.; Prikladnicki, R.; Tüzün, Eray; Pfahl, D.; Schneider, K.; MacDonell, S. G.Software development methods are usually not applied by the book. Companies are under pressure to continuously deploy software products that meet market needs and stakeholders' requests. To implement efficient and effective development processes, companies utilize multiple frameworks, methods and practices, and combine these into hybrid methods. A common combination contains a rich management framework to organize and steer projects complemented with a number of smaller practices providing the development teams with tools to complete their tasks. In this paper, based on 732 data points collected through an international survey, we study the software development process use in practice. Our results show that 76.8% of the companies implement hybrid methods. Company size as well as the strategy in devising and evolving hybrid methods affect the suitability of the chosen process to reach company or project goals. Our findings show that companies that combine planned improvement programs with process evolution can increase their process' suitability by up to 5%.Item Open Access Closing the gap between software engineering education and ındustrial needs(IEEE, 2020) Garousi, V.; Giray, G.; Tüzün, Eray; Çatal, Ç.; Felderer, M.Many recent software engineering graduates often face difficulties when beginning their professional careers, due to misalignment of the skills learned in their university education with what is needed in industry. In this article, we report a literature review of the studies that have been done to make improvements on this issue.Item Open Access Ground truth deficiencies in software engineering: When codifying the past can be counterproductive(IEEE, May 2022) Tüzün, Eray; Erdoğmuş, H.; Baldassarre, M. T.; Felderer, M.; Feldt, R.; Turhan, B.Many software engineering tools build and evaluate their models based on historical data to support development and process decisions. These models help us answer numerous interesting questions, but have their own caveats. In a real-life setting, the objective function of human decision-makers for a given task might be influenced by a whole host of factors that stem from their cognitive biases, subverting the ideal objective function required for an optimally functioning system. Relying on this data as ground truth may give rise to systems that end up automating software engineering decisions by mimicking past sub-optimal behaviour. We illustrate this phenomenon and suggest mitigation strategies to raise awareness.Item Open Access What makes agile software development agile(IEEE, 2021-07-26) Kuhrmann, M.; Tell, P.; Hebig, R.; Klunder, J. A-C; Munch, J.; Linssen, O.; Pfahl, D.; Felderer, M.; Prause, C.; Macdonell, S.; Nakatumba-Nabende, J.; Raffo, D.; Beecham, S.; Tüzün, Eray; Lopez, G.; Paez, N.; Fontdevila, D.; Licorish, S.; Kupper, S.; Ruhe, G.; Knauss, E.; Özcan-Top, O.; Clarke, P.; Mc Caffery, F. H.; Genero, M.; Vizcaino, A.; Piattini, M.; Kalinowski, M.; Conte, T.; Prikladnicki, R.; Krusche, S.; Coşkunçay, A.; Scott, E.; Calefato, F.; Pimonova, S.; Pfeiffer, R-H; Schultz, U. P.; Heldal, R.; Fazal-Baqaie, M.; Anslow, C.; Nayebi, M.; Schneider, K.; Sauer, S.; Winkler, D.; Biffl, S.; Bastarrica, C.; Richardson, I.Together with many success stories, promises such as the increase in production speed and the improvement in stakeholders' collaboration have contributed to making agile a transformation in the software industry in which many companies want to take part. However, driven either by a natural and expected evolution or by contextual factors that challenge the adoption of agile methods as prescribed by their creator(s), software processes in practice mutate into hybrids over time. Are these still agile In this article, we investigate the question: what makes a software development method agile We present an empirical study grounded in a large-scale international survey that aims to identify software development methods and practices that improve or tame agility. Based on 556 data points, we analyze the perceived degree of agility in the implementation of standard project disciplines and its relation to used development methods and practices. Our findings suggest that only a small number of participants operate their projects in a purely traditional or agile manner (under 15%). That said, most project disciplines and most practices show a clear trend towards increasing degrees of agility. Compared to the methods used to develop software, the selection of practices has a stronger effect on the degree of agility of a given discipline. Finally, there are no methods or practices that explicitly guarantee or prevent agility. We conclude that agility cannot be defined solely at the process level. Additional factors need to be taken into account when trying to implement or improve agility in a software company. Finally, we discuss the field of software process-related research in the light of our findings and present a roadmap for future research.