114 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

    The impact of employee participation on the use of an electronic process guide: A longitudinal case study

    Get PDF
    -Many software companies disseminate process knowledge through electronic process guides. A common problem with such guides is that they are not used. Through a case study, we investigated how participation in creating an electronic process guide, through process workshops, influenced the use of the guide. We studied developer and project manager usage with respect to three factors: frequency of use, used functionality, and reported advantages and disadvantages. We collected data from three rounds of interviews and 19 months of usage logs in a longitudinal study in a medium-size software company. Employees who participated in process workshops showed a higher degree of usage, used a larger number of functions, and expressed more advantages and disadvantages than those not involved. Our study suggests that employee participation has a long-term positive effect on electronic process guide usage

    Understanding coordination in global software engineering: A mixed-methods study on the use of meetings and Slack

    Get PDF
    Given the relevance of coordination in the field of global software engineering, this work was carried out to further understand coordination mechanisms. Specifically, we investigated meetings and the collaboration tool Slack. We conducted a longitudinal case study using a mixed-methods approach with surveys, observations, interviews, and chat logs. Our quantitative results show that employees in global projects spend 7 h 45 min per week on average in scheduled meetings and 8 h 54 min in unscheduled meetings. Furthermore, distributed teams were significantly larger than co-located teams, and people working in distributed teams spent somewhat more time in meetings per day. We found that low availability of key people, absence of organizational support for unscheduled meetings and unbalanced activity from team members in meetings and on Slack were barriers for effective coordination across sites. The positive aspects of using collaboration tools in distributed teams were increased team awareness and informal communication and reduced the need for e-mail. Our study emphasizes the importance of reflecting on how global software engineering teams use meetings and collaboration tools to coordinate. We provide practical advice for conducting better meetings and give suggestions for more efficient use of collaboration tools in global projects.publishedVersio

    Coordination Strategies When Working from Anywhere: A Case Study of Two Agile Teams

    Get PDF
    Effective coordination is the key to successful agile teams. They rely on frequent interactions and mutual adjustment to manage dependencies between activities, which traditionally has been solved by co-locating the team. As the world is adjusting to post-covid work-life, companies are moving towards a work-from-anywhere approach where workers can choose to what degree they want to work from home or office. However, little is known about coordination in such a context. We report findings on developers' emerging strategies when working-from-anywhere, from an exploratory case study in Norway, including eight interviews. Our study shows that new strategies for mutual adjustment emerged as teams experimented with different tools and approaches: developers chose tasks according to location, tasks with vague requirements are performed collocated while individual tasks requiring focus are best performed at home; large meetings are virtual, preserving co-located time for collaborative tasks; using virtual rooms to maintain unscheduled meetings as they communicate mental presence to teammates, lowering the threshold for intra-team unscheduled talks. The strategies can help organizations create a productive and effective environment for developers.Comment: Accepted to XP 2022: International Conference on Agile Software Developmen

    Coordination Strategies When Working from Anywhere: A Case Study of Two Agile Teams

    Get PDF
    Effective coordination is the key to successful agile teams. They rely on frequent interactions and mutual adjustment to manage dependencies between activities, which traditionally has been solved by co-locating the team. As the world is adjusting to post-covid work-life, companies are moving towards a work-from-anywhere approach where workers can choose to what degree they want to work from home or office. However, little is known about coordination in such a context. We report findings on developers’ emerging strategies when working-from-anywhere, from an exploratory case study in Norway, including eight interviews. Our study shows that new strategies for mutual adjustment emerged as teams experimented with different tools and approaches: developers chose tasks according to location, tasks with vague requirements are performed collocated while individual tasks requiring focus are best performed at home; large meetings are virtual, preserving co-located time for collaborative tasks; using virtual rooms to maintain unscheduled meetings as they communicate mental presence to teammates, lowering the threshold for intra-team unscheduled talks. The strategies can help organizations create a productive and effective environment for developers.publishedVersio

    To schedule or not to schedule? An investigation of meetings as an inter-team coordination mechanism in large-scale agile software development

    Get PDF
    Coordination of teams is critical when managing large programmes that involve multiple teams. In large-scale software development, work is carried out simultaneously by many developers and development teams. Results are delivered frequently and iteratively, which requires coordination on different levels, e.g., the programme, project, and team levels. Prior studies of knowledge work indicate that such work relies heavily on coordination through personal modes such as mutual adjustment between individuals or through scheduled or unscheduled meetings. In agile software development processes, principles and work structures emerge during the project and are not predetermined. We studied how coordination through scheduled and unscheduled meetings changes over time in two large software development programmes relying on agile methods. Our findings include transitions from scheduled to unscheduled meetings and from unscheduled to scheduled meetings. The transitions have been initiated both bottom-up and top-down in the programme organizations. The main implication is that programme management needs to be sensitive to the vital importance of coordination and the coordination needs as they change over time. Further, when starting a program, we recommend to early identify the important scheduled meetings, as having enough scheduled meetings is important to develop a common understanding of domain knowledge

    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 Agile Coach Role: Coaching for Agile Performance Impact

    Get PDF
    It is increasingly common to introduce agile coaches to help gain speed and advantage in agile companies. Following the success of Spotify, the role of the agile coach has branched out in terms of tasks and responsibilities, but little research has been conducted to examine how this role is practiced. This paper examines the role of the agile coach through 19 semi-structured interviews with agile coaches from ten different companies. We describe the role in terms of the tasks the coach has in agile projects, valuable traits, skills, tools, and the enablers of agile coaching. Our findings indicate that agile coaches perform at the team and organizational levels. They affect effort, strategies, knowledge, and skills of the agile teams. The most essential traits of an agile coach are being emphatic, people-oriented, able to listen, diplomatic, and persistent. We suggest empirically based advice for agile coaching, for example companies giving their agile coaches the authority to implement the required organizational changes within and outside the teams

    Shared Knowledge in Virtual Software Teams: A Preliminary Framework

    Get PDF
    Shared knowledge allows virtual teams to collaborate more effectively. Shared knowledge in teams, hereafter called team knowledge, must be established and maintained. This is a key enabler for agile development in a distributed context. Hence, organizations may benefit from efforts to ensure sufficient levels of team knowledge. Such efforts may include different measures, such as project kick-offs, frequent visits across locations, knowledge sharing tools and practices. However, team knowledge includes many types of knowledge, with different impacts on the team's work. This paper outlines a framework for conceptualizing the breadth of team knowledge relevant for virtual software teams. With the help of this framework, organizations can think more strategically about how to improve team knowledge -- for example the planning of kick-offs, what to focus on in face-to-face meetings and how the team members work together on a day-to-day basis. The framework may also be used to assist in planning team composition, for example based on individuals' knowledge and the overlap with other team members' knowledge. The framework uses four broad categories of team knowledge: task-related, team-related, process-related and goal-related. Beneath these four categories the framework details and describes more concrete knowledge types. We also provide examples from software practice for each knowledge type.acceptedVersio

    Overcoming cultural barriers to being agile in distributed teams

    Get PDF
    Context: Agile methods in offshored projects have become increasingly popular. Yet, many companies have found that the use of agile methods in coordination with companies located outside the regions of early agile adopters remains challenging. India has received particular attention as the leading destination of offshoring contracts due to significant cultural differences between sides of such contracts. Alarming differences are primarily rooted in the hierarchical business culture of Indian organizations and related command-and-control management behavior styles. Objective: In this study, we attempt to understand whether cultural barriers persist in distributed projects in which Indian engineers work with a more empowering Swedish management, and if so, how to overcome them. The present work is an invited extension of a conference paper. Method: We performed a multiple-case study in a mature agile company located in Sweden and a more hierarchical Indian vendor. We collected data from five group interviews with a total of 34 participants and five workshops with 96 participants in five distributed DevOps teams, including 36 Indian members, whose preferred behavior in different situations we surveyed. Results: We identified twelve cultural barriers, six of which were classified as impediments to agile software development practices, and report on the manifestation of these barriers in five DevOps teams. Finally, we put forward recommendations to overcome the identified barriers and emphasize the importance of cultural training, especially when onboarding new team members. Conclusions: Our findings confirm previously reported behaviors rooted in cultural differences that impede the adoption of agile approaches in offshore collaborations, and identify new barriers not previously reported. In contrast to the existing opinion that cultural characteristics are rigid and unchanging, we found that some barriers present at the beginning of the studied collaboration disappeared over time. Many offshore members reported behaving similarly to their onshore colleagues.acceptedVersio
    corecore