Interpretative case studies on agile team productivity and management

https://doi.org/10.1016/j.infsof.2012.09.004Get rights and content

Abstract

Context

The management of software development productivity is a key issue in software organizations, where the major drivers are lower cost and shorter time-to-market. Agile methods, including Extreme Programming and Scrum, have evolved as “light” approaches that simplify the software development process, potentially leading to increased team productivity. However, little empirical research has examined which factors do have an impact on productivity and in what way, when using agile methods.

Objective

Our objective is to provide a better understanding of the factors and mediators that impact agile team productivity.

Method

We have conducted a multiple-case study for 6 months in three large Brazilian companies that have been using agile methods for over 2 years. We have focused on the main productivity factors perceived by team members through interviews, documentation from retrospectives, and non-participant observation.

Results

We developed a novel conceptual framework, using thematic analysis to understand the possible mechanisms behind such productivity factors. Agile team management was found to be the most influential factor in achieving agile team productivity. At the intra-team level, the main productivity factors were team design (structure and work allocation) and member turnover. At the inter-team level, the main productivity factors were how well teams could be effectively coordinated by proper interfaces and other dependencies and avoiding delays in providing promised software to dependent teams.

Conclusion

Teams should be aware of the influence and magnitude of turnover, which has been shown negative for agile team productivity. Team design choices remain an important factor impacting team productivity, even more pronounced on agile teams that rely on teamwork and people factors. The intra-team coordination processes must be adjusted to enable productive work by considering priorities and pace between teams. Finally, the revised conceptual framework for agile team productivity supports further tests through confirmatory studies.

Introduction

The management of software development productivity is a key issue in software organizations, where the major drivers are lower cost and shorter time-to-market [18], [100]. To manage productivity effectively, it is important to identify the most relevant difficulties and develop strategies to cope with them. Agile methods, including Extreme Programming [10] and Scrum [89], have evolved as approaches to simplify the software development process, potentially leading to better productivity. They aim to shorten development time and handle the inevitable changes resulting from market dynamics [50], [82].

Considerable research has been directed at identifying factors that have a significant impact on software development productivity [100], [106]. In general, the studied productivity factors were related to product (specific characterization of software), personnel (team member capabilities, experience, and motivation), project (management aspects, resource constraints), or process issues (software methods and tools). Continuously evaluating productivity factors is important, as factors may change under new software engineering practices [81].

Although the industry has extensively adopted agile methods, little research has empirically examined the software development agility construct regarding its dimensions, determinants, and effects on software development productivity and performance [54], [95], [8], [35], [92]. Understanding the factors that affect productivity could help determine where to concentrate management efforts (and related financial resources) from a practical standpoint and where to focus research efforts from an academic perspective [86]. However, to the best of our knowledge, no study in the literature has investigated the major factors influencing agile team productivity.

In a preliminary study [69], we investigated general factors influencing agile team productivity using two industrial case studies. The studied teams reported that the main general factors influencing agile team productivity were (1) team composition and allocation, (2) external dependencies, and (3) staff turnover. They also reported that, among the agile practices, pair programming and collocation most impacted productivity variations.

In the current paper, we extend and refine that work. Our objective is now to provide a better understanding of some factors (and mediators) that impact agile team productivity. We have thus conducted a new industrial, multiple-case study that draws on the general team effectiveness literature. We investigate the following research question:

RQ: Which factors do have an impact, and in what way, on team productivity when using agile methods?

In this extension, we added one large company and two data sources for all three companies: observational field notes and documentation from team retrospectives. We performed a more comprehensive analysis based on these sources and developed more detailed explanations on how the most perceived factors impacted agile team productivity. We developed a conceptual framework for agile team productivity, which provides clarity and focus in the study and drives further discussion around the results [70]. Finally, data from multiple-case studies were analyzed thematically and presented in a thematic map.

As the answer to our research question, we found that agile team management is the most influent factor on agile team productivity. Team design choices and staff turnover emerged as relevant intra-team management issues, while inter-team coordination emerged as an important inter-team management issue. In this paper, we present a conceptual framework to support the factor analysis and refine it to incorporate new information based on our findings.

The remainder of this paper is organized as follows. Section 2 presents a review on software productivity definitions and a conceptual framework for agile team productivity. Section 3 describes our research question and method in detail. Section 4 presents results from a multiple-case study performed in three Brazilian companies. Section 5 contains a discussion of our findings, and Section 6 concludes and provides suggestions for further work.

Section snippets

Background: productivity definitions and a conceptual framework to study agile team productivity

In this section, we give a short introduction to software productivity and present the conceptual framework that is the basis for our work.

Research method

We investigated our research question “Which factors do have an impact, and in what way, on team productivity when using agile methods?” To answer this research question, we performed a multiple-case study in the Brazilian IT industry. Case studies [41], [104] have high potential for analyzing performance improvement, and they are appropriate for studying complex performance issues [76].

The criteria for case selection included the following: (1) companies using agile methods (XP [10] or Scrum

Agile team management and productivity

We describe below results from the thematic analysis, providing a short description for each theme and presenting quotations and other evidence that support the findings.

Fig. 4 presents the results from the thematic network analysis of agile team productivity factors. In the following sections, we describe the organizing themes, team design choices, team member turnover, and inter-team coordination, the main factors impacting agile team productivity, all related to the global theme agile team

Discussion

Through an interpretative field study in three large companies in Brazil, we investigated factors that affect agile team productivity. We now discuss the cases in light of our research question, RQ: “Which factors do have an impact, and in what way, on team productivity when using agile methods?”

The productivity of the studied agile teams was more sensitive to team management issues. Agile teams often take responsibility for managing their own work and behaviors; while others usually make

Conclusion

We have conducted a multiple-case study of agile teams in three large Brazilian IT companies for 6 months. The results presented here are based on detailed and rigorous investigations of three teams, summarized in Table 2. This paper sheds light on under-researched questions pertaining to the productivity factors of agile teams.

The major original contributions of this paper are (1) to explore, in an industrial setting, a significant agile productivity factor: team management, (2) to analyze team

Acknowledgements

We would like to thank the companies and their employees who contributed to this project. This research is supported by FAPESP, Brazil, proc. 2009/10338-3, CNPq, Brazil, proc. 76661/2010-2, and the Research Council of Norway, proc. 202657.

References (110)

  • F. Rafii

    How important is physical collocation to product development success?

    Business Horizons

    (1995)
  • A. Trendowicz et al.

    Factors influencing software development productivity – state-of-the-art and industrial experiences

    Advances in Computers

    (2009)
  • N. Abbas et al.

    Historical roots of agile methods: where did agile thinking come from?

  • T. Abdel-Hamid et al.

    Software Project Dynamics: An Integrated Approach

    (1991)
  • P. Abrahamsson et al.

    ’lots done, more to do’: the current state of agile systems development research

    EJIS

    (2009)
  • H. Arrow et al.

    Membership dynamics in groups at work: a theoretical framework

    Research in organizational behavior

    (1995)
  • J. Attride-Stirling

    Thematic networks: an analytic tool for qualitative research

    Qualitative Research

    (2001)
  • S. Augustine et al.

    Agile project management: steering from the edges

    Communications of the ACM

    (2005)
  • V. Balijepally et al.

    Are two heads better than one for software development? The productivity paradox of pair programming

    MIS Quarterly

    (2009)
  • V.R. Basili

    Viewing maintenance as reuse-oriented software development

    IEEE Software

    (1990)
  • K. Beck et al.

    Extreme Programming Explained: Embrace Change

    (2004)
  • K. Beck, M. Beedle, A. van Bennekum, A. Cockburn, W. Cunningham, M. Fowler, J. Grenning, J. Highsmith, A. Hunt, R....
  • A. Begel et al.

    Coordination in large-scale software teams

  • K.J. Behfar et al.

    Conflict in small groups: the meaning and consequences of process conflict

    Small Group Research

    (2011)
  • S.T. Bell

    Deep-level composition variables as predictors of team performance: a meta-analysis

    Journal of Applied Psychology

    (2007)
  • J. Blackburn et al.

    Concurrent software development

    Communications of ACM

    (2000)
  • J.D. Blackburn et al.

    Improving speed and productivity of software development: a global survey of software developers

    IEEE Transactions on Software Engineering

    (1996)
  • B. Boehm

    Software Engineering Economics

    (1981)
  • B.W. Boehm

    Improving software productivity

    Computer

    (1987)
  • P. Bosch-Sijtsema et al.

    Knowledge work productivity in distributed teams

    Journal of Knowledge Management

    (2009)
  • R.E. Boyatzis

    Transforming Qualitative Information: Thematic Analysis and Code Development

    (1998)
  • V. Braun et al.

    Using thematic analysis in psychology

    Qualitative Research in Psychology

    (2006)
  • R. Brian et al.

    The impact of team fluidity and its implications for human resource management research and practice

    Research in Personnel and Human Resources Management

    (2003)
  • F.P. Brooks

    The Mythical Man-month

    (1995)
  • F.W. Cascio

    Managing Human Resource: Productivity, Quality of Work Life and Profits

    (1991)
  • A. Cockburn et al.

    Agile software development: the people factor

    Computer

    (2001)
  • S.G. Cohen et al.

    The effectiveness of self-managing teams: a quasi-experiment

    Human Relations

    (1994)
  • M. Coram et al.

    The impact of agile methods on software project management

  • J. Corbin et al.

    Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory

    (2007)
  • J.M. Corbin et al.

    Grounded theory research: procedures, canons, and evaluative criteria

    Qualitative Sociology

    (1990)
  • D.S. Cruzes et al.

    Recommended steps for thematic synthesis in software engineering

  • C.K.W.D. Dreu et al.

    Task versus relationship conflict, team performance, and team member satisfaction: a meta-analysis

    Journal of Applied Psychology

    (2003)
  • T. Dybå et al.

    Are two heads better than one? On the effectiveness of pair programming

    IEEE Software

    (2007)
  • M. Eccles et al.

    The impact of collocation on the effectiveness of agile is development teams

    Communications of the IBIMA

    (2010)
  • S. Faraj et al.

    Coordinating expertise in software development teams

    Management Science

    (2000)
  • J. Fereday et al.

    Demonstrating rigor using thematic analysis: a hybrid approach of inductive and deductive coding and theme development

    International Journal of Qualitative Methods

    (2006)
  • R. Flin et al.

    Leadership for safety: industrial experience

    Quality Safety in Health Care

    (2004)
  • J.R. Galbraith

    Designing Complex Organizations

    (1973)
  • J. Gerring

    Case Study Research: Principles and Practices

    (2006)
  • R.A. Guzzo et al.

    Teams in organizations: recent research on performance and effectiveness

    Annual Review of Psychology

    (1996)
  • Cited by (0)

    View full text