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.
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.
Brooks Jr., F.P. (1995): The Mythical Man-Month: Essays on Software Engineering 20th Anniversary Edition. Reading, MA: Addison-Wesley Publishing Company Inc.
Bucciarelli, L.L. (1994): Designing Engineers. Cambridge, MA: MIT Press.
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.
Conway, M.E. (1968): How Do Committees Invent? Datamation, vol. 14, no. 4, pp. 28–31.
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.
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.
Galbraith, J. (1977): Organization Design. Reading, MA: Addison-Wesley.
Ghezzi, C., M. Jazayeri and D. Mandrioli (1991): Fundamentals of Software Engineering. Englewood Cliffs, N.J.: Prentice-Hall.
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.
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.
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.
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.
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.
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.
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.
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.
Scott, W.R. (1992): Organizations: Rational, Natural and Open Systems, 3rd edn. Englewood Cliffs, New Jersey: Prentice-Hall, Inc.
Sommerville, I. (1996): Software Engineering, 5th edn. Menlo Park, CA: Addison-Wesley Publishing Company.
Strauss, A. (1987): Qualitative Analysis for Social Scientists. New York: N.Y.: Cambridge University Press.
Strauss, A. and J. Corbin (1990): Basics of Qualitative Research: Grounded Theory Procedures and Techniques. Newbury Park, CA: Sage Publications, Inc.
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.
Thompson, J.D. (1967): Organizations in Action. New York, NY: McGraw-Hill.
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.
Yates, J. (1989): Control through Communication: The Rise of System in American Management. Baltimore, Maryland: The Johns Hopkins University Press.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/A:1025012916465