SESep 23, 2021
What Makes Agile Software Development Agile?Marco Kuhrmann, Paolo Tell, Regina Hebig et al.
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.
SEApr 19, 2021
Carrot and Stick approaches revisited when managing Technical Debt in an educational contextYania Crespo, Arturo Gonzalez-Escribano, Mario Piattini
Technical Debt management is an important aspect in the training of Software Engineering students. In this paper we study the effect of two assessment strategies in an educational context: One based on penalisation, the other based on rewards. Both are applied to assignments where the students develop a project focusing on keeping a low technical debt level, and obtaining a high quality code. We describe the design, tools and context of the strategies applied. SonarQube, a tool commonly used in production environments, is used for measuring the metrics. The penalisation strategy is based on a SonarQube quality gate. The reward strategy is based on a contest, where an automatic judge tool is devised to provide an online leaderboard with a classification based on the SonarQube metrics. An empirical study is conducted to determine which of the strategies works better to help the students/trainees keep the Technical Debt low. Statistically significant results are obtained in 5 of the 8 analysed metrics, showing that the reward strategy works much better. The effect size of the executed statistical tests is analysed, resulting in medium and large effect size in the majority of the analysed metrics.
SEMar 30, 2021
Modelling Quantum Circuits with UMLRicardo Pérez-Castillo, Luis Jiménez-Navajas, Mario Piattini
None of the quantum computing applications imagined will ever become a reality without quantum software. Quantum programmes have, to date, been coded with ad hoc techniques. Researchers in the field of quantum software engineering are, therefore, now demanding more systematic techniques and methods with which to produce software with sufficient quality. One of the challenges and lessons learned from classic software engineering is the need for high-level, abstract and technology-independent representations with which to design software before it is coded. This paper specifically addresses this challenge for quantum software design. Since UML is a well-proven modelling language that has been widely employed by industry for some time, we propose a UML extension for the representation of quantum algorithms. Our proposal comprises the definition of a UML profile based on various stereotypes that can be applied to the existing UML activity diagrams in order to represent quantum circuits. The advantage of this representation is that UML quantum circuits can be interrelated with other UML elements and diagrams, which will make it possible to represent various concerns and viewpoints of the so-called hybrid information systems. This will consequently enable classical and quantum aspects to be modelled together in integrated designs in a technological-agnostic manner that is already supported by a considerable number of existing software design tools.
SEDec 13, 2018
Conceptualizing Business Process MapsGeert Poels, Felix Garcia, Francisco Ruiz et al.
Process maps provide a high-level overview of an organisation's business processes. While used for many years in different shapes and forms, there is little shared understanding of the concept and its relationship to enterprise architecture. In this report we position the concept of business process map within the domain of enterprise architecture. Based on literature, we provide a conceptualisation of the process map as a business process architecture model that can be integrated with the broader enterprise architecture model. From our conceptualisation we derive requirements for designing a meta-model of a modelling language for process maps. The design of this meta-model is the subject of a research paper, entitled Architecting Business Process Maps, for which this report acts as a complement that details the underlying process map conceptualisation.
SEDec 2, 2013
Applying AOSE Concepts to Model Crosscutting Variability in Variant-Rich ProcessesTomás Martínez-Ruiz, Félix García, Mario Piattini et al.
Software process models need to be variant-rich, in the sense that they should be systematically customizable to specific project goals and project environments. It is currently very difficult to model Variant-Rich Process (VRP) because variability mechanisms are largely missing in modern process modeling languages. Variability mechanisms from other domains, such as programming languages, might be suitable for the representation of variability and could be adapted to the modeling of software processes. Mechanisms from Software Product Line Engineering (SPLE) and concepts from Aspect- Oriented Software Engineering (AOSE) show particular promise when modeling variability. This paper presents an approach that integrates variability concepts from SPLE and AOSE in the design of a VRP approach for the systematic support of tailoring in software processes. This approach has also been implemented in SPEM, resulting in the vSPEM notation. It has been used in a pilot application, which indicates that our approach based on AOSE can make process tailoring easier and more productive.