Social debt in software engineering: insights from industry

Journal of Internet Services and Applications - Tập 6 - Trang 1-17 - 2015
Damian A Tamburri1, Philippe Kruchten2, Patricia Lago1, Hans van Vliet1
1VU University Amsterdam, Amsterdam, The Netherlands
2University of British Columbia, Vancouver, Canada

Tóm tắt

Social debt is analogous to technical debt in many ways: it represents the state of software development organisations as the result of “accumulated” decisions. In the case of social debt, decisions are about people and their interactions. Our objective was to study the causality around social debt in practice. In so doing, we conducted exploratory qualitative research in a large software company. We found many forces together causing social debt; we represented them in a framework, and captured anti-patterns that led to the debt in the first place. Finally, we elicited best practices that technicians adopted to pay back some of the accumulated debt. We learned that social debt is strongly correlated with technical debt and both forces should be reckoned with together during the software process.

Tài liệu tham khảo

Keyes J (2011) Social Software Engineering. Taylor & Francis, Auerbach Series, Boca Raton, FL. Tamburri DA, di Nitto E, Lago P, van Vliet H2012. On the nature of the GSE organizational social structure: an empirical study. doi: 10.1109/ICGSE.2012.25. Tamburri DA, Kruchten P, Lago P, van Vliet H (2013) What is social debt in software engineering? In: Cooperative and Human Aspects of Software Engineering (CHASE), 2013 6th International Workshop On, 93–96, Washington, DC. doi:10.1109/CHASE.2013.6614739. Tamburri DA, Lago P, van Vliet H (2013) Uncovering latent social communities in software development. IEEE Software 30(1): 29–36. doi:10.1109/MS.2012.170. Tamburri DA, Lago P, van Vliet H (2013) Organizational social structures for software engineering. ACM Comput Surv 46(1): 3. Capek PG, Frank SP, Gerdt S, Shields D (2005) A history of ibm’s open-source involvement and strategy. IBM Syst J 44(2): 249–258. Kruchten P, Nord RL, Ozkaya I (2012) Technical debt: From metaphor to theory and practice. IEEE Software 29(6): 18–21. Cunningham W (1993) The WyCash portfolio management system. OOPS Messenger 4(2): 29–30. Zazworka N, Shaw MA, Shull F, Seaman C (2011) Investigating the impact of design debt on software quality In: Proceedings of the 2nd Workshop on Managing Technical Debt. MTD ’11, 17–23.. ACM, New York, NY, USA. doi:10.1145/1985362.1985366. http://doi.acm.org/10.1145/1985362.1985366. Conway ME (1968) How do committees invent. Datamation 14(4): 28–31. Wenger E, McDermott RA, Snyder W (2002) Cultivating Communities of Practice: a Guide to Managing Knowledge. Harvard Business School Publishing. Nagappan N, Murphy B, Basili V (2008) The influence of organizational structure on software quality: an empirical case study In: International Conference on Software Engineering, 521–530.. IEEE, Leipzig, Germany. Repenning A, Ahmadi N, Repenning N, Ioannidou A, Webb D, Marshall K (2011) Collective programming: making end-user programming (more) social6654: 325–330. http://www.bibsonomy.org/bibtex/26e8152bfef95458d1dcec728a4f51c2a/dblp. Viana D, Conte T, Vilela D, de Souza CRB, Santos G, Prikladnicki R (2012) The influence of human aspects on software process improvement: Qualitative research findings and comparison to previous studies In: EASE, 121–125. Meneely A, Williams L, Snipes W, Osborne JA (2008) Predicting failures with developer networks and social network analysis. In: Harrold MJ Murphy GC (eds)SIGSOFT FSE, 13–23.. ACM. Cataldo M, Herbsleb JD, Carley KM (2008) Socio-technical congruence: a framework for assessing the impact of technical and work dependencies on software development productivity In: Proceedings of the Second ACM-IEEE International Symposium on Empirical Software Engineering and Measurement. ESEM ’08, 2–11.. ACM, New York, NY, USA. doi:10.1145/1414004.1414008. http://doi.acm.org/10.1145/1414004.1414008. Cataldo M, Mockus A, Roberts JA, Herbsleb JD (2009) Software dependencies, work dependencies, and their impact on failures. IEEE Trans Software Eng 35(6): 864–878. Kwan I, Schroter A, Damian D (2011) Does socio-technical congruence have an effect on software build success? a study of coordination in a software project. IEEE Trans Software Eng 37(3): 307–324. doi:10.1109/TSE.2011.29. de Souza CRB, Redmiles DF (2011) The Awareness Network, To Whom Should I Display My Actions? And, Whose Actions Should I Monitor?IEEE Trans Software Eng 37(3): 325–340. Bird C, Nagappan N, Gall H, Murphy B, Devanbu P (2009) Putting it all together: Using socio-technical networks to predict failures In: Proceedings of the 2009 20th International Symposium on Software Reliability Engineering. ISSRE ’09, 109–119.. IEEE Computer Society, Washington, DC, USA. doi:10.1109/ISSRE.2009.17. Cusick JJ, Prasad A (2006) A practical management and engineering approach to offshore collaboration. IEEE Software 23(5): 20–29. Jaktman CB (1998) The influence of organisational factors on the success and quality of a product-line architecture In: Australian Software Engineering Conference, 2–11.. IEEE Computer Society, Washington, DC. Andreou AS (2003) Promoting software quality through a human, social and organisational requirements elicitation process. Requir Eng 8(2): 85–101. Meverson EM (1994) Human capital, social capital and compensation: The relative contribution of social contacts to managers’ incomes. Acta Sociologica 37(4): 383–399. Labianca G, Brass DJ (2006) Exploring the social ledger: Negative relationships and negative asymmetry in social networks in organizations. Acad Manage Rev 31(3): 596–614. Muir DE (1962) The social debt: An investigation of lower-class and middle class norms of social obligation. American Sociological Review 27(4): 532–539. Moe NB, Smite D (2008) Understanding a lack of trust in global software teams: a multiple-case study. Software Process: Improvement and Practice 13(3): 217–231. Atkinson R, Flint J (2012) Accessing hidden and hard-to-reach populations: Snowball research strategies 33. Neville-Neil G (2011) Interviewing techniques. ACM Queue 9(6): 30. Morgan DavidL., Krueger RichardA. (1993) 1. In: Morgan DL (ed)When to use focus groups and why, 3–19.. SAGE Publications, London. http://www.bibsonomy.org/bibtex/2ce683d8f889e49e740d81683fdc2c2b9/pkraker. Runeson P, Höst M (2009) Guidelines for conducting and reporting case study research in software engineering. Empirical Software Eng 14(2): 131–164. Corbin J, Strauss A (1990) Grounded theory research: Procedures, canons, and evaluative criteria. Qualitative Sociology 13(1): 3–21. Schreiber C, Carley KM (2004) Going beyond the data: Empirical validation leading to grounded theory. Comput Math Organization Theory 10(2): 155–164. Onions PEW (1962) Grounded theory applications in reviewing knowledge management literature. 1–20. Glaser BG (1978) Theoretical Sensitivity: Advances in the Methodology of Grounded Theory. Sociology Press, San Francisco, CA. Kilduff M, Tsai W (2003) Social Networks and Organizations. SAGE Publications Ltd, London. Chisan J, Damian D (2004) Towards a model of awareness support of software development in gsd. IEE Seminar Digests 2004(912): 28–33. doi:10.1049/ic:20040309. Peng Y, Sutanto J (2012) Facilitating knowledge sharing through a boundary spanner. IEEE Trans Prof Commun 55(2): 142–155. Labs P (2013) 2013 state of devops report. Technical Report. Available Online. Li M, Chen G, Zhang Z, Fu Y (2012) CSCWD. A social collaboration platform for enterprise social networking. In: Gao L, Shen W, Barths J-PA, Luo J, Yong J, Li W, Li W (eds) CSCWD, 671–677.. IEEE, Washington, DC. Swart J, Henneberg SC (2007) Dynamic knowledge nets - the 3c model: exploratory findings and conceptualisation of entrepreneurial knowledge constellations. J Knowledge Manage 11(6): 126–141. Boella G, van der Torre L (2006) Coordination and organization: Definitions, examples and future research directions. Electron Notes Theor Comput Sci (ENTCS) 150(3): 3–20. Manteli C, van der Hooff B, van Vliet H (2014) The Effect of Governance on Global Software Development: An Empirical Research in Transactive Memory Systems. Inf Software Technol 56(10): 1309–1321. Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslén A (2000) Experimentation in Software Engineering: an Introduction. Kluwer Academic Publishers, Norwell, MA, USA. Tamburri DA2012. Going global with agile service networks. IEEE Conference Proceedings, Washington, DC.