Papers by Claudia Ayala Martínez
IFIP — The International Federation for Information Processing, 2007
, except for brief excerpts in connection with reviews or scholarly analysis. Use in connection w... more , except for brief excerpts in connection with reviews or scholarly analysis. Use in connection with any form of information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed is forbidden. The use in this publication of trade names, trademarks, service marks and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights.
Lecture Notes in Computer Science, 2010
2018 IEEE 1st International Workshop on Quality Requirements in Agile Projects (QuaRAP), 2018
Rapid software development (RSD) is an approach for developing software in rapid iterations. One ... more 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 vision paper, we elaborate an exploratory definition of the On-Time Delivery indicator in RSD and envisage a method for its estimation. This indicator will support decision-makers to detect development problems in order to avoid delays and to improve the planning and monitoring of the product releases.

Empirical Software Engineering, 2018
Context: Developing systems by integrating Open Source Software (OSS) is increasingly gaining imp... more Context: Developing systems by integrating Open Source Software (OSS) is increasingly gaining importance in the software industry. Although the literature claims that this approach highly impacts Requirements Engineering (RE) practices, there is a lack of empirical evidence to demonstrate this statement. Objective: To explore and understand problems and challenges of current system requirement-OSS component matching and mismatches resolution practices in software development projects that integrate one or more OSS components into their software products. Method: Semi-structured in-depth interviews with 25 respondents that have performed RE activities in software development projects that integrate OSS components in 25 different software development companies in Spain, Norway, Sweden, and Denmark. Results: The study uncovers 15 observations regarding system requirements-OSS components matching and mismatch resolution practices used in industrial projects that integrate OSS components. The assessed projects focused mainly on pre-release stages of software applications that integrate OSS components in an opportunistic way. The results also provide details of a set of previously unexplored scenarios when solving system requirement-OSS component mismatches; and clarify some challenges and related problems. For instance, although licensing issues and the potential changes in OSS components by their corresponding communities and/or changes in system requirements have been greatly discussed in the RE literature as problems for OSS component integration, they did not appear to be relevant in our assessed projects. Instead, practitioners highlighted the problem of getting suitable OSS component documentation/information.

2015 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), 2015
Context: Several empirical studies investigated the benefits and drawbacks of acquiring a Softwar... more Context: Several empirical studies investigated the benefits and drawbacks of acquiring a Software Reference Architecture (SRA) to construct a family of software systems with similar architectural needs. However, these empirical results have not been synthesized by any study yet. Such synthesized evidence is essential to make informed decisions whether or not to adopt an SRA in an organization. Goal: To aggregate existing empirically-grounded evidence about the benefits and drawbacks of SRAs, aiming at supporting organizations' decision making on their adoption. Method: To identify primary studies in the technical literature through a systematic literature review, and then, use the Structured Synthesis Method (SSM) to aggregate qualitative and quantitative evidence through the use of diagrammatic models. Results: From the five identified primary studies, five SRA benefits have considerably increased their belief value after aggregation: interoperability of software systems, reduced development costs, improved communication among stakeholders, reduced risk, and reduced time-to-market. Also, one drawback of SRAs has increased its belief value: the required learning curve for developers. Conclusions: The aggregated results consolidate knowledge and confidence on some of the studied SRA effects. The commonly reported effects showed a clear increment of their belief and pointed out to broader generalization. The effects that did not show any belief increment are important to detect areas requiring further evidence to reach a higher degree of consolidation. Practitioners might benefit from these results to support the decision of adopting an SRA in practice.

Data & Knowledge Engineering, 2015
Open Source Software (OSS) has become a strategic asset for a number of reasons, such as short ti... more Open Source Software (OSS) has become a strategic asset for a number of reasons, such as short time-to-market software delivery, reduced development and maintenance costs, and its customization capabilities. Therefore, organizations are increasingly becoming OSS adopters, either as a result of a strategic decision or because it is almost unavoidable nowadays, given the fact that most commercial software also relies at some extent in OSS infrastructure. The way in which organizations adopt OSS affects and shapes their businesses. Therefore, knowing the impact of different OSS adoption strategies in the context of an organization may help improving the processes undertaken inside this organization and ultimately pave the road to strategic moves. In this paper, we propose to model OSS adoption strategies using a goal-oriented notation, in which different actors state their objectives and dependencies on each other. These models describe the consequences of adopting one such strategy or another: which are the strategic and operational goals that are supported, which are the resources that emerge, etc. The models rely on an OSS ontology, built upon a systematic literature review, which comprises the activities and resources that characterise these strategies. Different OSS adoption strategy models arrange these ontology elements in diverse ways. In order to assess which is the OSS adoption strategy that better fits the organization needs, the notion of model coverage is introduced, which allows to measure the degree of concordance among every strategy with the model of the organization by comparing the respective models. The approach is illustrated with an example of application in a big telecommunications company.

IFIP Advances in Information and Communication Technology, 2011
Initialized by a collective contribution of volunteer developers, Open source software (OSS) attr... more Initialized by a collective contribution of volunteer developers, Open source software (OSS) attracts an increasing involvement of commercial firms. Many OSS projects are composed of a mix group of firm-paid and volunteer developers, with different motivations, collaboration practices and working styles. As OSS development consists of collaborative works in nature, it is important to know whether these differences have an impact on collaboration between difference types of stakeholders, which lead to an influence in the project outcomes. In this paper, we empirically investigate the firm-paid participation in resolving OSS evolution issues, the stakeholder collaboration and its impact on OSS issue resolution time. The results suggest that though a firm-paid assigned developer resolves much more issues than a volunteer developer does, there is no difference in issue resolution time between them. Besides, the more important factor that influences the issue resolution time comes from the collaboration among stakeholders rather than from individual characteristics.

Lecture Notes in Computer Science, 2012
Context and motivation] There is considerable flexibility in requirements specifications (both fu... more Context and motivation] There is considerable flexibility in requirements specifications (both functional and non-functional), as well as in the features of available OSS components. This allows a collaborative matching and negotiation process between stakeholders such as: customers, software contractors and OSS communities, regarding desired requirements versus available and thus reusable OSS components. [Problem] However, inconclusive research exists on such cooperative processes. Not much empirical data exists supporting the conduction of such research based on observation of industrial OSS adoption projects. This paper investigates how functional and non-functional requirement mismatches are handled in practice. [Results] We found two common approaches to handle functional mismatches. The main resolution approach is to get the components changed by the development team, OSS community or commercial vendor. The other resolution approach is to influence requirements, often by postponing requirements. Overall, non-functional requirements are satisfactorily achieved by using OSS components. Last but not least, we found that the customer involvement could enhance functional mismatch resolution while OSS community involvement could improve nonfunctional mismatch resolution. [Contribution] Our data suggests that the selecting components should be done iteratively with close collaboration with stakeholders. Improvement in requirement mismatch resolution to requirements could be achieved by careful consideration of mismatches size, requirements flexibility and components quality.

Lecture Notes in Computer Science, 2013
To remain competitive, organizations are challenged to make informed and feasible value-driven de... more To remain competitive, organizations are challenged to make informed and feasible value-driven design decisions in order to ensure the quality of their software systems. However, there is a lack of support for evaluating the economic impact of these decisions with regard to software reference architectures. This damages the communication among architects and management, which can result in poor decisions. This paper aims at ameliorating this problem by presenting a pragmatic preliminary economic model to perform cost-benefit analysis on the adoption of software reference architectures as a key asset for optimizing architectural decision-making. The model is based on existing value-based metrics and economics-driven models used in other areas. A preliminary validation based on a retrospective study showed the ability of the model to support a cost-benefit analysis presented to the management of an IT consulting company. This validation involved a cost-benefit analysis related to reuse and maintenance; other qualities will be integrated as our research progresses.

Resumen. La selección de componentes de software desarrollados por terceros juega un papel primor... more Resumen. La selección de componentes de software desarrollados por terceros juega un papel primordial en el desarrollo de sistemas de software basados en componentes. Uno de los problemas que incrementa potencialmente el riesgo de elegir componentes no apropiados es basar las decisiones en información de poca calidad. La información relacionada con los componentes se caracteriza por estar disgregada, crecer de forma continuada, cambiar con frecuencia, provenir de múltiples y variadas fuentes (no siempre confiables), estar frecuentemente desestructurada; y muchas veces incompleta. En este contexto, el análisis y reuso de la información relativa a los componentes y su dominio, así como la gestión de su calidad, representan un factor importante en el riesgo asociado al proceso de selección de componentes. En este artículo, se propone un modelo de referencia para facilitar la colección, almacenamiento, gestión, análisis y reuso de esta información bajo un entorno de aseguramiento de calidad.
This article presents a procedure for constructing a taxonomy of COTS products in the field of Re... more This article presents a procedure for constructing a taxonomy of COTS products in the field of Requirements Engineering (RE). The taxonomy and the obtained information reach transcendental benefits to the selection of systems and tools that aid to RE-related actors to simplify and facilitate their work. This taxonomy is performed by means of a goal-oriented methodology inspired in GBRAM (Goal-Based Requirements Analysis Method), called GBTCM (Goal-Based Taxonomy Construction Method), that provides a guide to analyze sources of information and modeling requirements and domains, as well as gathering and organizing the knowledge in any segment of the COTS market. GBTCM claims to promote the use of standards and the reuse of requirements in order to support different processes of selection and integration of components.
Dealing with non-functional requirements (NFRs) has posed a challenge onto software engineers for... more Dealing with non-functional requirements (NFRs) has posed a challenge onto software engineers for many years. Over the years, many methods and techniques have been proposed to improve their elicitation, documentation, and validation. Knowing more about the state of the practice on these topics may benefit both practitioners’ and researchers’ daily work. A few empirical studies have been conducted in the past, but none under the perspective of software architects, in spite of the great influence that NFRs have on daily architects’ practices. This paper presents some of the findings of an empirical study based on 13 interviews with software architects. It addresses questions such as: who decides the NFRs, what types of NFRs matter to architects, how are NFRs documented, and how are NFRs validated. The results are contextualized with existing previous work.

Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering, 2014
Context: Software reference architectures (SRA) have emerged as an approach to systematically reu... more Context: Software reference architectures (SRA) have emerged as an approach to systematically reuse architectural knowledge and software elements in the development of software systems. Over the last years, research has been conducted to uncover the artifacts that SRAs provide in order to build software systems. However, empirical studies have not focused on providing industrial evidence about such artifacts. Aim: This paper investigates which artifacts constitute an SRA, how SRAs are designed, the potential reuse of SRA's artifacts, and how they are used in practice. Method: The study consists of a case study made in collaboration with a multinational consulting company that designs SRAs for diverse client organizations. A total of nine European client organizations that use an SRA participated in the study. We analyzed available documentation and contacted 28 practitioners. Results: In the nine analyzed projects, we observed that the artifacts that constitute an SRA are mainly software elements, guidelines and documentation. The design and implementation of SRAs are influenced by the reuse of artifacts from previous software system development and experiences, and the reuse of an SRA across different business domains may be possible when they are platform-oriented. Regarding SRAs usage, we observed that conformance checking is seldom performed. Conclusions: This study reports artifacts of SRAs as stated by practitioners in order to help software architects and scientists in the inception, design, and application of SRAs.
Lecture Notes in Computer Science, 2017
Strategic decision making is the process of selecting a logical and informed choice from the alte... more 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.
2017 IEEE 25th International Requirements Engineering Conference Workshops (REW), 2017
Requirements identification, specification and management are key activities in the software deve... more 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.

Proceedings of the 14th International Conference on Predictive Models and Data Analytics in Software Engineering, 2018
Background: During Rapid Software Development, a large amount of project and development data can... more 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.
Towards the definition of a taxonomy for the COTS product's market
The core of this research is aimed at improving the building taxonomies issues in the context of ... more The core of this research is aimed at improving the building taxonomies issues in the context of the GESSI proposal, through the start of a new line of research for analyzing in depth those aspects concerned with formal methodologies for supporting and enhancing our proposal. This is the scope of this work of research, to show many topics that we think that can be helpful for our research work in the framework of the projects that are on going in GESSI.
In a previous work, our research group GESSI has proposed the construction of a taxonomy for clas... more In a previous work, our research group GESSI has proposed the construction of a taxonomy for classifying COTS components by means of characterization attributes to arrange domains which COTS components belong to, and also grouping these domains into categories [4]. In this report we present our first applicability study of GBRAM (Goal Based-Requirements Analysis Method) as a goal-based reasoning method for the construction of taxonomies of COTS components; more concretely for exploring the “characterization attributes” that are used to browse the taxonomy through an example: the context of the Application Development Tools. We illustrate the main aspects of customizing GBRAM to this objective and remark the methodological aspect we want to achieve in our future work: to propose guidelines for the construction of any taxonomy of COTS components.
The market of data-intensive Application Programming Interfaces (APIs) has recently experienced a... more The market of data-intensive Application Programming Interfaces (APIs) has recently experienced an exponential growth, but the creation and evolution of such APIs is still done ad-hoc, with little automated support and reported deficiencies. These drawbacks hinder the productivity of developers of those APIs and the services built on top of them. In this exploratory paper, we promote a data-driven approach to improve the automatization of data-intensive API creation and evolution. In a release cycle, data coming from API usage and developers will be gathered to compute several indicators whose analysis will guide the planning of the next release. This data will also help to generate complete documentation facilitating APIs adoption by third parties.
The inherent complexity of business goal-models is a challenge for organizations that has to anal... more The inherent complexity of business goal-models is a challenge for organizations that has to analyze and maintaining them. Several approaches are developed to reduce the complexity into manageable limits, either by providing support to the modularization or designing metrics to monitor the complexity levels. These approaches are designed to identify an unusual complexity comparing it among models. In the present work, we expose two approaches based on structural characteristics of goal-model, which do not require these comparisons. The first one ranks the importance of goals to identify a manageable set of them that can be considered as a priority; the second one modularizes the model to reduce the effort to understand, analyze and maintain the model.
Uploads
Papers by Claudia Ayala Martínez