21 research outputs found

    Coordinating Knowledge Work in Multi-Team Programs: Findings from a Large-Scale Agile Development Program

    Get PDF
    Software development projects have undergone remarkable changes with the arrival of agile development methods. While intended for small, self-managing teams, these methods are increasingly used also for large development programs. A major challenge in programs is to coordinate the work of many teams, due to high uncertainty in tasks, a high degree of interdependence between tasks and because of the large number of people involved. This revelatory case study focuses on how knowledge work is coordinated in large-scale agile development programs by providing a rich description of the coordination practices used and how these practices change over time in a four year development program with 12 development teams. The main findings highlight the role of coordination modes based on feedback, the use of a number of mechanisms far beyond what is described in practitioner advice, and finally how coordination practices change over time. The findings are important to improve the outcome of large knowledge-based development programs by tailoring coordination practices to needs and ensuring adjustment over time.Comment: To appear in Project Management Journa

    Scaling Agile: Approach for Defining Key Aspects of Multiteam Agile Software Delivery Systems (Research in Progress)

    Get PDF
    The need to scale agile approaches for software delivery within larger organizations and larger projects has led to a proliferation of agile scaling frameworks. Anecdotal evidence of the resultant implementation of these scaling frameworks shows varying degrees of success. Missing from this discourse is a holistic, framework-independent understanding of scaling agility. This research proposes an approach for defining key aspects of agile scaling. Using a Delphi method, we will work with an international panel of agilists representing the major scaling frameworks to determine challenges for scaling agile. These results will then be compared to the existing agile scaling research to determine convergence and identify gaps within the existing research. We will also compare the results to the emerging research that uses multiteam systems to help explain the agile scaling phenomenon. These comparisons will provide a means to gauge the relevance of existing literature to practitioner identified needs. The results of the study will provide practitioners a framework-independent understanding of agile scaling for large organizations and projects and provide scholars a clear direction to support future research

    Dependency Management in Large-Scale Agile: A Case Study of DevOps Teams

    Get PDF
    Managing dependencies between teams and within teams is critical when running large-scale agile projects. In large-scale software development, work is carried out simultaneously by many developers and development teams. Results are delivered frequently and iteratively, which requires management of dependencies on both the project and team level. This study explores coordination mechanisms in agile DevOps teams in a large-scale project and how the mechanisms address different types of dependencies. We conducted a case study where we observed 38 scheduled meetings and interviewed members of five DevOps teams and two teams supporting the DevOps teams. By using a dependency taxonomy, we identified 20 coordination mechanisms (eleven synchronization activities and nine synchronization artifacts). Eight of these mechanisms seem essential for coordination in large-scale projects because they addressed more than four types of dependencies. The main implication is that project management needs to combine many practices handling all the dependencies in large-scale projects

    The Impact of Ownership and Contribution Alignment on Code Technical Debt Accumulation

    Full text link
    Software development organisations strive to maintain their effectiveness while the complexity of the systems they develop continues to grow. To tackle this challenge, organisations tend to be organised into small teams working with components that can be developed separately. Here, organisations must design their architecture and organisational structures in a way that enables communication and minimises dependencies, and helps teams reduce code and architectural degradation. Ensuring that each small independent team is responsible for components they primarily contribute is one approach to achieving this goal. This study aims at understanding the impact of ownership and contribution alignment on accumulation of code technical debt and how abrupt changes in team constellation affect teams' effectiveness in managing TD. We conducted an embedded case study in a company developing a very large software system, analysing ten components belonging to 1 team. During the studied period, the team was split into two, and the components owned by them were distributed between the two new teams. With high degrees of contribution alignment, we noticed a negative correlation between contribution alignment and TD Density before the team split. In 4 components, this correlation is statistically significant. This means a higher contribution alignment degree implies a lower TD Density. After the split, we observe a negative correlation in 3 components. The positive correlation observed in the other 5 components could be attributed to low contribution alignment, leading to difficulties in managing TD. Our findings suggest that contribution alignment can be important in controlling TD in software development organisations. Making teams responsible for the quality of components they have more expertise over and minimising dependencies between teams can help organisations mitigate the growth of TD.Comment: Submitted to Transactions on Software Engineering (TSE

    Why and How to Balance Alignment and Diversity of Requirements Engineering Practices in Automotive

    Full text link
    In large-scale automotive companies, various requirements engineering (RE) practices are used across teams. RE practices manifest in Requirements Information Models (RIM) that define what concepts and information should be captured for requirements. Collaboration of practitioners from different parts of an organization is required to define a suitable RIM that balances support for diverse practices in individual teams with the alignment needed for a shared view and team support on system level. There exists no guidance for this challenging task. This paper presents a mixed methods study to examine the role of RIMs in balancing alignment and diversity of RE practices in four automotive companies. Our analysis is based on data from systems engineering tools, 11 semi-structured interviews, and a survey to validate findings and suggestions. We found that balancing alignment and diversity of RE practices is important to consider when defining RIMs. We further investigated enablers for this balance and actions that practitioners take to achieve it. From these factors, we derived and evaluated recommendations for managing RIMs in practice that take into account the lifecycle of requirements and allow for diverse practices across sub-disciplines in early development, while enforcing alignment of requirements that are close to release.Comment: 19 page

    Towards a 5c theory of communication for scrum-based distributed projects

    Get PDF
    Scrum-based distributed projects face numerous challenges and failures due geographical, dispersed, times and cultural differences. To improve the success of such software development projects, there is a need to identify factors crucial to achieving the required level of communication between the distributed stakeholders. In this paper, we reviewed the issues and challenges associated with communication in scrum-based distributed projects and explored factors that could improve communication for scrum-based distributed projects. A total number of 25 interviews were conducted in various geographical regions which helped to identify five major factors, i.e. competency, correlation, comprehension, contentment and commitment, crucial to the success of scrum-based distributed projects. Our identification of these factors presents a research and practice approach to developing a theory of communication that would help project managers, scrum masters and practitioners to improve practices while undertaking scrum-based distributed projects

    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

    Problematizing agile in the large: alternative assumptions for large-scale agile development

    Get PDF
    In this paper we critically examine the underlying assumptions in existing studies of large-scale agile software development. We use Alvesson and Sandberg’s problematization methodology and find that existing studies of large-scale agile share a number of underlying assumptions relevant to small rather than large-scale projects. Empirically, we draw on a case study of a large-scale agile project lasting nearly four years and involving more than 120 participants. Interestingly, the findings of the study contradict many of the assumptions in the literature review. For example, work across boundaries becomes at least as important as work within teams. We contribute by developing an alternative set of assumptions better suited to the characteristics of large-scale agile software development. Based on this, we re-conceptualize agile in the large, emphasizing both the complex knowledge boundaries within the project itself, as well as the interactive complexity and tight coupling with technologies and processes outside the project

    Software Development and CSCW:Standardization and Flexibility in Large-Scale Agile Development

    Get PDF
    Identifying which agile methods and processes are most effective depends on the goals and aims of an organisation. Agile development promotes an environment of continuous improvement and trust within self-organising teams. Therefore, it is important to allow teams to have the flexibility to customize and tailor their chosen methods. However, in a large-scale agile deployment, there needs to be a degree of process standardization across the organisation; otherwise, different teams will not be able to effectively share knowledge and best practices. This paper addresses this classic CSCW issue of the tensions that arise between process standardization and flexibility in a large-scale agile deployment at the BBC
    corecore