Publicaciones

Found(s) 33 result(s)
Found(s) 1 page(s)

Data-driven elicitation, assessment and documentation of quality requirements in agile software development

UPCommons. Portal del coneixement obert de la UPC
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
  • Gómez Seoane, Cristina|||0000-0002-3872-0439
  • Jedlitschka, Andreas
  • López Cuesta, Lidia|||0000-0002-6901-9223
  • Martínez Fernández, Silverio Juan|||0000-0001-9928-133X
  • Oriol Hilari, Marc|||0000-0003-1928-7024
  • Partanen, Jari
Quality Requirements (QRs) are difficult to manage in agile software development. Given the pressure to deploy fast, quality concerns are often sacrificed for the sake of richer functionality. Besides, artefacts as user stories are not particularly well-suited for representing QRs. In this exploratory paper, we envisage a data-driven method, called Q-Rapids, to QR elicitation, assessment and documentation in agile software development. Q-Rapids proposes: 1) The collection and analysis of design and runtime data in order to raise quality alerts; 2) The suggestion of candidate QRs to address these alerts; 3) A strategic analysis of the impact of such requirements by visualizing their effect on a set of indicators rendered in a dashboard; 4) The documentation of the requirements (if finally accepted) in the backlog. The approach is illustrated with scenarios evaluated through a questionnaire by experts from a telecom company., Peer Reviewed




Quality measurement in agile and rapid software development: A systematic mapping

UPCommons. Portal del coneixement obert de la UPC
  • López Cuesta, Lidia|||0000-0002-6901-9223
  • Burgués Illa, Xavier|||0000-0001-6974-9886
  • Martínez Fernández, Silverio Juan|||0000-0001-9928-133X
  • Vollmer, Anna Maria
  • Behutiye, Woubshet
  • Karhapää, Pertti
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
  • Rodríguez, Pilar
  • Oivo, Markku
Context: In despite of agile and rapid software development (ARSD) being researched and applied extensively, managing quality requirements (QRs) are still challenging. As ARSD processes produce a large amount of data, measurement has become a strategy to facilitate QR management. Objective: This study aims to survey the literature related to QR management through metrics in ARSD, focusing on: bibliometrics, QR metrics, and quality-related indicators used in quality management. Method: The study design includes the definition of research questions, selection criteria, and snowballing as search strategy. Results: We selected 61 primary studies (2001-2019). Despite a large body of knowledge and standards, there is no consensus regarding QR measurement. Terminology is varying as are the measuring models. However, seemingly different measurement models do contain similarities. Conclusion: The industrial relevance of the primary studies shows that practitioners have a need to improve quality measurement. Our collection of measures and data sources can serve as a starting point for practitioners to include quality measurement into their decision-making processes. Researchers could benefit from the identified similarities to start building a common framework for quality measurement. In addition, this could help researchers identify what quality aspects need more focus, e.g., security and usability with few metrics reported., This work has been funded by the European Union’s Horizon 2020 research and innovation program through the Q-Rapids project (grant no. 732253). This research was also partially supported by the Spanish Ministerio de Economía, Industria y Competitividad through the DOGO4ML project (grant PID2020-117191RB-I00). Silverio Martínez-Fernández worked in Fraunhofer IESE before January 2020., Peer Reviewed




A method to estimate software strategic indicators in software development: An industrial application

UPCommons. Portal del coneixement obert de la UPC
  • Manzano Aguilar, Martí|||0000-0001-7944-7232
  • Ayala Martínez, Claudia Patricia|||0000-0002-6262-3698
  • Gómez Seoane, Cristina|||0000-0002-3872-0439
  • Abhervé, Antonin
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
  • Mendes, Emilia
Context: Exploiting software development related data from software-development intensive organizations to support tactical and strategic decision making is a challenge. Combining data-driven approaches with expert knowledge has been highlighted as a sensible approach for leading software-development intensive organizations to rightful decision-making improvements. However, most of the existing proposals lack of important aspects that hinders their industrial uptake such as: customization guidelines to fit the proposals to other contexts and/or automatic or semi-automatic data collection support for putting them forward in a real organization. As a result, existing proposals are rarely used in the industrial context.

Objective: Support software-development intensive organizations with guidance and tools for exploiting software development related data and expert knowledge to improve their decision making.

Method: We have developed a novel method called SESSI (Specification and Estimation of Software Strategic Indicators) that was articulated from industrial experiences with Nokia, Bittium, Softeam and iTTi in the context of Q-Rapids European project following a design science approach. As part of the industrial summative evaluation, we performed the first case study focused on the application of the method.

Results: We detail the phases and steps of the SESSI method and illustrate its application in the development of ModelioNG, a software product of Modeliosoft development firm.

Conclusion: The application of the SESSI method in the context of ModelioNG case study has provided us with useful feedback to improve the method and has evidenced that applying the method was feasible in this context., This work was supported by the Spanish Ministry of Economy and Competitiveness (project GENESIS, grant agreement TIN2016-79269- R), and by the European Union’s Horizon 2020 research and innovation program (Q-Rapids project, grant agreement N◦732253)., Peer Reviewed




Integrating runtime data with development data to monitor external quality: challenges from practice

UPCommons. Portal del coneixement obert de la UPC
  • Aghabayli, Aytaj
  • Pfahl, Dietmar
  • Martínez Fernández, Silverio Juan|||0000-0001-9928-133X
  • Trendowicz, Adam
The use of software analytics in software development companies has grown in the last years. Still, there is little support for such companies to obtain integrated insightful and actionable information at the right time. This research aims at exploring the integration of runtime and development data to analyze to what extent external quality is related to internal quality based on real project data. Over the course of more than three months, we collected and analyzed data of a software product following the CRISP-DM process. We studied the integration possibilities between runtime and development data, and implemented two integrations. The number of bugs found in code has a weak positive correlation with code quality measures and a moderate negative correlation with the number of rule violations found. Other types of correlations require more data cleaning and higher quality data for their exploration. During our study, several challenges to exploit data gathered both at runtime and during development were encountered. Lessons learned from integrating external and internal data in software projects may be useful for practitioners and researchers alike., Peer Reviewed




Measuring and improving Agile Processes in a small-size software development company

UPCommons. Portal del coneixement obert de la UPC
  • Choras, Michal
  • Springer, Thomas
  • Kozik, Rafal
  • López Cuesta, Lidia|||0000-0002-6901-9223
  • Martínez Fernández, Silverio Juan|||0000-0001-9928-133X
  • Ram, Prabhat
  • Rodríguez, Pilar
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
Context: Agile software development has become commonplace in software development companies due to the numerous benefits it provides. However, conducting Agile projects is demanding in Small and Medium Enterprises (SMEs), because projects start and end quickly, but still have to fulfil customers' quality requirements. Objective: This paper aims at reporting a practical experience on the use of metrics related to the software development process as a means supporting SMEs in the development of software following an Agile methodology. Method: We followed Action-Research principles in a Polish small-size software development company. We developed and executed a study protocol suited to the needs of the company, using a pilot case. Results: A catalogue of Agile development process metrics practically validated in the context of a small-size software development company, adopted by the company in their Agile projects. Conclusions: Practitioners may adopt these metrics in their Agile projects, especially if working in an SME, and customise them to their own needs and tools. Academics may use the findings as a baseline for new research work, including new empirical studies., The authors would like to thank all the members of the QRapids H2020 project consortium., Peer Reviewed




Success factors for effective process metrics operationalization in agile software development: a multiple case study

UPCommons. Portal del coneixement obert de la UPC
  • Ram, Prabhat
  • Rodríguez, Pilar
  • Oivo, Markku
  • Martínez Fernández, Silverio Juan|||0000-0001-9928-133X
Existing literature proposes success factors for establishing metrics programs. However, very few studies focus on factors that could ensure long-term use of metrics, and even fewer studies investigate such factors in the context of Agile Software Development (ASD). Motivated by this knowledge gap, we aim to identify success factors for operationalizing metrics in ASD, particularly, factors that could help in the long-term use of metrics. We conducted a multiple case study, where we operationalized process metrics at two software-intensive companies using ASD. We learned that data availability and development process are the two fundamental success factors for process metrics operationalization, albeit less prominent in literature. Companies prefer iterative and incremental operationalization of stable and functional process metrics, which is analogous to the agile way of working. Metrics trustworthiness plays a key role in successful operationalization of process metrics, and is potentially vital to ensuring their long-term use. By comparing the identified success factors with the existing literature, we conclude that success factors concerning data availability, development process, and metrics trustworthiness warrant greater attention, especially to maximize the chances of long-term use of process metrics., Peer Reviewed




Quality measurement in agile and rapid software development: a systematic mapping [Dataset]

UPCommons. Portal del coneixement obert de la UPC
  • López Cuesta, Lidia|||0000-0002-6901-9223
  • Burgués Illa, Xavier|||0000-0001-6974-9886
  • Martínez Fernández, Silverio Juan|||0000-0001-9928-133X
  • Vollmer, Anna Maria
  • Behutiye, Woubshet
  • Karhapää, Pertti
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
  • Rodriguez, Pilar
  • Oivo, Markku
The dataset contains the following files: (1) readme.txt, it is a text file including details about the content of the dataset; (2) Measurement in ARSD_SMS_Data.xls, it is a MS Excel file containing the data used in the analysis of the primary studies, reported in Section 4 of the paper; and, (3) Metrics in ARSD.pdf, it is pdf file containing the complete list of metrics reported in the different primary studies. The metrics are classified into the following categories: QR metrics, QMIs, and QMI metrics. In the MS Excel file, the data is organised in separated sheets: (a) RQ1 - Literature characterisation; (b) RQ2 - QR Metrics, where QR refers to Quality Requirements; (c) RQ3 - QMI, where QMI refers to Quality Management Indicators; (d) RQ3 - Tools, corresponding to the reported tools used to manage QMIs; and, (e) RQ3 - QMI Metrics., This dataset has been used to generate part of the results included in the manuscript: “Quality Measurement in Agile and Rapid Software Development: A Systematic Mapping”, submitted to the Information and Software Technology journal (IST) at the time of publishing this dataset. The paper reports the results of a systematic mapping study surveying the literature related to quality requirements management through metrics in agile and rapid software development processes.

The dataset contains the data extracted from the primary studies that was used in the analysis phase of the study and reported in the results section of the paper. The data extracted from the primary studies has been complemented with some data used for specific purposes, e.g. during the analysis phase, we included the list of companies collaborating in the paper analysing the authors’ affiliations to understand the level of implication of companies in the field.

Complementing the data analysed, the dataset includes some detailed results that are not included in the body of the paper, i.e., the list of metrics reported in the selected primary studies.




Quality-aware Rapid Software Development Project: The Q-Rapids Project

UPCommons. Portal del coneixement obert de la UPC
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
  • López Cuesta, Lidia|||0000-0002-6901-9223
  • Martinez Fernandez, Silverio
  • Oriol Hilari, Marc|||0000-0003-1928-7024
  • Rodríguez, Pilar
  • Trendowicz, Adam
Software quality poses continuously new challenges in software development, including aspects related to both software development and system usage, which significantly impact the success of software systems. The Q-Rapids H2020 project defines an evidence-based, data-driven quality-aware rapid software development methodology. Quality requirements (QRs) are incrementally elicited, refined and improved based on data gathered from software repositories, project management tools, system usage and quality of service. This data is analysed and aggregated into quality-related key strategic indicators (e.g., development effort required to include a given QR in the next development cycle) which are presented to decision makers using a highly informative dashboard. The Q-Rapids platform is being evaluated in-premises by the four companies participating in the consortium, reporting useful lessons learned and directions for new development., Peer Reviewed




Agile quality requirements management best practices portfolio : a situational method engineering approach

UPCommons. Portal del coneixement obert de la UPC
  • López Cuesta, Lidia|||0000-0002-6901-9223
  • Behutiye, Woubshet
  • Karhapää, Pertti
  • Ralyté, Jolita
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
  • Oivo, Markku
Management of Quality Requirements (QRs) is determinant for the success of software projects. However, this management is currently under-considered in software projects and in particular, in agile methods. Although agile processes are focused on the functional aspects of the software, some agile practices can be beneficial for the management of QRs. For example, the collaboration and interaction of people can help in the QR elicitation by reducing vagueness of requirements through communication. In this paper, we present the initial findings of our research investigating what industrial practices, from the agile methods, can be used for better management of QRs in agile software development. We use Situational Method Engineering to identify, complement and classify a portfolio of best practices for QR management in agile environments. In this regard, we present the methodological approach that we are applying for the definition of these guidelines and the requirements that will lead us to compile a portfolio of agile QR management best practices. The proposed requirements correspond to the whole software life cycle starting in the elicitation and finalizing in the deployment phases., Peer Reviewed




Non-functional requirements documentation in agile software development: challenges and solution proposal

UPCommons. Portal del coneixement obert de la UPC
  • Behutiye, Woubshet
  • Karhapää, Pertti
  • Costal Costa, Dolors|||0000-0002-7340-0414
  • Oivo, Markku
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
Non-functional requirements (NFRs) are determinant for the success of software projects. However, they are characterized as hard to define, and in agile software development (ASD), are often given less priority and usually not documented. In this paper, we present the findings of the documentation practices and challenges of NFRs in companies utilizing ASD and propose guidelines for enhancing NFRs documentation in ASD. We interviewed practitioners from four companies and identified that epics, features, user stories, acceptance criteria, Definition of Done (DoD), product and sprint backlogs are used for documenting NFRs. Wikis, word documents, mockups and spreadsheets are also used for doc-umenting NFRs. In smaller companies, NFRs are communicated through white board and flip chart discussions and developers’ tacit knowledge is prioritized over documentation. However, loss of traceability of NFRs, the difficulty in com-prehending NFRs by new developers joining the team and limitations of docu-mentation practices for NFRs are challenges in ASD. In this regard, we propose guidelines for documenting NFRs in ASD. The proposed guidelines consider the diversity of the NFRs to document and suggest different representation artefacts depending on the NFRs scope and level of detail. The representation artefacts suggested are among those currently used in ASD in order not to introduce new specific ones that might hamper actual adoption by practitioners., Peer Reviewed




Q-Rapids: Quality-Aware Rapid Software Development: an H2020 Project

UPCommons. Portal del coneixement obert de la UPC
  • López Cuesta, Lidia|||0000-0002-6901-9223
  • Oriol Hilari, Marc|||0000-0003-1928-7024
This work reports the objectives, current state, and outcomes of the Q-Rapids H2020 project. Q-Rapids (Quality-Aware Rapid Software Development) proposes a data-driven approach to the production of software following very short development cycles. The focus of Q-Rapids is on quality aspects, represented through quality requirements. The Q-Rapids platform, which is the tangible software asset emerging from the project, mines software repositories and usage logs to identify candidate quality requirements that may ameliorate the values of strategic indicators like product quality, time to market or team productivity. Four companies are providing use cases to evaluate the platform and associated processes., Peer Reviewed




Actionable software metrics: An industrial perspective

UPCommons. Portal del coneixement obert de la UPC
  • Ram, Prabhat
  • Rodríguez, Pilar
  • Oivo, Markku
  • Martínez Fernández, Silverio Juan|||0000-0001-9928-133X
  • Bagnato, Alessandra
  • Choras, Michal
  • Kozik, Rafal
  • Aaramaa, Sanja
  • Ahola, Milla
Background: Practitioners would like to take action based on software metrics, as long as they find them reliable. Existing literature explores how metrics can be made reliable, but remains unclear if there are other conditions necessary for a metric to be actionable. Context & Method: In the context of a European H2020 Project, we conducted a multiple case study to study metrics’ use in four companies, and identified instances where these metrics influenced actions. We used an online questionnaire to enquire about the project participants’ views on actionable metrics. Next ,we invited one participant from each company to elaborate on the identified metrics’ use for taking actions and the questionnaire responses (N=17). Result:We learned that a metric that is practical, contextual, and exhibits high data quality characteristics is actionable. Even a non-actionable metric can be useful, but an actionable metric mostly requires interpretation. However, the more these metrics are simple and reflect the software development context accurately, the less interpretation required to infer actionable information from the metric. Company size and project characteristics can also influence the type of metric that can be actionable. Conclusion: This exploration of industry’s views on actionable metrics help characterize actionable metrics in practical terms. This awareness of what characteristics constitute an actionablemetric can facilitate theirdefinition and developmentright from the start of a software metrics program, This work is a result of the Q-Rapids Project, funded by the European Union’s Horizon 2020 research and innovation program, under grant agreement No. 732253., Peer Reviewed




Software development metrics prediction using time series methods

UPCommons. Portal del coneixement obert de la UPC
  • Choras, Michal
  • Kozik, Rafal
  • Pawlicki, Marek
  • Holubowicz, Witold
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
The software development process is an intricate task, with the growing complexity of software solutions and inflating code-line count being part of the reason for the fall of software code coherence and readability thus being one of the causes for software faults and it’s declining quality. Debugging software during development is significantly less expensive than attempting damage control after the software’s release. An automated quality-related analysis of developed code, which includes code analysis and correlation of development data like an ideal solution. In this paper the ability to predict software faults and software quality is scrutinized. Hereby we investigate four models that can be used to analyze time-based data series for prediction of trends observed in the software development process are investigated. Those models are Exponential Smoothing, the Holt-Winters Model, Autoregressive Integrated Moving Average (ARIMA) and Recurrent Neural Networks (RNN). Time-series analysis methods prove a good fit for software related data prediction. Such methods and tools can lend a helping hand for Product Owners in their daily decision-making process as related to e.g. assignment of tasks, time predictions, bugs predictions, time to release etc. Results of the research are presented., Peer Reviewed




Management of quality requirements in agile and rapid software development: A systematic mapping study

UPCommons. Portal del coneixement obert de la UPC
  • Behutiye, Woubshet
  • Karhapää, Pertti
  • López Cuesta, Lidia|||0000-0002-6901-9223
  • Burgués Illa, Xavier|||0000-0001-6974-9886
  • Martínez Fernández, Silverio Juan|||0000-0001-9928-133X
  • Vollmer, Anna Maria
  • Rodríguez, Pilar
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
  • Oivo, Markku
Context:
Quality requirements (QRs) describe the desired quality of software, and they play an important role in the success of software projects. In agile software development (ASD), QRs are often ill-defined and not well addressed due to the focus on quickly delivering functionality. Rapid software development (RSD) approaches (e.g., continuous delivery and continuous deployment), which shorten delivery times, are more prone to neglect QRs. Despite the significance of QRs in both ASD and RSD, there is limited synthesized knowledge on their management in those approaches.

Objective:
This study aims to synthesize state-of-the-art knowledge about QR management in ASD and RSD, focusing on three aspects: bibliometric, strategies, and challenges.

Research method:
Using a systematic mapping study with a snowballing search strategy, we identified and structured the literature on QR management in ASD and RSD.

Results:
We found 156 primary studies: 106 are empirical studies, 16 are experience reports, and 34 are theoretical studies. Security and performance were the most commonly reported QR types. We identified various QR management strategies: 74 practices, 43 methods, 13 models, 12 frameworks, 11 advices, 10 tools, and 7 guidelines. Additionally, we identified 18 categories and 4 non-recurring challenges of managing QRs. The limited ability of ASD to handle QRs, time constraints due to short iteration cycles, limitations regarding the testing of QRs and neglect of QRs were the top categories of challenges.

Conclusion:
Management of QRs is significant in ASD and is becoming important in RSD. This study identified research gaps, such as the need for more tools and guidelines, lightweight QR management strategies that fit short iteration cycles, investigations of the link between QRs challenges and technical debt, and extension of empirical validation of existing strategies to a wider context. It also synthesizes QR management strategies and challenges, which may be useful for practitioners., Peer Reviewed




How do practitioners manage quality requirements in rapid software development : a survey

UPCommons. Portal del coneixement obert de la UPC
  • López Cuesta, Lidia|||0000-0002-6901-9223
  • Partanen, Jari
  • Rodríguez, Pilar
  • Martínez Fernández, Silverio Juan|||0000-0001-9928-133X
Software quality is an essential competitive factor for the success of software companies today. Increasing software quality levels of software products and services requires an adequate integration of quality requirements (QRs) in the software life-cycle, which is still scarcely supported in current rapid software development (RSD) approaches. RSD refers to the organizational capability to develop, release, and learn from software in rapid cycles. Q-Rapids (Quality-aware Rapid Software Development) research project aims to support decision-makers for QRs management in RSD. The goal of this survey is to explore how software development organizations using RSD manage QRs.
The survey focuses on: (a) how data is gathered for assessing decisions related to product evolution, (b) how QRs are managed, and (c) the considered QRs in their products. We received 30 responses, from them we can conclude that most of the companies gather data both automatically and manually; QRs are managed together with functional requirements, sometimes or very often functionality gets priority over quality; and, the most reported QRs are reliability, performance, and security., Peer Reviewed




Data-driven elicitation of quality requirements in agile companies

UPCommons. Portal del coneixement obert de la UPC
  • Oriol Hilari, Marc|||0000-0003-1928-7024
  • Seppänen, Pertti
  • Behutiye, Woubshet
  • Farré Tost, Carles|||0000-0001-5814-3782
  • Kozik, Rafal
  • Martinez Fernandez, Silverio
  • Rodríguez, Pilar
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
  • Aaramaa, Sanja
  • Abhervé, Antonin
  • Choras, Michal
  • Partanen, Jari
Quality Requirements (QRs) are a key artifact to ensure the quality and success of a software system. Despite its importance, QRs have not reached the same degree of attention as its functional counterparts, especially in the context of trending software development methodologies like Agile Software Development (ASD). Moreover, crucial information that can be obtained from data sources of a project under development (e.g. JIRA, github,…) are not fully exploited, or even neglected, in QR elicitation activities. In this work, we present a data-driven approach to semi-automatically generate and document QRs in the context of ASD. We define an architecture focusing on the process and the artefacts involved. We validate and iterate on such architecture by conducting workshops in four companies of different size and profile. Finally, we present the implementation of such architecture, considering the feedback and outcomes of the conducted workshops., Peer Reviewed




How can quality awareness support rapid software development?: a research preview

UPCommons. Portal del coneixement obert de la UPC
  • Guzmán, Liliana
  • Oriol Hilari, Marc|||0000-0003-1928-7024
  • Rodríguez, Pilar
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
  • Jedlitschka, Andreas
  • Oivo, Markku
Context and Motivation: Rapid software development (RSD) refers to the organizational capability to develop, release, and learn from software in rapid cycles without compromising its quality. To achieve RSD, it is essential to understand and manage software quality along the software lifecycle. Question/Problem: Despite the numerous information sources related to product quality, there is a lack of mechanisms for supporting continuous quality management throughout the whole RSD process. Principal ideas/Results: We propose Q-Rapids, a data-driven, quality-aware RSD framework in which quality and functional requirements are managed together. Quality requirements are incrementally elicited and refined based on data gathered at both development time and runtime. Project, development, and runtime data is aggregated into quality-related indicators to support decision makers in steering future development cycles. Contributions: Q-Rapids aims to increase software quality through continuous data gathering and analysis, as well as continuous management of quality requirements., Peer Reviewed




Using Bayesian networks to estimate strategic indicators in the context of rapid software development

UPCommons. Portal del coneixement obert de la UPC
  • Manzano, Martí
  • Mendes, Emilia
  • Gómez Seoane, Cristina|||0000-0002-3872-0439
  • Ayala Martínez, Claudia Patricia|||0000-0002-6262-3698
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
Background: During Rapid Software Development, a large amount of project and development data can be collected from different and heterogeneous data sources. Aims: Design a methodology to process these data and turn it into relevant strategic indicators to help companies make meaningful decisions. Method: We adapt an existing methodology to create and estimate strategic indicators using Bayesian Networks in the context of Rapid Software Development, and applied it to a use case. Results: Applying the methodology in the use case, we create a model to predict product quality based on software factors and metrics, using companies’ business knowledge and collected data. Conclusions: We proved the methodology’s feasibility and obtained positive feedback from the company’s use case.




Evidence-based quality-aware agile software development process: design and evaluation

UPCommons. Portal del coneixement obert de la UPC
  • Karhapää, Pertti
  • Behutiye, Woubshet
  • Seppänen, Pertti
  • Rodríguez González, Pilar
  • Oivo, Markku
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
  • Martínez Fernández, Silverio Juan|||0000-0001-9928-133X
  • López Cuesta, Lidia|||0000-0002-6901-9223
  • Choras, Michal
  • Bagnato, Alessandra
  • Aaramaa, Sanja
  • Partanen, Jari
Agile software development (ASD) aims to deliver high-quality software. However, software quality often receives less attention in ASD due to focus on functionality. Elicit requirements for, design, validate, implement, and evaluate an evidence-based quality-aware ASD process that organizations can use for better integration of quality management. Using design science research, we collaborated for over 1.5 years with four organizations applying ASD. Involving a total of 35 practitioners, we designed new evidence-based quality-aware ASD processes, which were validated through simulated scenarios, implemented, and evaluated by the practitioners. A general ASD process model, derived from the companyspecific models, was created; it shows activities, artifacts, roles, and development phases where evidence can be used to improve software quality. The new process model contributed to higher quality awareness, improved bottleneck identification, release readiness, and quality issues prioritization in the studied companies. We also learned that companies must be mindful of the rules that determine the use of evidence. Integrating the use of quality related evidence into the ASD process can make it quality-aware, support software quality management, and enable timely reaction through fast feedback loops. The evidence-based quality-aware ASD process is applicable in any Scrum-like ASD process. Applicability in other forms of ASD, however, requires further research., This work was supported by the Q-Rapids project though the European Union’s Horizon 2020 Research and Innovation Program under
Grant 732253., Peer Reviewed




Data-driven requirements engineering in agile projects: The Q-Rapids approach

UPCommons. Portal del coneixement obert de la UPC
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
  • Ayala Martínez, Claudia Patricia|||0000-0002-6262-3698
  • López Cuesta, Lidia|||0000-0002-6901-9223
  • Martínez Fernández, Silverio Juan|||0000-0001-9928-133X
  • Rodríguez, Pilar
  • Gómez Seoane, Cristina|||0000-0002-3872-0439
  • Jedlitschka, Andreas
  • Oivo, Markku
  • Partanen, Jari
  • Räty, Timo
  • Rytivaara, Veikko
Requirements identification, specification and management are key activities in the software development process. In the last years, many approaches to these activities have emerged, based on the exploitation of huge amounts of data gathered from software repositories and system usage. The Q-Rapids project proposes the collection and analysis of such data and its consolidation into a set of strategic indicators as product quality, time to market and team productivity. These indicators are visualized through a dashboard designed to support decision-makers. In this paper, we present the ongoing research undertaken in this project. We use the concept of blocking situation to exemplify the Q-Rapids approach., Peer Reviewed




Practical experiences and value of applying software analytics to manage quality

UPCommons. Portal del coneixement obert de la UPC
  • Vollmer, Anna Maria
  • Martinez Fernandez, Silverio
  • Bagnato, Alessandra
  • Partanen, Jari
  • López Cuesta, Lidia|||0000-0002-6901-9223
  • Rodríguez, Pilar
© 2019 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes,creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works., Background: Despite the growth in the use of software analytics platforms in industry, little empirical evidence is available about the challenges that practitioners face and the value that these platforms provide. Aim: The goal of this research is to explore the benefits of using a software analytics platform for practitioners managing quality. Method: In a technology transfer project, a software analytics platform was incrementally developed between academic and industrial partners to address their software quality problems. This paper focuses on exploring the value provided by this software analytics platform in two pilot projects. Results: Practitioners emphasized major benefits including the improvement of product quality and process performance
and an increased awareness of product readiness. They especially perceived the semi-automated functionality of generating quality requirements by the software analytics platform as the benefit with the highest impact and most novel value for them. Conclusions: Practitioners can benefit from modern software analytics platforms, especially if they have time to adopt such a platform carefully and integrate it into their quality assurance activities., Peer Reviewed




Continuously assessing and improving software quality with software analytics tools: a case study

UPCommons. Portal del coneixement obert de la UPC
  • Martínez Fernández, Silverio Juan|||0000-0001-9928-133X
  • Vollmer, Anna Maria
  • Jedlitschka, Andreas
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
  • López Cuesta, Lidia|||0000-0002-6901-9223
  • Ram, Prabhat
  • Rodríguez, Pilar
  • Aaramaa, Sanja
  • Bagnato, Alessandra
  • Choras, Michal
  • Partanen, Jari
In the last decade, modern data analytics technologies have enabled the creation of software analytics tools offering real-time visualization of various aspects related to software development and usage. These tools seem to be particularly attractive for companies doing agile software development. However, the information provided by the available tools is neither aggregated nor connected to higher quality goals. At the same time, assessing and improving software quality has also been a key target for the software engineering community, yielding several proposals for standards and software quality models. Integrating such quality models into software analytics tools could close the gap by providing the connection to higher quality goals. This study aims at understanding whether the integration of quality models into software analytics tools provides understandable, reliable, useful, and relevant information at the right level of detail about the quality of a process or product, and whether practitioners intend to use it. Over the course of more than one year, the four companies involved in this case study deployed such a tool to assess and improve software quality in several projects. We used standardized measurement instruments to elicit the perception of 22 practitioners regarding their use of the tool. We complemented the findings with debriefing sessions held at the companies. In addition, we discussed challenges and lessons learned with four practitioners leading the use of the tool. Quantitative and qualitative analyses provided positive results; i.e., the practitioners’ perception with regard to the tool’s understandability, reliability, usefulness, and relevance was positive. Individual statements support the statistical findings and constructive feedback can be used for future improvements. We conclude that potential for future adoption of quality models within software analytics tools definitely exists and encourage other practitioners to use the presented seven challenges and seven lessons learned and adopt them in their companies., Peer Reviewed




QaSD: A Quality-aware Strategic Dashboard for supporting decision makers in Agile Software Development

UPCommons. Portal del coneixement obert de la UPC
  • López Cuesta, Lidia|||0000-0002-6901-9223
  • Manzano Aguilar, Martí|||0000-0001-7944-7232
  • Gómez Seoane, Cristina|||0000-0002-3872-0439
  • Oriol Hilari, Marc|||0000-0003-1928-7024
  • Farré Tost, Carles|||0000-0001-5814-3782
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
  • Martínez Fernández, Silverio Juan|||0000-0001-9928-133X
  • Vollmer, Anna Maria
Software and data analytics solutions support improving development processes and the quality of the software produced in Agile Software Development (ASD). However, decision makers in software teams (e.g., product owner, project manager) are demanding powerful tools providing evidence data that support their strategic decision-making processes. In this paper, we present and provide access to QaSD, a Quality-aware Strategic Dashboard supporting decision makers in ASD. The dashboard allows decision makers to define high-level strategic indicators (e.g., customer satisfaction, process performance) related to software quality and to measure, explore, simulate and forecast the values of those indicators in order to explain and justify their decisions. Moreover, we also provide the results of a conducted evaluation of the dashboard quality in a real environment that evaluated the QaSD as usable, easy to use, with good navigation, and reliable, This work was supported by Q-Rapids (Quality-Aware Rapid Software Development) and VISDOM (Visual diagnosis for DevOps software development) projects. Q-Rapids was funded by the European Union’s Horizon 2020 research and innovation programme under grant agreement n◦ 732253. VISDOM is funded by the Research, Development and Innovation cluster programme ITEA 3 (project no 17038)., Peer Reviewed




Conflicts and synergies among quality requirements

UPCommons. Portal del coneixement obert de la UPC
  • Boehm, Barry
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
Analyses of the interactions among quality requirements (QRs) have often found that optimizing on one QR will cause serious problems with other QRs. As just one relevant example, one large project had an Integrated Product Team optimize the system for Security. In doing so, it reduced its vulnerability profile by having a single-agent key distribution system and a single copy of the data base – only to have the Reliability engineers point on that these were system-critical single points of failure. The project’s Security-optimized architecture also created conflicts with the system’s Performance, Usability, and Modifiability. Of course, optimizing the system for Security had synergies with Reliability in having high levels of Confidentiality, Integrity, and Availability. This panel aims at fostering discussion on these relationships among QRs and how the use of data repositories may help discovering them., Peer Reviewed




Data-driven and tool-supported elicitation of quality requirements in agile companies

UPCommons. Portal del coneixement obert de la UPC
  • Oriol Hilari, Marc|||0000-0003-1928-7024
  • Martínez Fernández, Silverio Juan|||0000-0001-9928-133X
  • Behutiye, Woubshet
  • Farré Tost, Carles|||0000-0001-5814-3782
  • Kozik, Rafal
  • Seppänen, Pertti
  • Vollmer, Anna Maria
  • Rodríguez, Pilar
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
  • Aaramaa, Sanja
  • Abhervé, Antonin
  • Choras, Michal
  • Partanen, Jari
Quality requirements (QRs) are a key artifact needed to ensure the quality and success of a software system. Despite their importance, QRs rarely get the same degree of attention as their functional counterpart in agile software development (ASD) projects. Moreover, crucial information that can be obtained from software development repositories (e.g., JIRA, GitHub) is not fully exploited, or is even neglected, in QR elicitation activities. In this work, we present a data-driven tooled approach for the semi-automatic generation and documentation of QRs in the context of ASD. The approach is based on the declaration of thresholds over quality-related issues, whose violation triggers user-defined alerts. These alerts are used to browse a catalog of QR patterns that are presented to the ASD team by means of a dashboard that implements several analysis techniques. Once selected, the patterns generate the QRs, which are documented and stored in the product backlog. The full approach is implemented via a configurable platform. Over the course of 1 year, four companies differing in size and profile followed this approach and deployed the platform in their premises to semi-automatically generate QRs in several projects. We used standardized measurement instruments to elicit the perception of 22 practitioners regarding their use of the tool. The quantitative and qualitative analyses yielded positive results; i.e., the practitioners’ perception with regard to the tool’s understandability, reliability, usefulness, and relevance was positive. We conclude that the results show potential for future adoption of data-driven elicitation of QRs in agile companies and encourage other practitioners to use the presented tool and adopt it in their companies., This work is a result of the Q-Rapids project, which has received funding from the European Union’s Horizon 2020 Research and Innovation Programme under grant agreement no. 732253., Peer Reviewed




A quality model for actionable analytics in rapid software development

UPCommons. Portal del coneixement obert de la UPC
  • Martínez Fernández, Silverio Juan|||0000-0001-9928-133X
  • Jedlitschka, Andreas
  • Guzmán, Liliana
  • Vollmer, Anna Maria
Accessing relevant data on the product, process, and usage perspectives of software as well as integrating and analyzing such data is crucial for getting reliable and timely actionable insights aimed at continuously managing software quality in Rapid Software Development (RSD). In this context, several software analytics tools have been developed in recent years. However, there is a lack of explainable software analytics that software practitioners trust. Aims: We aimed at creating a quality model (called Q-Rapids quality model) for actionable analytics in RSD, implementing it, and evaluating its understandability and relevance. Method: We performed workshops at four companies in order to determine relevant metrics as well as product and process factors. We also elicited how these metrics and factors are used and interpreted by practitioners when making decisions in RSD. We specified the Q-Rapids quality model by comparing and integrating the results of the four workshops. Then we implemented the Q-Rapids tool to support the usage of the Q-Rapids quality model as well as the gathering, integration, and analysis of the required data. Afterwards we installed the Q-Rapids tool in the four companies and performed semi-structured interviews with eight product owners to evaluate the understandability and relevance of the Q-Rapids quality model. Results: The participants of the evaluation perceived the metrics as well as the product and process factors of the Q-Rapids quality model as understandable. Also, they considered the Q-Rapids quality model relevant for identifying product and process deficiencies (e.g., blocking code situations). Conclusions: By means of heterogeneous data sources, the Q-Rapids quality model enables detecting problems that take more time to find manually and adds transparency among the perspectives of system, process, and usage., Peer Reviewed




Q-Rapids tool prototype: supporting decision-makers in managing quality in rapid software development

UPCommons. Portal del coneixement obert de la UPC
  • López Cuesta, Lidia|||0000-0002-6901-9223
  • Martínez Fernández, Silverio Juan|||0000-0001-9928-133X
  • Gómez Seoane, Cristina|||0000-0002-3872-0439
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
Software quality is an essential competitive factor for the success of software companies today. Increasing the software quality levels of software products and services requires an adequate integration of quality requirements (QRs) in the software life-cycle, which is still scarcely supported in current rapid software development (RSD) approaches. One of the goals of the Q-Rapids (Quality-aware Rapid Software Development) method is providing tool support to decision-makers for QR management in RSD. The Q-Rapids method is based on gathering data from several and heterogeneous sources, to be aggregated into quality-related strategic indicators (e.g., customer satisfaction, product quality) and presented to decision-makers using a highly informative dashboard. The current release of Q-Rapids Tool provides four sets of functionality: (1) data gathering from source tools (e.g. GitLab, Jira, SonarQube, and Jenkins), (2) aggregation of data into three levels of abstraction (metrics, product/process factors, and strategic indicators), (3) visualization of the aggregated data, and (4) navigation through the aggregated data. The tool has been evaluated by four European companies that follow RSD processes., Peer Reviewed




Strategies to manage quality requirements in agile software development: a multiple case study

UPCommons. Portal del coneixement obert de la UPC
  • Karhapää, Pertti
  • Behutiye, Woubshet
  • Rodríguez González, Pilar
  • Oivo, Markku
  • Costal Costa, Dolors|||0000-0002-7340-0414
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
  • Aaramaa, Sanja
  • Choras, Michal
  • Partanen, Jari
  • Abherve, Antonin
Agile methods can deliver software that fulfills customer needs rapidly and continuously. Quality requirements (QRs) are important in this regard; however, detailed studies on how companies applying agile methods to manage QRs are limited, as are studies on the rationale for choosing specific QR management practices and related challenges. The aim of this study was to address why practitioners manage QRs as they do and what challenges they face. We also analyzed how existing practices mitigate some of the found challenges. Lastly, we connect the contextual elements of the companies with their practices and challenges. We conducted 36 interviews with practitioners from four companies of varying sizes. Since each company operates in different domains, comparing QR management strategies and related challenges in different contexts was possible. We found that the companies apply proactive, reactive, and interactive strategies to manage QRs. Additionally, our study revealed 40 challenges in six categories that companies applying agile methods may face in QR management. We also identified nine contextual elements that affect QR management practice choices and which, importantly, can explain many related challenges. Based on these findings, we constructed a theoretical model about the connection between context, QR management practices, and challenges. Practitioners in similar contexts can learn from the practices identified in this study. Our preliminary theoretical model can help other practitioners identify what challenges they can expect to face in QR management in different developmental contexts as well as which practices to apply to mitigate these challenges., This work was supported by the European Union’s Horizon 2020 Research and Innovation Programme under Grant Agreement 732253., Peer Reviewed




Towards automated data integration in software analytics

UPCommons. Portal del coneixement obert de la UPC
  • Martínez Fernández, Silverio Juan|||0000-0001-9928-133X
  • Jovanovic, Petar|||0000-0003-4635-6646
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
  • Jedlitschka, Andreas
Software organizations want to be able to base their decisions on the latest set of available data and the real-time analytics derived from them. In order to support "real-time enterprise" for software organizations and provide information transparency for diverse stakeholders, we integrate heterogeneous data sources about software analytics, such as static code analysis, testing results, issue tracking systems, network monitoring systems, etc. To deal with the heterogeneity of the underlying data sources, we follow an ontology-based data integration approach in this paper and define an ontology that captures the semantics of relevant data for software analytics. Furthermore, we focus on the integration of such data sources by proposing two approaches: a static and a dynamic one. We first discuss the current static approach with a predefined set of analytic views representing software quality factors and further envision how this process could be automated in order to dynamically build custom user analysis using a semi-automatic platform for managing the lifecycle of analytics infrastructures., Peer Reviewed




Towards an ontology for strategic decision making: The case of quality in rapid software development projects

UPCommons. Portal del coneixement obert de la UPC
  • Gómez Seoane, Cristina|||0000-0002-3872-0439
  • Ayala Martínez, Claudia Patricia|||0000-0002-6262-3698
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
  • López Cuesta, Lidia|||0000-0002-6901-9223
  • Behutiye, Woubshet
  • Martínez Fernández, Silverio Juan|||0000-0001-9928-133X
Strategic decision making is the process of selecting a logical and informed choice from the alternative options based on key strategic indicators determining the success of a specific organization strategy. To support this process and provide a common underlying language, in this work, we present an empirically-grounded ontology to support different strategic decision-making processes and extend the ontology to cover the context of managing quality in Rapid Software Development projects. We illustrate the complete ontology with an example., Peer Reviewed




A software service supporting software quality forecasting

UPCommons. Portal del coneixement obert de la UPC
  • Manzano Aguilar, Martí|||0000-0001-7944-7232
  • Ayala Martínez, Claudia Patricia|||0000-0002-6262-3698
  • Gómez Seoane, Cristina|||0000-0002-3872-0439
  • López Cuesta, Lidia|||0000-0002-6901-9223
Software repositories such as source control, defect tracking systems and project management tools, are used to support the progress of software projects. The exploitation of such data with techniques like forecasting is becoming an increasing need in several domains to support decision-making processes. However, although there exist several statistical tools
and languages supporting forecasting, there is a lack of friendly approaches that enable practitioners to exploit the advantages of creating and using such models in their dashboard tools. Therefore, we have developed a modular and flexible forecasting service allowing the interconnection with different kinds of databases/data repositories for creating and exploiting forecasting models based on methods like ARIMA or ETS. The service is open source software, has been developed in Java and R and exposes its functionalities through a REST API. Architecture details are provided, along with functionalities’ description and an example of its use for software quality forecasting., Peer Reviewed




QFL: Data-driven feedback loop to manage quality in agile development

UPCommons. Portal del coneixement obert de la UPC
  • López Cuesta, Lidia|||0000-0002-6901-9223
  • Bagnato, Alessandra
  • Ahbervé, Antonin
  • Franch Gutiérrez, Javier|||0000-0001-9733-8830
Background: Quality requirements (QRs) describe desired system qualities, playing an important role in the success of software projects. In the context of agile software development (ASD), where the main objective is the fast delivery of functionalities, QRs are often ill-defined and not well addressed during the development process. Software analytics tools help to control quality though the measurement of qualityrelated software aspects to support decision-makers in the process of QR management. Aim: The goal of this research is to explore the benefits of integrating a concrete software analytics tool, Q-Rapids Tool, to assess software quality and support QR management processes. Method: In the context of a technology transfer project, the Softeam company has integrated Q-Rapids Tool in their development process. We conducted a series of workshops involving Softeam members working in the Modelio product development. Results: We present the Quality Feedback
Loop (QFL) process to be integrated in software development processes to control the complete QR life-cycle, from elicitation to validation. As a result of the implementation of QFL in Softeam, Modelio’s team members highlight the benefits of integrating a data analytics tool with their project planning tool and the fact that project managers can control the whole process making the final decisions. Conclusions: Practitioners can benefit from the integration of software analytics tools as part of their software development toolchain to control software
quality. The implementation of QFL promotes quality in the organization and the integration of software analytics and project planning tools also improves the communication between teams., This work was supported by Q-Rapids (Quality-Aware Rapid Software Development. Q-Rapids was funded by the European Union’s Horizon 2020 research and innovation programme under grant agreement nº 732253., Peer Reviewed




Definition of the on-time delivery indicator in rapid software development

UPCommons. Portal del coneixement obert de la UPC
  • Manzano Aguilar, Martí|||0000-0001-7944-7232
  • Gómez Seoane, Cristina|||0000-0002-3872-0439
  • Ayala Martínez, Claudia Patricia|||0000-0002-6262-3698
  • Martínez Fernández, Silverio Juan|||0000-0001-9928-133X
  • Ram, Prabhat
  • Rodríguez, Pilar
  • Oriol Hilari, Marc|||0000-0003-1928-7024
Rapid software development (RSD) is an approach for developing software in rapid iterations. One of the critical success factors of an RSD project is to deliver the product releases on time and with the planned features. In this paper, we elaborate an exploratory definition of the On-Time Delivery strategic indicator in RSD based on the literature and interviews with four companies. This indicator supports decision-makers to detect development problems in order to avoid delays and to estimate the additional time needed when requirements, and specifically quality requirements, are considered., Peer Reviewed