Abstract
Information systems are designed, constructed, and used by people. Therefore, a software design process is not purely a technical task, but a complex psycho-socio-technical process embedded within organizational, cultural, and social structures. These structures influence the behavior and products of the programmer’s work such as source code and documentation. This chapter (1) discusses the non-technical (organizational, social, cultural, and psychological) aspects of software development reflected in program source code; (2) presents a taxonomy of the social disciplines of computer science; and (3) discusses the socio-technical software analysis methods for discovering the human, organizational, and technical aspects embedded within software development artifacts.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Adamic, L.A., Lukose, R.M., Puniyani, A.R. and Huberman, B.A. (2001) Search in Power-Law Networks. Physical Review E, 64, 046135.
Amrit C., Hillegersberg, J. and Kumar, K. (2004) A Social Network Perspective of Conway's Law. In CSCW'04 Workshop on Social Networks, Chicago.
Antón, A.I. and Potts, C. (2003) Functional Paleontology: The Evolution of User-Visible System Services. IEEE Transactions on Software Engineering 29(2), 151–166.
Bannon, L. (2001) Developing Software as a Human, Social and Organizational Activity. In 13th Workshop on Psychology of Programming (PPIG'2001), Bournemouth University, UK.
Beynon-Davies, P. (1997) Ethnography and Information Systems Development: Ethnography of, for and Within is Development. Information and Software Technology 39, 531–540.
Borchers, G. (2003) The Software Engineering Impacts of Cultural Factors on Multi-cultural Software Development Teams. In Proc. of the 25th Int. Conf. on Software Engineering, May 3–10, 2003, Portland, Oregon, USA, 540–547.
Bryant, S. (2004) XP: Taking the Psychology of Programming to the eXtreme. In 16th Workshop on Psychology of Programming (PPIG’2004), Carlow, Ireland.
Cannon-Bowers, J.E., Salas, E. and Converse, S. (1993) Shared Mental Models in Expert Team Decision-Making. In Castellan, J. (Ed.), Individual and Group Decision-Making: Current Issues. Lawrence Earlbaum and Associates, Inc., Mahwah, NJ, 221.
Checkland, P.B. (1999) Soft Systems Methodology in Action. John Wiley and Sons Ltd., New York
Chong, J., Plummer, R., Leifer, L., Klemmer, S.R., Eris, O. and Toye, G. (2005) Pair Programming: When and Why it Works. In Proc. of Workshop on Psychology of Programming (PPIG 2005), University of Sussex, Brighton, UK.
Conway, M.E. (1968) How Do Committees Invent. Datamation 14(4), 28–31.
Cordes, D. and Brown, M. (1991) The Literate-Programming Paradigm. Computer 24(6), 52–61.
Curtis, B. (1988) The Impact of Individual Differences in Programmers. In van der Veer, G.C. (Ed.), Working with Computers: Theory Versus Outcome. Academic Press, New York, 279–294.
Curtis, B., Soloway, E.M., Brooks, R.E., Black, J.B., Ehrlich, K. and Ramsey, H.R. (1986) Software Psychology: The Need for an Inter-Disciplinary Program. In Proceedings of the IEEE 74(8), 1092–1106.
Damaševičius, R. (2006) On the Application of Meta-Design Techniques in Hardware Design Domain. International Journal of Computer Science (IJCS), 1(1), 67–77.
Damaševičius, R. (2007) Analysis of Software Design Artifacts for Socio-Technical Aspects. INFOCOMP Journal of Computer Science, 6(4), 7–16.
Doherty, N.F. and King, M. (1998) The Importance of Organisational Issues in Systems Development. Information Technology and People 11(2), 104–123.
Douce, C. (2001) Long Term Comprehension of Software Systems: A Methodology for Study. In 13th Workshop on Psychology of Programming (PPIG’2001), Bournemouth, UK.
Douce, C. (2004) Metaphors We Program by. In 16th Annual Workshop on Psychology of Programming (PPIG’2004), Carlow, Ireland.
Eleutheros Manifesto. http://www.eleutheros.it/documenti/Manifesto
Eno, B. (1996) A Year with Swollen Appendices. Faber and Faber.
Espinosa, J., Slaughter, S. and Herbsleb, J. (2002) Shared Mental Models, Familiarity and Coordination: A Multi-Method Study of Distributed Software Teams. In Proc. of 23rd Int. Conf. on Information Systems, Barcelona, Spain, 425–433.
Finholt, T. (2004) Toward a Social Psychology of Software Engineering, Perspectives Workshop: Empirical Theory and the Science of Software Engineering, Dagstuhl Seminar 04051.
Fischer, G., Giaccardi, E., Ye, Y., Sutcliffe, A.G. and Mehandjiev, N. (2004) Meta-Design: A Manifesto for End-User Development. Communications of ACM 47(9), 33–37.
Grinter, R.E. (2003) Recomposition: Coordinating a Web of Software Dependencies. Computer Supported Cooperative Work 12(3), 297–327. Springer.
Halavais, A. (2005) Social Informatics: Beyond Emergence. Bulletin of the American Society for Information Science and Technology 31(5), 13.
Hales, D. and Douce, C. (2002) Modelling Software Organisations, In Kuljis, J., Baldwin, L. and Scoble, R. (Eds.). Proceedings of PPIG 2002, Brunel University, UK, 140–149.
Hall, J.G. and Silva, A. (2003) A Requirements-Based Framework for the Analysis of Socio-Technical System Behaviour. In Proc. of 9th Int. Workshop on Requirements Engineering: Foundations of Software Quality (REFSQ03), 117–120.
Herbsleb, J.D. and Grinter, R.E. (1999) Splitting the Organization and Integrating the Code: Conway’s Law Revisited. In Proc. of Int. Conf. on Software Engineering, Los Angeles, CA, 85–95.
Herbsleb, J.D. (1999) Metaphorical Representation in Collaborative Software Engineering. In Proc. of Joint Conf. on Work Activities, CoordinationandCollaboration, San Francisco, CA, 117–125.
Hoc, J.M. and Nguyen-Xuan, A. (1990) Language Semantics, Mental Models and Analogy. In Hoc, J.M., Green, T.R.G., Samuray, R. and Gilmore D.J. (Eds.), Psychology of Programming, London: Academic Press, 139–156..
Holloway, C.M. (1995) Software Engineering and Epistemology. Software Engineering Notes, 20(2), 20–21.
Holt, R.C. (2002) Software Architecture as a Shared Mental Model. In ASERC Workshop on Software Architecture, Alberta, Canada.
Hsi, I., Potts, C. and Moore, M. (2003) Ontological Excavation: Unearthing the Core Concepts of the Application. In van Deursen, A., Stroulia, E. and Storey, M.-A. D. (Eds.), Proc. of 10th Working Conference on Reverse Engineering (WCRE 2003), 13–16 November 2003, Victoria, Canada, 345–352.
Hughes, J.A., Somerville, I., Bentley, R. and Randall, D. (1993) Designing with Ethnography: Making Work Visible. Interacting with Computers 5(2), 239–253.
Hunt, A. and Thomas, D. (2002) Software Archaeology. IEEE Software, 19(2), 20–22.
Hvatum, L. and Kelly, A. (2005) What Do I Think About Conway's Law Now? Conclusions of EuroPLoP2005 Focus Group.
Iannacci, F. (2005) The Social Epistemology of Open Source Software Development: the Linux Case Study. PhD. Thesis, Department of Information Systems, London School of Economics and Political Science, London, UK.
Jing, L., Keqing, H., Yutao, M. and Rong, P. (2006) Scale Free in Software Metrics. In Proc. of the 30th Annual Int. Conf. on Computer Software and Applications, COMPSAC 2006,1, 229–235.
Kersten, G.E., Kersten, M.A. and Rakowski, W.M. (2001) Application Software and Culture: Beyond the Surface of Software Interface. InterNeg Research Paper INR01/01.
Kerth, N.L. (2001) On Creating a Disciplined and Ethical Practice of Software Archeology. In OOPSLA01 Workshop Software Archeology: Understanding Large Systems, Tampa Bay, FL.
Kling, R., Rosenbaum, H. and Sawyer, S. (2005) Understanding and Communicating Social Informatics: A Framework for Studying and Teaching the Human Contexts of Information and Communications Technologies. Information Today, Inc.
Lanzara, F.G. and Morner, M. (2003) The Knowledge Ecology of Open-Source Software Projects. In 19th EGOS Colloquium, Copenhagen, Denmark.
Letovsky, S. (1986) Cognitive Processes in Program Comprehension. In Soloway, E. and Iyengar, S. (ed.), Empirical Studies of Programmers, Ablex Publishing Company, New York, 58–79.
Luna-Reyes, L.F., Zhang, J., Gil-Garcıa, J.R. and Cresswell, A.M. (2005) Information Systems Development as Emergent Socio-Technical Change: A Practice Approach. European Journal of Information Systems 14, 93–105.
MacLennan, B.J. (1997) Who Cares About Elegance? The Role of Aesthetics in Programming Language Design. SIGPLAN Notices 32(3): 33–37.
Marshall, L. and Webber, J. (2002) The Misplaced Comma: Programmers’ Tales and Traditions. In Proc. of PPIG 2002, Brunel University, UK, 150–155.
Minsky, M. (1986) Introduction to LogoWorks. In Solomon, C., Minsky, M. and Harvey, B. (Eds.), LogoWorks: Challenging Programs in Logo. McGraw-Hill.
Mumford, E. (1995) Effective Systems Design and Requirements Analysis: The ETHICS Approach to Computer Systems Design. Macmillan, London.
Noble, J. and Biddle, R. (2004) Notes on Notes on Postmodern Programming. SIGPLAN Notices 39(12), 40–56.
Norman, D.A. (1986) Cognitive Engineering. In Norman, D.A. and Draper, S.W. (Eds.), User Centred System Design. LEA Associates, NJ.
Ørstavik, I.T.B. (2006) How Programming Language Can Shape Interaction and Culture. Int. European Conf. on Computing and Philosophy, ECAP 2006, June 22–24, Trondheim, Norway.
Parnas D.L. (1972) On the Criteria to Be Used in Decomposing Systems into Modules. Commun. of the ACM 15(12), 1053–1058.
Parnas, D.L. (1994) Software aging. In Proc. of the 16th Int. Conf. on Software Engineering, Sorrento, Italy, 279–287.
Potanin, A., Noble, J., Frean, M. and Biddle, R. (2005) Scale-Free. Geometry in OO Programs. Commun. of the ACM, 48(5), 99–103.
Robles, G., González-Barahona, J.M. and Guervós, J.J.M. (2006) Beyond Source Code: The Importance of Other Artifacts in Software Development (A Case Study). Journal of Systems and Software 79(9), 1233–1248.
Rosen, C.C.H. (2005) The Influence of Intra-Team Relationships on the Systems Development Process: A Theoretical Framework of Intra-Group Dynamics. In Proceedings of Workshop on Psychology of Programming (PPIG 17), Brighton, UK, 30–42.
Sawyer, S. and Guinan, P.J. (1988) Software Development: Processes and Performance. IBM Systems Jounal 37(4), 553–569.
Sawyer, S. and Tyworth, M. (2006) Social Informatics: Principles, Theory and Practice. In 7th Int. Conf. ‘Human Choice and Computers’, IFIP-TC9 ‘Relationship between Computers and Society’, Maribor, Slovenia.
Sharp, H.C., Woodman, M., Hovenden, F. and Robinson, H. (1999) The Role of Culture in Successful Software Process Improvement. In Proc. of 25th Euromicro Conf., 8–10 September 1999, Milan, Italy, 170–176.
Shneiderman, B. (1980) Software Psychology: Human Factors in Computer and Information Systems. Winthrop.
Souza, de C., Dourish, P., Redmiles, D., Quirk, S. and Trainer, E. (2004) From Technical Dependencies to Social Dependencies. In Social Networks Workshop at CSCW Conf., Chicago, IL.
Souza, de C., Froehlich, J. and Dourish, P. (2005) Seeking the Source: Software Source Code as a Social and Technical Artifact. In Proc. of Int. ACM SIGGROUP Conf. on Supporting Group Work, GROUP 2005, Sanibel Island, FL, 197–206.
Tractinsky, N. (2004) Toward the Study of Aesthetics in Information Technology. In Proc. of the Int. Conf. on Information Systems, ICIS 2004, December 12–15, 2004, Washington, DC, USA, 771–780.
Trainer, E., Quirk, S., de Souza, C. and Redmiles, D.F. (2005) Bridging the Gap Between Technical and Social Dependencies with Ariadne. In Proc. of the 2005 OOPSLA Workshop on Eclipse Technology eXchange (eTX), San Diego, CA, 26–30.
Viller, S. and Sommerville, I. (1999) Coherence: An Approach to Representing Ethnographic Analyses in Systems Design. Human-Computer Interaction 14(1,2), 9–41.
Wall, L. (1999) Perl, The First Postmodern Computer Language. Speech at Linux World.
Watt, S.N.K. (1998) Syntonicity and the Psychology of Programming. In Proc. of 10th Workshop for the Psychology of Programming Interest Group (PPIG), Open University, UK, 75–86.
Weinberg, M.W. (1971) The Psychology of Computer Programming. Van Nostrand Reinhold, New York.
Zelkowitz, M.V., Wallace, D. and Binkley, D. (1998) Culture Conflicts in Software Engineering Technology Transfer. In NASA Goddard Software Engineering Workshop, Greenbelt, MD, USA, February 12, 1998.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer Science+Business Media, LLC
About this chapter
Cite this chapter
Damaševičius, R. (2009). On The Human, Organizational, and Technical Aspects of Software Development and Analysis. In: Papadopoulos, G., Wojtkowski, W., Wojtkowski, G., Wrycza, S., Zupancic, J. (eds) Information Systems Development. Springer, Boston, MA. https://doi.org/10.1007/b137171_2
Download citation
DOI: https://doi.org/10.1007/b137171_2
Published:
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-84809-9
Online ISBN: 978-0-387-84810-5
eBook Packages: Computer ScienceComputer Science (R0)