1,273 research outputs found

    On Integrating Student Empirical Software Engineering Studies with Research and Teaching Goals

    Get PDF
    Background: Many empirical software engineering studies use students as subjects and are conducted as part of university courses. Aim: We aim at reporting our experiences with using guidelines for integrating empirical studies with our research and teaching goals. Method: We document our experience from conducting three studies with graduate students in two software architecture courses. Results: Our results show some problems that we faced when following the guidelines and deviations we made from the original guidelines. Conclusions: Based on our results we propose recommendations for empirical software engineering studies that are integrated in university courses.

    A mapping study on documentation in Continuous Software Development

    Get PDF
    Context: With an increase in Agile, Lean, and DevOps software methodologies over the last years (collectively referred to as Continuous Software Development (CSD)), we have observed that documentation is often poor. Objective: This work aims at collecting studies on documentation challenges, documentation practices, and tools that can support documentation in CSD. Method: A systematic mapping study was conducted to identify and analyze research on documentation in CSD, covering publications between 2001 and 2019. Results: A total of 63 studies were selected. We found 40 studies related to documentation practices and challenges, and 23 studies related to tools used in CSD. The challenges include: informal documentation is hard to understand, documentation is considered as waste, productivity is measured by working software only, documentation is out-of-sync with the software and there is a short-term focus. The practices include: non-written and informal communication, the usage of development artifacts for documentation, and the use of architecture frameworks. We also made an inventory of numerous tools that can be used for documentation purposes in CSD. Overall, we recommend the usage of executable documentation, modern tools and technologies to retrieve information and transform it into documentation, and the practice of minimal documentation upfront combined with detailed design for knowledge transfer afterwards. Conclusion: It is of paramount importance to increase the quantity and quality of documentation in CSD. While this remains challenging, practitioners will benefit from applying the identified practices and tools in order to mitigate the stated challenges

    Factors affecting Technical Debt Raw data from a systematic literature map

    Get PDF
    "This document presents the complete list of references that have been short listed during the systematic review process carried out during the months of April-September 2012. The objective of the systematic review was to identify current research trends in technical debt and to explore the relationship between technical debt measures and agile software development. This documents includes 352 references that are categorized according to their relevance to technical debt research." [Abstract

    Managed Evolution of Automotive Software Product Line Architectures: A Systematic Literature Study

    Get PDF
    The rapidly growing number of software-based features in the automotive domain as well as the special requirements in this domain ask for dedicated engineering approaches, models, and processes. Nowadays, software development in the automotive sector is generally developed as product line development, in which major parts of the software are kept adaptable in order to enable reusability of the software in different vehicle variants. In addition, reuse also plays an important role in the development of new vehicle generations in order to reduce development costs. Today, a high number of methods and techniques exist to support the product line driven development of software in the automotive sector. However, these approaches generally consider only partial aspects of development. In this paper, we present an in-depth literature study based on a conceptual model of artifacts and activities for the managed evolution of automotive software product line architectures. We are interested in the coverage of the particular aspects of the conceptual model and, thus, the fields covered in current research and research gaps, respectively. Furthermore, we aim to identify the methods and techniques used to implement automotive software product lines in general, and their usage scope in particular. As a result, this in-depth review reveals that none of the studies represent a holistic approach for the managed evolution of automotive software product lines. In addition, approaches from agile software development are of growing interest in this field

    Mapeo sistemático sobre las arquitecturas de software en el desarrollo ágil

    Get PDF
    (ANTECEDENTES) El uso de frameworks y metodologías ágiles en el desarrollo de software es cada vez mayor, priorizando la entrega de valor al cliente, en este contexto las actividades de arquitectura de software son omitidas al no entregar un valor tangible, existiendo un aparente conflicto de perspectivas y no se tiene definido cuanto esfuerzo se debe invertir en el desarrollo de una arquitectura en proyectos ágiles. (OBJETIVOS) El objetivo de este trabajo es consolidar las distintas investigaciones respecto al uso de arquitecturas de software en el desarrollo ágil, identificar patrones arquitectónicos, factores, beneficios, desafíos, y lecciones aprendidas con respecto a la combinación. (MÉTODOS) Para este estudio se realizó un mapeo sistemático de la literatura en bases de datos digitales relevantes. (RESULTADOS) Se seleccionaron 61 artículos publicados desde el año 2015 hasta el año 2020, el 54% fueron de aplicación industrial principalmente en el sector salud, aeroespacial y automotriz, se pudo identificar que en el año 2016 se publicaron el mayor número de artículos referente al tema de investigación, donde la conferencia es el tipo de publicación más utilizado y el evento IEEE International Conference es el mayor canal de distribución .Adicionalmente, se identificó que el estilo arquitectónico más empleado es SOA, la práctica ágil más referenciada es Scrum , el uso combinado del framework Scrum y el estilo SOA es el más usado, emplear el estilo SOA en el sector salud es el más citado en las publicaciones, la flexibilidad que brinda tener una arquitectura sólida es la mayor ventaja referenciada asimismo los conflictos de enfoques entre la agilidad y las actividades de arquitectura es identificado como el mayor inconveniente que se afronta ,y la comunicación es el factor que más influye en la adopción de arquitecturas de software en el desarrollo ágil.(BACKGROUND) The use of agile frameworks and methodologies in software development is increasing, prioritizing the delivery of value to the client, in this context, software architecture activities are omitted by not delivering tangible value, with an apparent conflict of perspectives and it is not defined how much effort should be invested in the development of an architecture in agile projects. (OBJECTIVES) The objective of this work is to consolidate the different investigations regarding the use of software architectures in agile development, to identify architectural patterns, factors, benefits, challenges, and lessons learned regarding the combination. (METHODS) For this study, a systematic mapping of the literature in relevant digital databases was carried out. (RESULTS) 61 articles published from 2015 to 2020 were selected, 54% were of industrial application mainly in the health, aerospace, and automotive sectors, it was possible to identify that in 2016 the largest number of articles were published on the subject of research, where the conference is the most used type of publication and the IEEE International Conference event is the largest distribution channel. Additionally, it was identified that the most used architectural style is SOA, the most referenced agile practice is Scrum, the combined use of Scrum framework and the SOA style is the most used, using the SOA style in the health sector is the most cited in publications, the flexibility provided by having a solid architecture is the greatest advantage referenced also the conflicts of approaches between agility and architectural activities is identified as the greatest inconvenience faced, and communication is the factor that most influences the adoption of software architectures in agile development

    An empirical study of architecting for continuous delivery and deployment

    Get PDF
    Recently, many software organizations have been adopting Continuous Delivery and Continuous Deployment (CD) practices to develop and deliver quality software more frequently and reliably. Whilst an increasing amount of the literature covers different aspects of CD, little is known about the role of software architecture in CD and how an application should be (re-) architected to enable and support CD. We have conducted a mixed-methods empirical study that collected data through in-depth, semi-structured interviews with 21 industrial practitioners from 19 organizations, and a survey of 91 professional software practitioners. Based on a systematic and rigorous analysis of the gathered qualitative and quantitative data, we present a conceptual framework to support the process of (re-) architecting for CD. We provide evidence-based insights about practicing CD within monolithic systems and characterize the principle of "small and independent deployment units" as an alternative to the monoliths. Our framework supplements the architecting process in a CD context through introducing the quality attributes (e.g., resilience) that require more attention and demonstrating the strategies (e.g., prioritizing operations concerns) to design operations-friendly architectures. We discuss the key insights (e.g., monoliths and CD are not intrinsically oxymoronic) gained from our study and draw implications for research and practice.Comment: To appear in Empirical Software Engineerin
    • …
    corecore