89 research outputs found

    Agile Processes in Software Engineering and Extreme Programming: 18th International Conference, XP 2017, Cologne, Germany, May 22-26, 2017, Proceedings

    Get PDF
    agile software development; lean development; scrum; project management; software developmen

    Requirements Engineering that Balances Agility of Teams and System-level Information Needs at Scale

    Get PDF
    Context: Motivated by their success in software development, large-scale systems development companies are increasingly adopting agile methods and their practices. Such companies need to accommodate different development cycles of hardware and software and are usually subject to regulation and safety concerns. Also, for such companies, requirements engineering is an essential activity that involves upfront and detailed analysis which can be at odds with agile development methods. Objective: The overall aim of this thesis is to investigate the challenges and solution candidates of performing effective requirements engineering in an agile environment, based on empirical evidence. Illustrated with studies on safety and system-level information needs, we explore RE challenges and solutions in large-scale agile development, both in general and from the teams’ perspectives. Method: To meet our aim, we performed a secondary study and a series of empirical studies based on case studies. We collected qualitative data using interviews, focus groups and workshops to derive challenges and potential solutions from industry. Findings: Our findings show that there are numerous challenges of conducting requirements engineering in agile development especially where systems development is concerned. The challenges discovered sprout from an integration problem of working with agile methods while relying on established plan-driven processes for the overall system. We highlight the communication challenge of crossing the boundary of agile methods and system-level (or plan-driven) development, which also proves the coexistence of both methods. Conclusions: Our results highlight the painful areas of requirements engineering in agile development and propose solutions that can be explored further. This thesis contributes to future research, by establishing a holistic map of challenges and candidate solutions that can be further developed to make RE more efficient within agile environments

    Requirements Engineering Challenges of Supporting Agile Teams in System Development

    Get PDF
    Context: Agile methods have attracted many companies due to their reported benefits of short time-to-market and improved quality outputs. In the systems development context, additional constraints apply e.g. as a result of scale or parallel development of hardware and software. Traditionally, stage-gate processes with a focus on up-front requirements analysis are common in large- scale systems engineering. These processes clash with the companies’ desire to become more agile.Objective: The aim of this thesis is to discover challenges that new requirements engineering approaches should address to enable agile system devel- opment at scale (RE4Agile). With a focus on value and building system understanding, we explore these challenges from the perspective of the agile development teams.Method: To meet our aim, we conducted a series of empirical studies based on case studies, and a secondary review to explore the problem domain while deriving challenges and potential solutions from industry and literature respectively.Findings: Our findings show that there are numerous challenges of conducting requirements engineering in agile development especially where systems development is concerned. These challenges relate to user value and overall system understanding. However, there are some cross-cutting concerns, e.g safety- critical development, that have generated much interest both from practitioners and academicians at large.Conclusions: The challenges discovered sprout from an integration problem of working with agile methods while using the already existing processes as well. However, solution candidates exist and our future research aims to validate some of the solution candidates in the view of deriving new RE approaches. This thesis contributes to such future research, by establishing a holistic map of challenges that allows to assess whether a given solution is beneficial in the larger context or whether it over-optimizes only one area

    Effective Communication in Globally Distributed Scrum: A Model and Practical Guidance

    Get PDF
    A trend in information systems development is for globally distributed teams to use agile methods and frameworks such as Scrum. In globally distributed (GD) software development, a known challenge is effective team communication. Researchers, however, cannot evaluate effective communication in GD teams using Scrum unless they know what effective communication means in that context. This qualitative study contributes a theoretical model of effective communication in GD Scrum teams and practical guidance for practitioners. Ten industry professionals working in GD Scrum teams were interviewed to capture their understanding of effective communication. Qualitative content analysis was used to analyse the interviews and form a basis for the model and the practical guidance. This novel model consists of communication transparency, communication quality, and communication discipline, which together lead to the alignment of team understanding (i.e., a team-level shared mental model). This theoretical model lays the ground for future research into the effect of Scrum practices on communication in GD contexts, and the effect of communication on team and project success. For practitioners, this study contributes 11 practical actions that professionals recommend for improving and sustaining effective communication

    Effective Communication in Globally Distributed Scrum: A Model and Practical Guidance

    Get PDF
    A trend in information systems development is for globally distributed teams to use agile methods and frameworks such as Scrum. In globally distributed (GD) software development, a known challenge is effective team communication. Researchers, however, cannot evaluate effective communication in GD teams using Scrum unless they know what effective communication means in that context. This qualitative study contributes a theoretical model of effective communication in GD Scrum teams and practical guidance for practitioners. Ten industry professionals working in GD Scrum teams were interviewed to capture their understanding of effective communication. Qualitative content analysis was used to analyse the interviews and form a basis for the model and the practical guidance. This novel model consists of communication transparency, communication quality, and communication discipline, which together lead to the alignment of team understanding (i.e., a team-level shared mental model). This theoretical model lays the ground for future research into the effect of Scrum practices on communication in GD contexts, and the effect of communication on team and project success. For practitioners, this study contributes 11 practical actions that professionals recommend for improving and sustaining effective communication

    Co-creation for transdisciplinarity - Adoption of participatory design and agile project management in collaborative research processes

    Get PDF
    Aquest projecte doctoral explora mètodes de cocreació aplicats a la recerca transdisciplinària. En el context de la societat de la informació, la col·laboració en recerca ha crescut en popularitat entre els equips científics, sota molts enfocaments i formes. Entre aquests, la transdisciplinarietat representa un tipus específic d'activitat científica col·laborativa. La investigació transdisciplinària va més enllà de la col·laboració d'experts de diferents disciplines, ja que també pot involucrar no experts i comunitats no científiques per abordar de manera integral diferents qüestions i problemàtiques, com és el cas de la ciència ciutadana o la recerca acció. La transdisciplinarietat implica processos de recerca complexos i nous desafiaments, com la forma d'abordar la diversitat dels participants, especialment per planificar i gestionar projectes. Aquesta tesi, articulada al voltant d'un compendi de publicacions, explora fins a quin punt i en quina mesura les metodologies de cocreació poden contribuir a abordar aquests desafiaments, en diferents contextos i fases de la recerca transdisciplinària.Este proyecto de doctorado explora métodos de cocreación aplicados a la investigación transdisciplinaria. En el contexto de la sociedad de la información, la colaboración en investigación ha crecido en popularidad entre equipos científicos, bajo muchos enfoques y formas. Entre ellos, la transdisciplinariedad representa un tipo específico de actividad científica colaborativa. La investigación transdisciplinaria va más allá de la colaboración de expertos de diferentes disciplinas, ya que también puede involucrar a no expertos y comunidades no científicas para abordar de manera integral diferentes cuestiones y problemáticas, como en el caso de la ciencia ciudadana o la investigación acción. La transdisciplinariedad implica procesos de investigación complejos y nuevos desafíos, como la forma de abordar la diversidad de los participantes, especialmente para planificar y gestionar proyectos. Esta tesis explora hasta qué punto y en qué medida las metodologías de cocreación pueden contribuir a abordar estos desafíos, en diferentes contextos y fases de la investigación transdisciplinaria.Collaborative research in the network society has taken on a number of approaches and forms and has grown in popularity among scientific teams. One specific example of this is transdisciplinary research, which not only depends on the collaboration of experts from different disciplines, but also turns to non-experts and non-scientific communities of stakeholders in order to holistically address a range of different problems and issues, as is the case with citizen science and action research. Transdisciplinarity encompasses complex research processes and faces new challenges, such as how to deal with participant diversity, especially in terms of project planning and management. This doctoral thesis, founded upon a compendium of previous research, explores if and to what extent co-creation methodologies can aid in overcoming these challenges in different contexts and phases of transdisciplinary research

    A framework for modeling and improving agile requirements engineering.

    Get PDF
    Context. Companies adopt hybrid development models consisting of an integration of agile methodologies and Human-Centered Design (HCD) with the aim to increase value delivery as well as to reduce time to market. This has an impact on how Requirements Engineering (RE) is carried out in an agile environment. To this end, people apply different kind of agile techniques like artifacts, meetings, methods, and roles. In this context, companies often struggle with improving their value chain in a systematic manner, since guidelines for choosing an appropriate set of agile techniques are missing. Objective. The vision of this PhD thesis is to build a framework for modeling agile RE. Organizations benefit from implementing this framework by increasing their value delivery (organization external) and improving the collaboration (organizational intern). Method. We followed an inductive research approach, where we used the learnings from several studies to create the framework. In the beginning, we carried out a Systematic Literature Review (SLR) to analyze the state of the art of agile RE with focus on user and stakeholder involvement. Subsequent, we created the agile RE metamodel, which evolved iteratively along the consecutively studies. Based on the metamodel, we defined an profile that can be used to create domain specific models according to the organizational environment. Moreover, we conducted a Delphi study in order to identify the most important problems industry has to face today in terms of agile RE. The results were used as input for a systematic pattern mining process, which was utilized in order to create agile RE patterns. Results. The framework for modeling agile RE consists of three main components: i) agile RE metamodel, which can be used to analyze the organizational environment in terms of value delivery ii) catalogue of agile RE problems, which allows to detect recurring problems in terms of agile RE iii) catalogue of agile RE patterns, which allows to solve the detected problems. The agile RE metamodel comes with a profile, which can be used to deviate domain specific models. In addition, we created tool support for the framework by means of a web application (agileRE.org), which allows us to share the knowledge and best practices for agile RE. Furthermore, we proved how the framework can be applied in industry by means of case studies in Germany and in Spain. Conclusion. The framework for modeling agile RE empowers companies to improve their organizational environments in terms of value delivery and collaboration. Companies can use the framework for improving their value chain in a systematic manner. In particular, it gives guidance for choosing appropriate agile techniques, which fit to the changing needs of the organizational environment. In addition, we can state that the framework is applicable on an international level.Contexto. Con el objetivo de incrementar la potencialidad de sus desarrollos y de reducir el tiempo de puesta en el mercado, las empresas adoptan modelos de desarrollo híbridos que integran metodologías ágiles y diseño centrado en el usuario (DCU). El tratamiento de los requisitos de software en entornos ágiles es algo que impacta de manera directa en la consecución de estos objetivos. Por ello, los equipos aplican diferentes técnicas de tratamiento de requisitos como los artefactos, reuniones, métodos de trabajos grupales o el tratamiento efectivo de roles. Sin embargo, las empresas a menudo se encuentran con dificultades para elegir las mejores técnicas a aplicar en su contexto y hay una carencia de guías de soporte. Objetivo. La visión de esta tesis doctoral es construir un framework para trabajar de manera efectiva con requisitos ágiles. La idea esencial es que las organizaciones y empresas puedan usar el framework para mejorar tanto su cadena de valor (visión externa) como para mejorar sus procesos de desarrollo (visión interna). Método. Para el desarrollo del trabajo se ha usado una metodología de investigación inductiva, usando diferentes métodos de trabajo. Inicialmente, se ha llevado a cabo un estudio sistemático de la literatura (SLR) que nos permite evaluar el estado del arte en el tratamiento de requisitos ágiles pero centrado en cómo se trabaja con la involucración de los diferentes stakeholders en el proceso. Hemos continuado aplicando la ingeniería guiada por modelos desarrollando un metamodelo para trabajar con los requisitos ágiles y un profile que permite definir un lenguaje específico de dominio para el uso del metamodelo en entornos concretos. Este trabajo se ha enriquecido con la aplicación de un estudio usando Delphi para identificar los problemas más importantes que la industria se encuentra a la hora de trabajar con ingeniería de requisitos en entornos agiles. Finalmente, con los resultados hemos conseguido desarrollar un conjunto de patrones para la creación de requisitos ágiles. Resultados. El framework para modelar requisitos ágiles tiene tres componentes principales: i) Metamodelo para trabajar con requisitos ágiles que servirá para analizar el entorno de la organización. ii) un catálogo de posibles problemas que se encuentran en entornos agiles y iii) un catálogo de patrones de requisitos ágiles que resuelven los problemas detectados. El metamodelo para el trabajo con requisitos ágiles viene acompañado de un lenguaje específico de dominio, basado en un perfil. Y, además, se ha creado una aplicación web (agileRE.org) que ayuda a poner en común el conocimiento. Por último, el framework ha sido aplicado con éxito en entornos empresariales españoles y alemanes. Conclusión. El framework para modelar requisitos ágiles ayuda a las compañías a mejorar sus entornos organizaciones in términos de costes de desarrollo y aspectos colaborativos. Las empresas pueden usar el framework para mejorar su cadena de valor de una manera sistemática. En particular, da una guía para elegir técnicas apropiadas en el tratamiento de requisitos ágiles, pudiendo adaptarse al a realidad del entorno concreto de trabajo

    On the real world practice of Behaviour Driven Development

    Get PDF
    Surveys of industry practice over the last decade suggest that Behaviour Driven Development is a popular Agile practice. For example, 19% of respondents to the 14th State of Agile annual survey reported using BDD, placing it in the top 13 practices reported. As well as potential benefits, the adoption of BDD necessarily involves an additional cost of writing and maintaining Gherkin features and scenarios, and (if used for acceptance testing,) the associated step functions. Yet there is a lack of published literature exploring how BDD is used in practice and the challenges experienced by real world software development efforts. This gap is significant because without understanding current real world practice, it is hard to identify opportunities to address and mitigate challenges. In order to address this research gap concerning the challenges of using BDD, this thesis reports on a research project which explored: (a) the challenges of applying agile and undertaking requirements engineering in a real world context; (b) the challenges of applying BDD specifically and (c) the application of BDD in open-source projects to understand challenges in this different context. For this purpose, we progressively conducted two case studies, two series of interviews, four iterations of action research, and an empirical study. The first case study was conducted in an avionics company to discover the challenges of using an agile process in a large scale safety critical project environment. Since requirements management was found to be one of the biggest challenges during the case study, we decided to investigate BDD because of its reputation for requirements management. The second case study was conducted in the company with an aim to discover the challenges of using BDD in real life. The case study was complemented with an empirical study of the practice of BDD in open source projects, taking a study sample from the GitHub open source collaboration site. As a result of this Ph.D research, we were able to discover: (i) challenges of using an agile process in a large scale safety-critical organisation, (ii) current state of BDD in practice, (iii) technical limitations of Gherkin (i.e., the language for writing requirements in BDD), (iv) challenges of using BDD in a real project, (v) bad smells in the Gherkin specifications of open source projects on GitHub. We also presented a brief comparison between the theoretical description of BDD and BDD in practice. This research, therefore, presents the results of lessons learned from BDD in practice, and serves as a guide for software practitioners planning on using BDD in their projects
    corecore