Skip to main content
Log in

A View of Software Development Environments Based on Activity Theory

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

Abstract

We view software development as a collaborative activity that is typically supported by a software development environment. Since these environments can significantly influence the collaborative nature of a software development project, it is important to analyze and evaluate their capabilities with respect to collaboration. In this paper, we present an analysis and evaluation of the collaborative capabilities of software development environments using an activity theory perspective.

The discipline of software engineering (SE) emerged to study and develop artifacts to mediate the collective development of large software systems. While many advances have been made in the past three decades of SE's existence, the historical origins of the discipline are present in that techniques and tools to support the collaborative aspects of large-scale software development are still lacking. One factor is a common ``production-oriented'' philosophy that emphasizes the mechanistic and individualistic aspects of software development over the collaborative aspects thereby ignoring the rich set of human-human interactions that are possible over the course of a software development project.

We believe that the issues and ideas surrounding activity theory may be useful in improving support for collaboration in software engineering techniques and tools. As such, we make use of the activity theory to analyze and evaluate process-centered software development environments (PCSDEs).

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

  • Ambriola, V., R. Conradi and A. Fuggetta (1997): Assessing Process-centered Software Engineering Environments. ACM Transactions on Software Engineering and Methodology, vol. 6, no. 3, pp. 283–328. http://www.acm.org/pubs/citations/journals/tosem/1997-6-3/p283-ambriola/.

    Google Scholar 

  • Bandinelli, S., E. Di Nitto and A. Fuggetta (1996): Supporting Cooperation in the SPADE-1 Environment. IEEE Transactions on Software Engineering, vol. 22, no. 12. http://computer.org/ tse/ts1996/e0841abs.htm.

  • Bandinelli, S., A. Fuggetta, C. Ghezzi and L. Lavazza (1994): SPADE: An Environment for Software Process Analysis, Design and Enactment. In A. Finkelstein, J. Kramer and B. Nuseibeh (eds.): Software Process Modelling and Technology. Taunton, Somerset: Research Studies Press Ldt., Chapt. 9, pp. 223–248.

    Google Scholar 

  • Bardram, J. (1997): Plans as Situated Action: An Activity Theory Approach toWorkflow Systems. In European Conference on Computer-Supported Cooperative Work – ECSCW'97. Lancaster, UK.

  • Bardram, J. (1998a): Collaboration, Coordination, and Computer Support: An Activity Theoretical Approach to the Design of Computer Supported Cooperative Work. Ph.D. thesis, Aarhus University. Daimi PB-533.

  • Bardram, J. (1998b): Designing for the Dynamics of Cooperative Work Activities. In Conference on Computer-Supported Cooperative Work, pp. 89–98.

  • Barghouti, N. and G. Kaiser (1991): Concurrency Control in Advanced Database Applications. ACM Computing Surveys, vol. 23, no. 3.

  • Biddle, B. and E. Thomas (eds.) (1966): Role Theory: Concepts and Research. New York: John Wiley & Sons, Inc.

    Google Scholar 

  • Briand, L., W. Melo, C. Seaman and B. Basili (1995): Characterizing and Assessing a Large-Scale Software Maintenance Organization. In Proceedings of the 17th International Conference on Software Engineering, pp. 133–143.

  • Brooks, F. (1995): The Mythical Man-Month: Essays on Software Engineering – Anniversary Edition. Addison-Wesley.

  • Canals, G., N. Boudjlida, J. Derniame, C. Godart and J. Lonchamp (1994): ALF: A Framework for Building Process-Centered Software Engineering Environments. In A. Finkelstein, J. Kramer and B. Nuseibeh (eds.): Software Process Modelling and Technology. Taunton, Somerset, England: Research Studies Press Ldt., Chapt. 7, pp. 153–186.

    Google Scholar 

  • Cugola, G. (1998): Tolerating Deviations in Process Support Systems via Flexible Enactment of Process Models. IEEE Transactions on Software Engineering – Special Section on Managing Inconsistency in Software Development, vol. 24, no. 11, pp. 906–907. http://church. computer.org/tse/ts1998/e0982abs.htm.

    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–1286.

    Google Scholar 

  • Digital Equipment Corporation (1999): DEC Fuse Home Page. http://www.digital.com/fuse/.

  • Elmagarmid, A. (ed.) (1992): Transaction Models for Advanced Database Applications. Morgankaufmann.

  • Engeström, Y. (1987) Learning by Expanding: An Activity-theoretical Approach to Developmental Research. Helsinki: Orienta-Konsultit Oy.

    Google Scholar 

  • Engeström, Y. (1997) Coordination, Cooperation and Communication in the Courts. In Mind, Culture, and Activity. Cambridge University Press, Chapt. 28, pp. 369–388.

  • Fernstrom, C. (1993): Process Weaver: Adding Process Support to UNIX. In Proceedings of the 2nd International Conference on the Software Process, pp. 12–26.

  • Fischer, G. (1994): Domain-Oriented Design Environments. Automated Software Engineering, vol. 1, pp. 177–203.

    Google Scholar 

  • Floyd, C. (1992): Software Development as Reality Construction. In C. Floyd, H. Züllighoven, R. Budde and R. Keil-Slawik (eds.): Software Development and Reality Construction. Springer-Verlag, Chapt. 3.2.

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

  • Ghezzi, C. and B. Nuseibeh (1998): Guest Editorial: Introduction to the Special Section. IEEE Transactions on Software Engineering – Special Section on Managing Inconsistency in Software Development, vol. 24, no. 11, pp. 906–907.

    Google Scholar 

  • Grudin, J. (1994): CSCW: History and Focus. IEEE Computer, vol. 27, no. 5, pp. 19–27. http:// www.ics.uci.edu/~grudin/Papers/IEEE94/IEEEComplastsub.html.

    Google Scholar 

  • Hasan, H. (1998): Integrating IS and HCI Using Activity Theory as a Philosophical and Theoretical Basis. http://www.cba.uh.edu/?parks/fis/hasan.htm.

  • Huff, K. (1996) Software Process Modeling. In A. Fuggeta and A. Wolf (eds.): Trends in Software: Software Process. John Wiley and Sons, Chapt. 1.

  • Junkerman, G., B. Peuschel, W. Schäfer and S. Wolf (1994): MERLIN: Supporting Cooperation in Software Development Through a Knowledge-Based Environment. In:A. Finkelstein, J. Kramer and B. Nuseibeh (eds.): Software Process Modelling and Technology. Taunton, Somerset, England: Research Studies Press Ldt., Chapt., pp. 103–130.

    Google Scholar 

  • Keil-Slawik, R. (1992): Artifacts in Software Design. In C. Floyd, H. Züllighoven, R. Budde and R. Keil-Slawik (eds.): Software Development and Reality Construction. Springer-Verlag, Chapt. 4.4.

  • Kuuti, K. (1991): The Concept of Activity as a Basic Unit of Analysis for CSCW Research. In: Proceedings of the Second European Conference on CSCW. Amsterdam, pp. 249–264.

  • Kuuti, K. (1996): Activity Theory as a Potential Framework for Human-Computer Interaction Research. In B. Nardi (ed.): Context and Consciousness: Activity Theory and Human-Computer Interaction. Cambridge, MA: MIT Press, Chapt. 2, pp. 17–44.

    Google Scholar 

  • Kuuti, K. and T. Arvonen (1992): Identifying Potential CSCW Applications by Means of Activity Theory Concepts: A Case Example. In Proc. of the Computer Supported Cooperative Work – CSCW'92, pp. 233–240.

  • Leontjev, A. (1978): Activity, Consciousness and Personality. Englewood Cliffs: Prentice-Hall.

    Google Scholar 

  • Lonchamp, J. (1994): An Assessment Exercise. In A. Finkelstein, J. Kramer and B. Nuseibeh (eds.): Software Process Modelling and Technology. Taunton, Somerset, England: Research Studies Press Ldt., Chapt. 13, pp. 335–356.

    Google Scholar 

  • Montangero, C. and V. Ambriola (1994): OIKOS: Constructing Process-Centred SDEs. In A. Finkelstein, J. Kramer and B. Nuseibeh (eds.): Software Process Modelling and Technology. Taunton, Somerset, England: Research Studies Press Ldt., Chapt. 6, pp. 131–152.

    Google Scholar 

  • Nardi, B. (ed.) (1996): Context and Consciousness: Activity Theory and Human-Computer Interaction. Cambridge, MA: MIT Press.

    Google Scholar 

  • Naur, P., B. Randell and J. Buxton (eds.) (1976): Software Engineering: Concepts and Techniques. New York: Peterocelli/Charter. OMG (1999): Corba Home Page. http://www.corba.org.

    Google Scholar 

  • Raeithel, A. (1992): Activity Theory as a Foundation for Design. In C. Floyd, H. Züllighoven, R. Budde and R. Keil-Slawik (eds.): Software Development and Reality Construction. Springer-Verlag, Chapt. 8.4.

  • Robinson, M. (1993): Design for Unanticipated Use. ... In C.S.G. de Michelis and K. Schmidt (eds.): Proceedings of the Third European Conference on Computer-Supported Cooperative Work. Milan, Italy, pp. 187–202.

  • Silberschatz, A., H. Korth and S. Sudarshan (1999): Database System Concepts, 3rd edn. McGraw-Hill.

  • Snowdon, R. and B. Warboys (1994): An Introduction to Process-Centered Environments. In A. Finkelstein, J. Kramer and B. Nuseibeh (eds.): Software Process Modelling and Technology. Taunton, Somerset, England: Research Studies Press Ldt., Chapt. 1, pp. 1–7.

    Google Scholar 

  • Sommerville, I. and T. Rodden (1996): Human, Social and Organisational Influences on the Software Process. In A. Fuggeta and A. Wolf (eds.): Trends in Software: Software Process. John Wiley and Sons, Chapt. 4.

  • Suchman, L. (1983): Office Procedure as Practical Action: Models of Work and System Design. ACM Transactions on Office Information Systems, vol. 1, no. 4, pp. 320–328.

    Google Scholar 

  • Sun Microsystems (1997): Tooltalk User's Guide. ftp://192.18.99.138/-802-7318/-802-7318.pdf.

  • Sutton, S., D. Heimbigner and L. Osterweil: (1990): Language Constructs for Managing CHange in Process-centered Environments. In Proceedings of the 4th Symposium on Practical Software Development Environments.

  • Wolf, A. and D. Rosenblum (1993): Process-Centered Environments (Only) Support Environment-Centered Processes. n: Proceedings of the 8th International Software ProcessWorkshop (ISPW8). Wadern, Germany, pp. 148–149.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Barthelmess, P., Anderson, K. A View of Software Development Environments Based on Activity Theory. Computer Supported Cooperative Work (CSCW) 11, 13–37 (2002). https://doi.org/10.1023/A:1015299228170

Download citation

  • Issue Date:

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

Navigation