418 research outputs found

    The challenges of staying together while moving fast

    Get PDF
    We report on the results of an empirical study conducted with 35 experienced software developers from 22 high-tech companies, including Google, Facebook, Microsoft, Intel, and others. The goal of the study was to elicit challenges that these developers face, potential solutions that they envision to these challenges, and research initiatives that they think would deliver useful results. Challenges identified by the majority of the study participants relate to the collaborative nature of the work: the availability and discoverability of information, communication, collaborative planning and integration with work of others. Almost all participants also addressed the advantages and disadvantages of the current "fast to the market" trend, and the toll it takes on the quality of the software that they are able to deliver and on their professional and personal satisfaction as software engineers. We describe in depth the identified challenges, supporting our findings with explicit quotes from the study participants. We also put these findings in context of work done by the software engineering community and outline a roadmap for possible future research initiatives

    Key Challenges in Agile Requirements Engineering

    Get PDF
    Agile Software Development (ASD) is becoming more popular in all fields of industry. For an agile transformation, organizations need to continuously improve their established approaches to Requirements Engineering (RE) as well as their approaches to software development. This is accompanied by some chal‐lenges in terms of agile RE. The main objective of this paper is to identify the most important challenges in agile RE industry has to face today. Therefore, we conducted an iterative expert judgement process with 26 experts in the field of ASD, comprising three complementary rounds. In sum, we identified 20 challenges in three rounds. Six of these challenges are defined as key challenges. Based on the results, we provide options for dealing with those key challenges by means of agile techniques and tools. The results show that the identified challenges are often not limited to ASD, but they rather refer to software development in general. Therefore, we can conclude that organ‐izations still struggle with agile transition and understanding agile values, in particular, in terms of stakeholder and user involvement.Ministerio de Economía y Competitividad TIN2013-46928-C3-3-RMinisterio de Economía y Competitividad TIN2016-76956-C3-2-RMinisterio de Economía y Competitividad TIN2015-71938-RED

    Historical roots of Agile methods: where did “Agile thinking” come from?

    No full text
    The appearance of Agile methods has been the most noticeable change to software process thinking in the last fifteen years [16], but in fact many of the “Agile ideas” have been around since 70’s or even before. Many studies and reviews have been conducted about Agile methods which ascribe their emergence as a reaction against traditional methods. In this paper, we argue that although Agile methods are new as a whole, they have strong roots in the history of software engineering. In addition to the iterative and incremental approaches that have been in use since 1957 [21], people who criticised the traditional methods suggested alternative approaches which were actually Agile ideas such as the response to change, customer involvement, and working software over documentation. The authors of this paper believe that education about the history of Agile thinking will help to develop better understanding as well as promoting the use of Agile methods. We therefore present and discuss the reasons behind the development and introduction of Agile methods, as a reaction to traditional methods, as a result of people's experience, and in particular focusing on reusing ideas from histor

    From Empowerment Dynamics to Team Adaptability: Exploring and Conceptualizing the Continuous Agile Team Innovation Process

    Get PDF
    To foster their innovation teams’ adaptability, organizations are increasingly relying on agile teams. While research on the adoption of agile methods and practices has grown tremendously in the past decade, little is currently known about the human side of agile teams and how it contributes toward the emergence of adaptability. While the Agile Manifesto states that individuals and interactions are more important for agile product development than tools and processes, research on how these interactions unfold is still in its infancy. To shed light on the human side of adaptability, 44 semi‐structured, in‐depth interviews were conducted with team members and leaders from various teams at three organizations (i.e., two German and one multinational European firm). The inductive analysis identified empowerment as a focal human factor for adaptability emergence. A model of the continuous agile team innovation process is developed and uncovers the importance of dynamic empowerment states and their temporary equilibria for team adaptability. The underlying findings demonstrate that empowerment is not a static state, but rather emerges through the interactions between various actors. Specifically, the team and its leader engage in both empowerment‐enhancing and empowerment‐reducing activities. These activities are further influenced by the agile team’s immediate context: Two‐fold customer influences, that is, supporting and hindering empowerment interactions, and the organizational environment, that is, undergoing an agile transformation and supportive top management behaviors, play an important role in affecting the empowerment dynamics that result in team adaptability. As such, this study contributes to the innovation and management literatures by revealing the dynamic role of the empowerment and adaptability constructs for agile innovation processes and the importance of various actors and the organizational environment for fostering adaptability. Practical insights are offered to management, teams, and team members on how to create conditions for empowerment dynamics and consequently adaptability to unfold

    Data-driven elicitation of quality requirements in agile companies

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

    Changing situational contexts present a constant challenge to software developers.

    Get PDF
    A software process can take many forms and its optimality demands that it should be harmonised with the needs of the given software development situational context. This theoretical proposition is reasonably clear. However, the finer details of the interaction between the software process and the factors of the situational context are much less obvious. In previously published research, the authors have elaborated a reference framework that identifies the factors of a situational context that affect the software process [1]. In this paper, we report on the application of our reference framework in an examination of the changing nature of software development situational contexts. Our corresponding study of fifteen software development companies indicates that certain factors appear more subject to change than others. This finding is a potentially important insight that can help us with the recurring challenge of adapting the software process to changing circumstances

    Scaling up the Planning Game: Collaboration Challenges in Large-Scale Agile Product Development

    Get PDF
    One of the benefits of agile is close collaboration of customer and developer. This ensures good commitment and excellent knowledge flows of information about priorities and efforts. However, it is unclear if this benefit can be leveraged at scale. Clearly, it is infeasible to use practices such as planning game with several agile teams in the room. In this paper, we investigate how a large-scale agile organization manages, what challenges exist, and which opportunities can be leveraged. We found challenges in three areas: (i) the abil-ity to estimate, prioritize, and plan; (ii) the context of planning with respect to working environment, team build-up, and team spirit; and (iii) the ceremonial agreement which promises to allow leveraging abilities in a given context

    Enabling agile web development through in-browser code generation and evaluation

    Get PDF
    Rapid evolution and flexibility are the key of modern web application development. Rapid Prototyping approaches try to facilitate evolution by reducing the time between the elicitation of a new requirement and the evaluation of a prototype by both developers and customers. Software generation, with disciplines such as Software Product Lines Engineering or Model Driven Engineering, favours the required flexibility for the development process. Nevertheless, each small change in the design of an application requires a full redeployment of complex environments in order to allow customers to test and evaluate the new configuration. In this work we present an approach that improves the development process reducing the complexity of deploying evaluation prototypes and enabling an agile development cycle. The approach can be applied using software generation and it is based on in-browser generation and evaluation. We also describe two real world tools that have integrated the proposed approach in their development cycle
    corecore