Skip to main content
Log in

Recomposition: Coordinating a Web of Software Dependencies

  • Published:
Computer Supported Cooperative Work (CSCW) Aims and scope Submit manuscript

Abstract

In this paper, I revisit theconcept of recomposition – all the work thatdevelopment organizations do to make sure thattheir product fits together and into a broaderenvironment of other technologies. Technologies, such as Configuration Management(CM) systems, can ameliorate some of a softwaredevelopment team's need to engage inrecomposition. However, technologicalsolutions do not scale to address other kindsof recomposition needs. This paper focuses onvarious organizational responses to the needfor recomposition. By organizational response,I mean how individuals engage in recompositionso that the organization can assemble softwaresystems from parts. Specifically, I describehow those responses are manifested in theday-to-day communications and responsibilitiesof individuals throughout the organization. Ialso highlight how changes in an organizationcomplicate recomposition. The paper concludeswith a discussion of three features of softwaredevelopment work that are revealed byrecomposition: the affects of environmentaldisturbances on development work, the types ofdependencies that require recomposition, andthe images of organizations required to managethe recomposition.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Boehm, B. (1988): A Spiral Model of Software Development and Enhancement. IEEE Computer, vol. 21, no. 5, pp. 61–72.

    Google Scholar 

  • Brooks Jr., F.P. (1995): The Mythical Man-Month: Essays on Software Engineering 20th Anniversary Edition. Reading, MA: Addison-Wesley Publishing Company Inc.

    Google Scholar 

  • Bucciarelli, L.L. (1994): Designing Engineers. Cambridge, MA: MIT Press.

    Google Scholar 

  • Button, G. and W. Sharrock (1996): Project Work: The Organisation of Collaborative Design and Development in Software Engineering. Computer Supported Cooperative Work: The Journal of Collaborative Computing, vol. 5, no. 4, pp. 369–386.

    Google Scholar 

  • Conway, M.E. (1968): How Do Committees Invent? Datamation, vol. 14, no. 4, pp. 28–31.

    Google Scholar 

  • Curtis, B., H. Krasner and N. Iscoe (1988): A Field Study of the Software Design Process for Large Systems. Communications of the ACM, vol. 31, no. 11, pp. 1268–1287.

    Google Scholar 

  • Cusumano, M.A. and R.W. Selby (1995): Microsoft Secrets: How the World's Most Powerful Software Company Creates Technology, Shapes Markets, and Manages People. New York, N.Y.: The Free Press.

    Google Scholar 

  • Galbraith, J. (1977): Organization Design. Reading, MA: Addison-Wesley.

    Google Scholar 

  • Ghezzi, C., M. Jazayeri and D. Mandrioli (1991): Fundamentals of Software Engineering. Englewood Cliffs, N.J.: Prentice-Hall.

    Google Scholar 

  • Grinter, R.E. (1998): Recomposition: Putting It All Back Together Again. In D.G. Durand (ed.): Proceedings of the ACM Conference on Computer Supported Cooperative Work (CSCW '98), Seattle, Washington, November 14–18. New York, N.Y.: ACM Press, pp. 393–403.

    Google Scholar 

  • Herbsleb, J.D. and R.E. Grinter (1999): Splitting the Organization and Integrating the Code: Conway's Law Revisited. In Proceedings of the 21st International Conference on Software Engineering (ICSE 99), Los Angeles, CA, May 16–22. ACM Press, pp. 85–95.

  • Herbsleb, J.D., H. Klein, G.M. Olson, H. Brunner, J.D. Olson and J. Harding (1995): Object-Oriented Analysis and Design in Software Project Teams, Human-Computer Interaction, vol. 10, nos. 2–3, pp. 249–292.

    Google Scholar 

  • Herbsleb, J.D., A. Mockus, T.A. Finholt and R.E. Grinter (2000): Distance, Dependencies and Delay in a Global Collaboration. In D.G. Durand (ed.): Proceedings of the ACM Conference on Computer Supported Cooperative Work (CSCW 2000), Philadelphia, PA, December 2–6. New York, N.Y.: ACM Press, pp. 319–328.

    Google Scholar 

  • Mockus, A., R.T. Fielding and J.D. Herbsleb (2000): A Case Study of Open Source Development: The Apache Server. In H. Gall (ed.): Proceedings of the 22nd International Conference on Software Engineering (ICSE 2000), Limerick, Ireland, 4–11, June. IEEE Press, pp. 263–272.

  • Morgan, G. (1986): Images of Organization. Sage Publications, Inc.

  • NATO (1969): Working Conference on Software Engineering, Report, NATO Scientific Affairs Division.

  • Palen, L. (1999): Social, Individual and Technological Issues for Groupware Calendar Systems. In Proceedings of the ACM Conference on Human Factors in Computing Systems CHI '99, Pittsburgh, PA, May 11–13. ACM Press, pp. 17–24.

  • Parnas, D.L. (1972): On the Criteria to be Used in Decomposing Systems into Modules. Communications of the ACM, vol. 15, no. 12, pp. 1053–1058.

    Google Scholar 

  • Parnas, D.L. and P.C. Clements (1986): A Rational Design Process: How and Why to Fake It. IEEE Transactions on Software Engineering, vol. 12, no. 2, pp. 251–257.

    Google Scholar 

  • Perry, D.E., N.A. Staudenmayer and L.G. Votta (1994): People, Organizations, and Process Improvement. IEEE Software, vol. 11, no. 4, pp. 36–45.

    Google Scholar 

  • Potts, C. and L. Catledge (1996): Collaborative Conceptual Design: A Large Software Project Case Study. Computer Supported Cooperative Work: The Journal of Collaborative Computing, vol. 5, no. 4, pp. 415–445.

    Google Scholar 

  • Royce, W.W. (1970): Managing the Development of Large Software Systems. In Proceedings of the IEEE WESCON, Los Angeles, CA. IEEE Press, pp. 1–9.

    Google Scholar 

  • Scott, W.R. (1992): Organizations: Rational, Natural and Open Systems, 3rd edn. Englewood Cliffs, New Jersey: Prentice-Hall, Inc.

    Google Scholar 

  • Sommerville, I. (1996): Software Engineering, 5th edn. Menlo Park, CA: Addison-Wesley Publishing Company.

    Google Scholar 

  • Strauss, A. (1987): Qualitative Analysis for Social Scientists. New York: N.Y.: Cambridge University Press.

    Google Scholar 

  • Strauss, A. and J. Corbin (1990): Basics of Qualitative Research: Grounded Theory Procedures and Techniques. Newbury Park, CA: Sage Publications, Inc.

    Google Scholar 

  • Tellioglu, H. and I. Wagner (1997): Negotiating Boundaries: Configuration Management in Software Development Teams. Computer Supported Cooperative Work: The Journal of Collaborative Computing, vol. 6, no. 4, pp. 251–274.

    Google Scholar 

  • Thompson, J.D. (1967): Organizations in Action. New York, NY: McGraw-Hill.

    Google Scholar 

  • Whittaker, S. and H. Schwarz (1999): Meetings of the Board: The Impact of Scheduling Medium on Long Term Group Coordination in Software Development. Computer Supported Cooperative Work (CSCW): The Journal of Collaborative Computing, vol. 8, no. 3, pp. 175–205.

    Google Scholar 

  • Yates, J. (1989): Control through Communication: The Rise of System in American Management. Baltimore, Maryland: The Johns Hopkins University Press.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Grinter, R.E. Recomposition: Coordinating a Web of Software Dependencies. Computer Supported Cooperative Work (CSCW) 12, 297–327 (2003). https://doi.org/10.1023/A:1025012916465

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1025012916465

Navigation