27 research outputs found

    Analyzing the concept of technical debt in the context of agile software development: A systematic literature review

    Full text link
    Technical debt (TD) is a metaphor that is used to communicate the consequences of poor software development practices to non-technical stakeholders. In recent years, it has gained significant attention in agile software development (ASD). The purpose of this study is to analyze and synthesize the state of the art of TD, and its causes, consequences, and management strategies in the context of ASD. Using a systematic literature review (SLR), 38 primary studies, out of 346 studies, were identified and analyzed. We found five research areas of interest related to the literature of TD in ASD. Among those areas, managing TD in ASD received the highest attention, followed by architecture in ASD and its relationship with TD. In addition, eight categories regarding the causes and five categories regarding the consequences of incurring TD in ASD were identified. Focus on quick delivery and architectural and design issues were the most popular causes of incurring TD in ASD. Reduced productivity, system degradation and increased maintenance cost were identified as significant consequences of incurring TD in ASD. Additionally, we found 12 strategies for managing TD in the context of ASD, out of which refactoring and enhancing the visibility of TD were the most significant. The results of this study provide a structured synthesis of TD and its management in the context of ASD as well as potential research areas for further investigation

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

    Get PDF
    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 ReviewedPostprint (author's final draft

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

    Get PDF
    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 ReviewedPostprint (author's final draft

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

    Get PDF
    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 ReviewedPostprint (author's final draft

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

    Get PDF
    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 ReviewedPostprint (published version

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

    Get PDF
    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 ReviewedPostprint (published version

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

    Get PDF
    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 ReviewedPostprint (author's final draft

    Android ECG Application Development

    Get PDF
    This paper describes design and implementation of android ECG application that works together with the VS100, a wearable Vitalsens bluetooth ECG monitoring device. The main objective of the thesis was to discover development in the android Platform and produce a prototype ECG application. The thesis was commissioned to Domuset Oy; Oulu based wireless health Solutions Company. The theoretical part of this paper discusses the android platform, its architecture and the devel-opment environment and tools that are used in android mobile application development. Basic components and procedures of android application development are described in the development process. The Vitalsens VS100 device is also explained in this part of the thesis. Emphasis was given on implementing bluetooth API to communicate with the Vitalsens device. Tools that were used in the development included Eclipse, Android SDK, ADT plugin for Eclipse. The result of the thesis project was an application that communicates with the Vitalsens device via bluetooth connection. The research process can be extended to a design of efficient and reli-able application that can be used with the vitalsens, Vs100 device. The thesis can be used as a reference to carry out further developments in android mobile health care solutions

    Toward a better understanding and support of quality requirement documentation in agile software development

    No full text
    Abstract Software applications and services are essential parts of our daily lives. In today’s vibrant and rapidly changing business world, ensuring the quick delivery of quality software is important. Agile software development (ASD) has been widely adopted in the software industry owing to its capabilities for rapidly delivering valuable software. However, the findings from research reveal that ASD faces challenges regarding the documentation and management of quality requirements (QRs). QRs portray how well software performs its functions, and play a crucial role for the success of software. ASD studies reveal that QRs are often neglected, underspecified, not documented, and managed improperly. These often result in increased maintenance costs and system quality degradation. Examining QR documentation is valuable in obtaining a better understanding about the topic. It also helps in building guidelines and models that support QR documentation in ASD, which is a research gap. This dissertation aims to synthesize a better understanding about the documentation of QRs in ASD and to support QR documentation tasks in ASD. In order to achieve this, it first explored the state of the art of the management of QRs in ASD through a systematic mapping study. Then, it examined the state of the QR documentation practices in ASD through two multiple case studies. Next, a design science research methodology was applied to build Agile QR-Doc guidelines. The dissertation complements the literature with empirical knowledge on QR documentation practices, tools and artifacts and related stakeholders involved in QR documentation in ASD. It reveals the significance of documenting QRs, gives insight into aspects practitioners consider important when documenting QRs and a better understanding about factors influencing QR documentation in ASD. It also developed Agile QR-Doc guidelines and a model to support QR documentation in ASD. The guidelines have been validated by practitioners. They identified them as relevant, useful, understandable, and simple enough to use in supporting QR documentation tasks in ASD. The knowledge from the research can help practitioners proactively approach QR documentation tasks in ASD. For researchers, the dissertation offers the synthesis of empirical knowledge on QR documentation in ASD and identifies opportunities for future studies.Tiivistelmä Ohjelmistosovellukset ja -palvelut ovat olennainen osa jokapäiväistä elämäämme. Nykypäivän vilkkaassa ja nopeasti muuttuvassa yritysmaailmassa on olennaista taata laadukkaan ohjelmiston ripeä toimittaminen. Ketterä ohjelmistokehitys (ASD eng. Agile software development) on otettu laajalti käyttöön ohjelmistoteollisuudessa, koska sen ansiosta kyetään toimittamaan arvokkaita ohjelmistoja nopeasti. Tutkimustulokset osoittavat kuitenkin, että laatuvaatimusten (QRs eng. quality requirements) dokumentointi ja hallinta on haasteellista ASD:ssä. Laatuvaatimukset kuvaavat, kuinka hyvin ohjelmisto suorittaa toiminnallisuutensa, ja niillä on ratkaiseva rooli ohjelmiston menestyksen kannalta. Tutkimukset ASD-kontekstissa osoittavat, että laatuvaatimuksia laiminlyödään, niitä ei spesifioida tarpeeksi, niitä ei dokumentoida ja niitä hallinnoidaan väärin. Nämä johtavat usein kohonneisiin ylläpitokustannuksiin ja järjestelmän laadun heikkenemiseen. QR-dokumentoinnin tutkiminen on ensiarvoista aiheen paremman käsityksen kannalta. Sen avulla kyetään kehittämään ohjeita ja malleja tukemaan QR-dokumentointia ASD:ssä, joka on osoitettu tutkimuksessa puutteelliseksi. Väitöskirjan tavoitteena on lisätä ymmärrystä QR-dokumentoinnista ASD:ssä ja tukea sitä ASD:ssä. Tämän saavuttamiseksi väitöskirja tutkii ensin QR-hallintaa ASD:ssä systemaattisen kartoitustutkimuksen kautta. Tämän jälkeen tarkastellaan QR-dokumentoinnin tilaa ohjelmistoteollisuudessa kahden monitapaustutkimuksen avulla. Seuraavaksi kehitetään QR-Doc-ohjeistus laatuvaatimusten dokumentointiin ASD:ssä kehitystutkimusmenetelmää soveltaen. Tämä väitöskirja täydentää QR-dokumentointiin liittyvää tutkimustietoa empiirisellä tiedolla käytänteistä, työkaluista ja artefakteista sekä QR-dokumentointiin liittyvistä sidosryhmistä. Väitöskirja tuo ilmi QR-dokumentoinnin tärkeyden, valaisee ammatinharjoittajien tärkeinä pitämiä näkökulmia QR-dokumentoinnissa sekä auttaa ymmärtämään QR-dokumentointiin vaikuttavia tekijöitä ASD:ssä paremmin. Se esittää myös QR-Doc-ohjeistuksen sekä mallin, joka tukee QR-dokumentointia ASD:ssä. Kehitetty ohjeistus on arvioitu ammatinharjoittajien toimesta. Ohjeistus miellettiin oleelliseksi, hyödylliseksi, ymmärrettäväksi ja riittävän helppokäyttöiseksi, jotta se tukee QR-dokumentointia ASD:ssä. Tutkimuksesta saatu tieto auttaa ammatinharjoittajia lähestymään QR-dokumentointitehtäviä proaktiivisesti. Väitöskirja tarjoaa tutkijoille koottua empiiristä tietoa QR-dokumennista ASD:ssä sekä mahdollisuuksia jatkotutkimukselle
    corecore