Abstract
Software development is a complex undertaking that continues to present software project teams with numerous challenges. Software project teams are adopting extreme programming (XP) practices in order to overcome the challenges of software development in an increasingly dynamic environment. The ability to coordinate software developers' efforts is critical in such conditions. Expertise coordination has been identified as an important emergent process through which software project teams manage non-routine challenges in software development. However, the extent to which XP enables software project teams to coordinate expertise is unknown. Drawing on the agile development and expertise coordination literatures, we examine the role of collective ownership and coding standards as processes and practices that govern coordination in software project teams. We examine the relationship between collective ownership, coding standards, expertise coordination, and software project technical quality in a field study of 56 software project teams comprising 509 software developers. We found that collective ownership and coding standards play a role in improving software project technical quality. We also found that collective ownership and coding standards moderated the relationship between expertise coordination and software project technical quality, with collective ownership attenuating the relationship and coding standards strengthening the relationship. Theoretical and practical implications of the findings are discussed.
Similar content being viewed by others
References
Abrahamsson P and Koskela J (2004). Extreme programming: a survey of empirical data from a controlled case study. In Proceedings of the ACM-IEEE International Symposium on Empirical Software Engineering (Juristo, F and Shull, F, Eds), pp. 73–82, IEEE Computer Society Press, Redondo Beach, CA.
Aiken LS and West SG (1991) Multiple Regression: Testing and Interpreting Interactions. Sage, London.
Akgun AE, Byrne JC, Keskin H and Lynn GS (2006) Transactive memory system in new product development teams. IEEE Transactions on Engineering Management 53 (1), 95–111.
Ancona DG and Caldwell D (1992) Bridging the boundary: external activity and performance in organizational teams. Administrative Science Quarterly 37 (4), 634–665.
Argote L (1982) Input uncertainty and organizational coordination in hospital emergency units. Administrative Science Quarterly 27 (3), 420–434.
Bahli B and Zeid ESA (2005) The role of knowledge creation in adopting extreme programming model: an empirical study. In ITI 3rd International Conference on Information and Communications Technology: Enabling Technologies for the New Knowledge Society, pp 75–87, IEEE Computer Press, Cairo, Egypt.
Balijepally V, Mahapatra R, Nerur S and Price KH (2009) Are two heads better than one for software development? The productivity paradox of pair programming. MIS Quarterly 33 (1), 91–188.
Banker RD, Davis GB and Slaughter SA (1998) Software development practices, software complexity, and software maintenance performance: a field study. Management Science 44 (4), 433–450.
Banker RD and Slaughter SA (2000) The moderating effect of structure on volatility and complexity in software enhancement. Information Systems Research 11 (3), 219–240.
Barry EJ, Kemerer CF and Slaughter SA (2006) Environmental volatility, development decisions, and software volatility: a longitudinal analysis. Management Science 52 (3), 448–464.
Baskerville R, Levine L, Pries-Heje J, Ramesh B and Slaughter SA (2002) Balancing quality and agility in Internet speed software development. In Proceedings of the 23rd International Conference on Information Systems (APPLEGATE L, GALLIERS R and DEGROSS JI, Eds), pp 859–864, Association for Information System Press, Barcelona, Spain.
Beck K (1999) Embracing change with extreme programming. IEEE Computer 32 (10), 70–77.
Beck K (2000) Extreme Programming Explained. Addison-Wesley, Reading, MA.
Beck K (2003) Test-Driven Development by Example. Addison-Wesley, Reading, MA.
Bieman J (2002) Risks to software quality. Software Quality Journal 10 (1), 7–9.
Bliese PD (2000) Within-group agreement, non-independence, and reliability: implications for data aggregation and analysis. In Multilevel Theory, Research, and Methods in Organizations (KLEIN KJ and KOZLOWSKI SWJ Eds), pp 349–381, Jossey-Bass, San Fransisco, CA.
Boehm B and Turner R (2005) Management challenges to implementing agile processes in traditional development organizations. IEEE Software 22 (5), 30–39.
Boh WF, Ren Y, Kiesler S and Busskaeger R (2007) Expertise and collaboration in the geographically dispersed organization. Organization Science 18 (4), 595–612.
Boland RJ and Tenkasi RV (1995) Perspective making and perspective taking in communities of knowing. Organization Science 6 (4), 350–372.
Carmel E, Whitaker R and George J (1993) PD and joint application design: a transatlantic comparison. Communications of the ACM 36 (4), 40–48.
Chan D (1998) Functional relations among constructs in the same content domain at different levels of analysis: a typology of composition models. Journal of Applied Psychology 83 (2), 234–246.
Chong J (2005) Social behaviors on XP and non-XP teams: a comparative study. In Proceedings of the Agile Development Conference (ADC’05).
Coad P, De Luca J and Lefebre E (1999) Java Modeling in Color. Prentice-Hall, Englewood Cliffs, NJ.
Cockburn A (2001) Agile Software Development. Addison-Wesley, Reading, MA.
Cohen S and Bailey D (1997) What makes teams work? Group effectiveness research from the shop floor to the executive suite. Journal of Management 23 (3), 239–290.
Conboy K (2009) Agility from first principles: reconceptualizing the concept of agility in information systems development. Information Systems Research 20 (3), in press.
Curtis B, Krasner H and Iscoe N (1988) A field study of the software design process for large systems. Communications of the ACM 31 (11), 1268–1287.
Cusumano M, Maccormack A, Kemerer C and Crandall B (2003) Software development worldwide: the state of the practice. Communications of the ACM 20 (6), 28–34.
Dansereau F, Alutto JA and Yammarino FJ (1984) Theory Testing in Organizational Behavior: The Variant Approach. Prentice-Hall, Englewood Cliffs, NJ.
Devellis RF (2003) Scale Development: Theory and Applications. Sage, Thousand Oaks, CA.
Dyba T and Dingsoyr T (2008) Empirical studies of agile software development: a systematic review. Information & Software Technology 50 (9–10), 833–859.
Erdogmus H and Williams L (2003) The economics of software development by pair programmers. The Engineering Economist 48 (4), 283–319.
Erickson J, Lyytinen K and Siau K (2005) Agile modeling, agile software development, and extreme programming: the state of research. Journal of Database Management 16 (4), 88–99.
Espinosa JA, Kraut RE, Lerch J, Slaughter SA, Herbsleb J and Mockus A (2001) Shared mental models and coordination in large-scale, distributed software development. In Proceedings of the 22nd International Conference on Information Systems, pp 513–517, Association for Information Systems Press, New Orleans, LA.
Espinosa JA, Slaughter SA, Kraut RE and Herbsleb JD (2007a) Team knowledge and coordination in geographically distributed software development. Journal of Management Information Systems 24 (1), 135–169.
Espinosa JA, Slaughter SA, Kraut RE and Herbsleb JD (2007b) Familiarity, complexity, and team performance in geographically distributed software development. Organization Science 18 (4), 613–630.
Faraj S and Sproull L (2000) Coordinating expertise in software development teams. Management Science 46 (12), 1554–1568.
Fitzgerald B (2000) Systems development methodologies: the problem of tenses. Information Technology and People 13 (3), 13–22.
Fitzgerald B, Hartnett G and Conboy K (2006) Customising agile methods to software practices at Intel Shannon. European Journal of Information Systems 15 (2), 200–213.
Fitzgerald B, Russo N and O’Kane T (2003) Software development method tailoring at Motorola. Communications of the ACM 46 (4), 64–70.
Fowler M and Highsmith J (2001) Agile methodologists agree on something. Software Development 9, 28–32.
Fry LW and Slocum JW (1984) Technology, structure, and work group effectiveness: a test of a contingency model. Academy of Management Journal 27 (2), 221–246.
Grenning J (2001) Launching extreme programming at a process intensive company. IEEE Software 16 (8), 27–33.
Highsmith J and Cockburn A (2001) Agile software development: the business of innovation. IEEE Computer 34 (9), 120–122.
Holmstrom H, Fitzgerald B, Agerfalk PJ and Conchuir EO (2006) Agile practices reduce distance in global software development. Information Systems Management 23 (3), 7–18.
Iansiti M and Maccormack A (1997) Developing products on Internet time. Harvard Business Review 75 (5), 108–117.
Iivari J, Hirschheim R and Klein HK (1998) A paradigmatic analysis contrasting information systems development approaches and methodologies. Information Systems Research 9 (2), 164–193.
Iivari J and Huisman M (2007) The relationship between organizational culture and the deployment of systems development methodologies. MIS Quarterly 31 (1), 35–58.
Ilgen DR, Hollenbeck JR, Johnson M and Jundt D. (2005) Team in organizations: from input-process-output models to IMOI models. Annual Review of Psychology 56, 517–543.
Ilieva S, Ivanov P and Stefanova E (2004) Analyses of an agile methodology implementation. In Proceedings of the 30th Euromicro Conference, pp 326–333, IEEE Computer Society Press, Rennes, France.
Jeffries R, Anderson A and Hendrickson C (2000) Extreme Programming Installed. Addison-Wesley, Boston, MA.
Ji Y, Mookerjee VS and Sethi SP (2005) Optimal software development: a control theoretic approach. Information Systems Research 16 (3), 292–306.
Johns G (2006) The essential impact of context on organizational behavior. Academy of Management Review 31 (2), 386–408.
Karlsson E, Andersson L and Leion P (2000) Daily build and feature development in large distributed projects. In Proceedings of the International Conference on Software Engineering, pp 649–658, ACM Press Limerick, Ireland.
Klein KJ, Dansereau F and Hall RJ (1994) Levels issues in theory development, data collection, and analysis. Academy of Management Review 19 (2), 195–229.
Klein KJ and Kozlowski SWJ (2000) From micro to meso: critical steps in conceptualizing and conducting multilevel research. Organizational Research Methods 3 (3), 211–236.
Kraut R and Streeter L (1995) Coordination in software development. Communications of the ACM 38 (3), 69–81.
Larman C (2003) Agile and Iterative Development: A Manager's Guide. Addison-Wesley, Reading, MA.
Lee G and Xia W (2005) The ability of information systems development project teams to respond to business and technology changes: a study of flexibility measures. European Journal of Information Systems 14 (1), 75–92.
Lepine JA, Piccolo RF, Jackson CL, Mathieu JE and Saul JR (2008) A meta-analysis of teamwork processes: tests of a multidimensional model and relationships with team effectiveness criteria. Personnel Psychology 61 (2), 273–307.
Lewis K (2003) Measuring transactive memory systems in the field: scale development and validation. Journal of Applied Psychology 88 (4), 587–604.
Lui K and Chan K (2006) Pair programming productivity: novice-novice vs expert-expert. International Journal of Human-Computer Studies 64 (9), 915–925.
Marks MA, Mathieu JE and Zaccaro SJ (2001) A temporally based framework and taxonomy of team processes. Academy of Management Review 26 (3), 356–376.
Martin RC (2002) Agile Software Development, Principles, Patterns, and Practices. Prentice-Hall, Englewood Cliffs, NJ.
Maruping LM, Venkatesh V and Agarwal R (2009) A control theory perspective on agile methodology use and changing user requirements. Information Systems Research 20 (3), in press.
Moreland RL and Myaskovsky L (2000) Exploring the performance benefits of group training: transactive memory or improved communication? Organizational Behavior and Human Decision Processes 82 (1), 117–133.
Morgeson FP and Hofmann DA (1999) The structure and function of collective constructs: implications for multilevel research and theory development. Academy of Management Review 24 (2), 249–265.
Murru O, Deias R and Mugheddu G (2003) Assessing XP at a European Internet company. IEEE Software 20 (3), 37–43.
Nerur S, Mahapatra R and Mangalaraj G (2005) Challenges of migrating to agile methodologies. Communications of the ACM 48 (5), 72–78.
Nonaka IH and Takeuchi HA (1995) The Knowledge-Creating Company. Oxford University Press, Oxford, U.K.
North American and European Enterprise Software and Services Survey (2005). Corporate IT Leads the Second Wave of Agile Adoption. Forrester Research Inc. pp 1–6.
Nosek J (1998) The case for collaborative programming. Communications of the ACM 41 (3), 105–108.
Orlikowski W and Iacono S (2001) Research commentary: desperately seeking the ‘IT’ in IT research – a call to theorizing about the IT artifact. Information Systems Research 12 (2), 121–134.
Panko RR (1999) Applying code inspection to spreadsheet testing. Journal of Management Information Systems 16 (2), 159–176.
Perlow L, Gittell J and Katz N (2004) Contextualizing patterns of work group interaction: toward a nested theory of structuration. Organization Science 15 (5), 520–536.
Pikkarainen M, Wang X and Conboy K (2007) Agile practices in use from an innovation assimilation perspective: a multiple case study. In Proceedings of the 28th International Conference on Information Systems, pp 1–17, Association for Information Systems Press, Montreal, Canada.
Podsakoff PM, Mackenzie SB, Lee JY and Podsakoff NP (2003) Common method biases in behavioral research: a critical review of the literature and recommended remedies. Journal of Applied Psychology 88 (5), 879–903.
Poole C and Huisman JW (2001) Using extreme programming in a maintenance environment. IEEE Software 18 (6), 42–50.
Poppendeick M (2001) Lean programming. Software Development 9 (5), 71–75.
Reagans R and McEvily B (2003) Network structure and knowledge transfer: the effects of cohesion and range. Administrative Science Quarterly 48 (2), 240–267.
Ren Y, Carley KM and Argote L (2006) The contingent effects of transactive memory: when is it more beneficial to know what others know? Management Science 52 (5), 671–682.
Rico DF (2008) Effects of agile methods on website quality for electronic commerce. In Proceedings of the 41st Annual Hawaii International Conference on System Science, p 464, IEEE Computer Society Press, Waikaloa, Big Island, Hawaii.
Rising L and Janoff NS (2000) The Scrum software development process for small teams. IEEE Software 17 (4), 26–32.
Salas E, Sims DE and Burke CS (2005) Is there a ‘Big Five’ in teamwork? Small Group Research 36 (5), 555–599.
Schuh P (2001) Recovery, redemption, and extreme programming. IEEE Software 18 (6), 33–40.
Schwaber K and Beedle M (2002) Agile Software Development with Scrum. Prentice-Hall, Upper Saddle River, NJ.
Standish Group (2003) The Standish Group report.
Straub DW (1989) Validating instruments in MIS research. MIS Quarterly 13 (2), 147–169.
Thompson J (1967) Organizations in Action. McGraw-Hill, New York.
Turk D, France R and Rumpe B (2005) Assumptions underlying agile software development process. Journal of Database Management 16 (4), 62–87.
Walz DB, Elam JJ and Curtis B (1993) Inside a software design team: knowledge acquisition, sharing, and integration. Communications of the ACM 36 (10), 63–77.
Wegner DM (1986) Transactive memory: a contemporary analysis of the group mind. In Theories of Group Behavior (MULLEN B and GOETHALS GR, Eds), pp 185–205, Springer-Verlag, New York.
Wegner DM (1995) A computer network model of human transactive memory. Social Cognition 13 (3), 319–339.
Wegner DM, Erber and Raymond P (1991) Transactive memory in close relationships. Journal of Personality and Social Psychology 61 (6), 923–929.
Williams L and Kessler R (2000) All I really need to know about pair programming I learned in kindergarten. Communications of the ACM 43 (5), 109–114.
Williams L and Kessler R (2001) Experimenting with industry's ‘pair-programming’ model in the computer science classroom. Computer Science Education 11 (1), 7–20.
Wood J and Silver D (1989) Joint Application Design: How to Design Quality Systems in 40% Less Time. Wiley, New York.
Author information
Authors and Affiliations
Corresponding author
Appendix
Appendix
Scales for XP practices
All items use a 7-point Likert scale using ‘strongly disagree’ and ‘strongly agree’ as anchors.
Collective ownership
-
1
Anyone on this team can change existing code at any time.
-
2
A unit of code can only be changed by the individual who developed it. (r)
-
3
Members of this team feel comfortable changing any part of the existing code at any time.
-
4
We all feel a sense of responsibility for the system code.
-
5
If anyone wants to change a piece of code, they need the permission of the individual(s) that coded it. (r)
Coding standards
-
1
We have a set of agreed upon coding standards in this team.
-
2
Members of this team have a shared understanding of how code is to be written.
-
3
Everyone on this team uses their own standards for coding. (r)
-
4
We do not follow an agreed upon standard for coding software for this project. (r)
-
5
All developers on this team code software according to their own set of standards. (r)
Note: (r) denotes a reverse coded item.
Rights and permissions
About this article
Cite this article
Maruping, L., Zhang, X. & Venkatesh, V. Role of collective ownership and coding standards in coordinating expertise in software project teams. Eur J Inf Syst 18, 355–371 (2009). https://doi.org/10.1057/ejis.2009.24
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1057/ejis.2009.24