Skip to main content

On The Human, Organizational, and Technical Aspects of Software Development and Analysis

  • Chapter
  • First Online:
Information Systems Development

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 259.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 329.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 329.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Adamic, L.A., Lukose, R.M., Puniyani, A.R. and Huberman, B.A. (2001) Search in Power-Law Networks. Physical Review E, 64, 046135.

    Article  Google Scholar 

  2. Amrit C., Hillegersberg, J. and Kumar, K. (2004) A Social Network Perspective of Conway's Law. In CSCW'04 Workshop on Social Networks, Chicago.

    Google Scholar 

  3. 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.

    Article  Google Scholar 

  4. Bannon, L. (2001) Developing Software as a Human, Social and Organizational Activity. In 13th Workshop on Psychology of Programming (PPIG'2001), Bournemouth University, UK.

    Google Scholar 

  5. Beynon-Davies, P. (1997) Ethnography and Information Systems Development: Ethnography of, for and Within is Development. Information and Software Technology 39, 531–540.

    Article  Google Scholar 

  6. 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.

    Google Scholar 

  7. Bryant, S. (2004) XP: Taking the Psychology of Programming to the eXtreme. In 16th Workshop on Psychology of Programming (PPIG’2004), Carlow, Ireland.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. Checkland, P.B. (1999) Soft Systems Methodology in Action. John Wiley and Sons Ltd., New York

    Google Scholar 

  10. 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.

    Google Scholar 

  11. Conway, M.E. (1968) How Do Committees Invent. Datamation 14(4), 28–31.

    Google Scholar 

  12. Cordes, D. and Brown, M. (1991) The Literate-Programming Paradigm. Computer 24(6), 52–61.

    Article  Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Article  Google Scholar 

  15. 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.

    Google Scholar 

  16. Damaševičius, R. (2007) Analysis of Software Design Artifacts for Socio-Technical Aspects. INFOCOMP Journal of Computer Science, 6(4), 7–16.

    Google Scholar 

  17. Doherty, N.F. and King, M. (1998) The Importance of Organisational Issues in Systems Development. Information Technology and People 11(2), 104–123.

    Article  Google Scholar 

  18. Douce, C. (2001) Long Term Comprehension of Software Systems: A Methodology for Study. In 13th Workshop on Psychology of Programming (PPIG’2001), Bournemouth, UK.

    Google Scholar 

  19. Douce, C. (2004) Metaphors We Program by. In 16th Annual Workshop on Psychology of Programming (PPIG’2004), Carlow, Ireland.

    Google Scholar 

  20. Eleutheros Manifesto. http://www.eleutheros.it/documenti/Manifesto

  21. Eno, B. (1996) A Year with Swollen Appendices. Faber and Faber.

    Google Scholar 

  22. 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.

    Google Scholar 

  23. Finholt, T. (2004) Toward a Social Psychology of Software Engineering, Perspectives Workshop: Empirical Theory and the Science of Software Engineering, Dagstuhl Seminar 04051.

    Google Scholar 

  24. 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.

    Article  Google Scholar 

  25. Grinter, R.E. (2003) Recomposition: Coordinating a Web of Software Dependencies. Computer Supported Cooperative Work 12(3), 297–327. Springer.

    Article  Google Scholar 

  26. Halavais, A. (2005) Social Informatics: Beyond Emergence. Bulletin of the American Society for Information Science and Technology 31(5), 13.

    Article  Google Scholar 

  27. 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.

    Google Scholar 

  28. 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.

    Google Scholar 

  29. 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.

    Chapter  Google Scholar 

  30. Herbsleb, J.D. (1999) Metaphorical Representation in Collaborative Software Engineering. In Proc. of Joint Conf. on Work Activities, CoordinationandCollaboration, San Francisco, CA, 117–125.

    Google Scholar 

  31. 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..

    Google Scholar 

  32. Holloway, C.M. (1995) Software Engineering and Epistemology. Software Engineering Notes, 20(2), 20–21.

    Article  Google Scholar 

  33. Holt, R.C. (2002) Software Architecture as a Shared Mental Model. In ASERC Workshop on Software Architecture, Alberta, Canada.

    Google Scholar 

  34. 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.

    Chapter  Google Scholar 

  35. Hughes, J.A., Somerville, I., Bentley, R. and Randall, D. (1993) Designing with Ethnography: Making Work Visible. Interacting with Computers 5(2), 239–253.

    Article  Google Scholar 

  36. Hunt, A. and Thomas, D. (2002) Software Archaeology. IEEE Software, 19(2), 20–22.

    Article  Google Scholar 

  37. Hvatum, L. and Kelly, A. (2005) What Do I Think About Conway's Law Now? Conclusions of EuroPLoP2005 Focus Group.

    Google Scholar 

  38. 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.

    Google Scholar 

  39. 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.

    Google Scholar 

  40. 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.

    Google Scholar 

  41. 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.

    Google Scholar 

  42. 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.

    Google Scholar 

  43. Lanzara, F.G. and Morner, M. (2003) The Knowledge Ecology of Open-Source Software Projects. In 19th EGOS Colloquium, Copenhagen, Denmark.

    Google Scholar 

  44. 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.

    Google Scholar 

  45. 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.

    Article  Google Scholar 

  46. MacLennan, B.J. (1997) Who Cares About Elegance? The Role of Aesthetics in Programming Language Design. SIGPLAN Notices 32(3): 33–37.

    Article  Google Scholar 

  47. Marshall, L. and Webber, J. (2002) The Misplaced Comma: Programmers’ Tales and Traditions. In Proc. of PPIG 2002, Brunel University, UK, 150–155.

    Google Scholar 

  48. Minsky, M. (1986) Introduction to LogoWorks. In Solomon, C., Minsky, M. and Harvey, B. (Eds.), LogoWorks: Challenging Programs in Logo. McGraw-Hill.

    Google Scholar 

  49. Mumford, E. (1995) Effective Systems Design and Requirements Analysis: The ETHICS Approach to Computer Systems Design. Macmillan, London.

    Google Scholar 

  50. Noble, J. and Biddle, R. (2004) Notes on Notes on Postmodern Programming. SIGPLAN Notices 39(12), 40–56.

    Article  Google Scholar 

  51. Norman, D.A. (1986) Cognitive Engineering. In Norman, D.A. and Draper, S.W. (Eds.), User Centred System Design. LEA Associates, NJ.

    Google Scholar 

  52. Ø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.

    Google Scholar 

  53. Parnas D.L. (1972) On the Criteria to Be Used in Decomposing Systems into Modules. Commun. of the ACM 15(12), 1053–1058.

    Article  Google Scholar 

  54. Parnas, D.L. (1994) Software aging. In Proc. of the 16th Int. Conf. on Software Engineering, Sorrento, Italy, 279–287.

    Chapter  Google Scholar 

  55. Potanin, A., Noble, J., Frean, M. and Biddle, R. (2005) Scale-Free. Geometry in OO Programs. Commun. of the ACM, 48(5), 99–103.

    Article  Google Scholar 

  56. 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.

    Article  Google Scholar 

  57. 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.

    Google Scholar 

  58. Sawyer, S. and Guinan, P.J. (1988) Software Development: Processes and Performance. IBM Systems Jounal 37(4), 553–569.

    Google Scholar 

  59. 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.

    Google Scholar 

  60. 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.

    Google Scholar 

  61. Shneiderman, B. (1980) Software Psychology: Human Factors in Computer and Information Systems. Winthrop.

    Google Scholar 

  62. 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.

    Google Scholar 

  63. 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.

    Google Scholar 

  64. 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.

    Google Scholar 

  65. 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.

    Google Scholar 

  66. Viller, S. and Sommerville, I. (1999) Coherence: An Approach to Representing Ethnographic Analyses in Systems Design. Human-Computer Interaction 14(1,2), 9–41.

    Article  Google Scholar 

  67. Wall, L. (1999) Perl, The First Postmodern Computer Language. Speech at Linux World.

    Google Scholar 

  68. 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.

    Google Scholar 

  69. Weinberg, M.W. (1971) The Psychology of Computer Programming. Van Nostrand Reinhold, New York.

    Google Scholar 

  70. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics