Abstract
Analyzing and understanding software developers’ work habits and resulting needs is an essential prerequisite to improve software development practice. In our research, we utilize different qualitative and quantitative research methods to empirically investigate three underexplored aspects of software development: First, we analyze how software developers use sketches and diagrams in their daily work and derive requirements for better tool support. Then, we explore to what degree developers copy code from the popular online platform Stack Overflow without adhering to license requirements and motivate why this behavior may lead to legal issues for affected open source software projects. Finally, we describe a novel theory of software development expertise and identify factors fostering or hindering the formation of such expertise. Besides, we report on methodological implications of our research and present the open dataset SOTorrent, which supports researchers in analyzing the origin, evolution, and usage of content on Stack Overflow. The common goal for all studies we conducted was to better understand software developers’ work practices. Our findings support researchers and practitioners in making data-informed decisions when developing new tools or improving processes related to either the specific work habits we studied or expertise development in general.
Chapter PDF
Similar content being viewed by others
References
Lionel Briand. Embracing the Engineering Side of Software Engineering. IEEE Software, July/August:92–95, 2012.
Prem Devanbu, Thomas Zimmermann, and Christian Bird. Belief & Evidence in Empirical Software Engineering. In Laura Dillon, Willem Visser, and Laurie Williams, editors, 38th International Conference on Software Engineering (ICSE 2016), pages 108–119, Austin, TX, USA, 2016. ACM.
Stack Exchange Inc. Stack Overflow Developer Survey Results 2018. https://insights.stackoverflow.com/survey/2018, 2018.
Margaret-Anne Storey, Leif Singer, Fernando Figueira Filho, Alexey Zagalsky, and Daniel M. German. How Social and Communication Channels Shape and Challenge a Participatory Culture in Software Development. IEEE Transactions on Software Engineering, 43(2):185–204, 2017.
Hayward P. Andres. A comparison of face-to-face and virtual software development teams. Team Performance Management: An International Journal, 8(1/2):39–48, 2002.
Daniela Damian, Armin Eberlein, Mildred L.G. Shaw, and Brian R. Gaines. Using Different Communication Media in Requirements Negotiation. IEEE Software, May/June:28–36, 2000.
Christian Bird, Alex Gourley, Prem Devanbu, Michael Gertz, and Anand Swaminathan. Mining Email Social Networks. In Stephan Diehl, Harald C. Gall, and Ahmed E. Hassan, editors, 3rd International Workshop on Mining Software Repositories (MSR 2006), pages 137–143, Shanghai, China, 2006. ACM.
Bin Lin, Alexey Zagalsky, Margaret-Anne Storey, and Alexander Serebrenik. Why Developers are Slacking Off: Understanding How Software Teams Use Slack. In Darren Gergle and Meredith Ringel Morris, editors, 19th ACM Conference on Computer Supported Cooperative Work and Social Computing (CSCW 2016): Companion, pages 333–336, New York, NY, USA, 2016. ACM.
Uri Dekel and James D. Herbsleb. Notation and representation in collaborative object-oriented design: An observational study. In Richard P. Gabriel, David F. Bacon, Cristina Videira Lopes, and Guy L. Steele Jr., editors, 22nd ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2007), pages 261–280, Montreal, QC, Canada, 2007. ACM.
Sebastian Baltes and Stephan Diehl. Sketches and diagrams in practice. In Shing-Chi Cheung, Alessandro Orso, and Margaret-Anne D. Storey, editors, 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE 2014), pages 530–541, Hong Kong, China, 2014. ACM.
Mauro Cherubini, Gina Venolia, Robert DeLine, and Andrew J. Ko. Let’s go to the whiteboard: How and why software developers use drawings. In Mary Beth Rosson and David J. Gilmore, editors, 2007 Conference on Human Factors in Computing Systems (CHI 2007), pages 557–566, San Jose, CA, USA, 2007. ACM.
Sebastian Baltes, Peter Schmitz, and Stephan Diehl. Linking sketches and diagrams to source code artifacts. In Shing-Chi Cheung, Alessandro Orso, and Margaret-Anne D. Storey, editors, 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE 2014), pages 743–746, Hong Kong, China, 2014. ACM.
Sebastian Baltes, Fabrice Hollerich, and Stephan Diehl. Round-Trip Sketches: Supporting the Lifecycle of Software Development Sketches from Analog to Digital and Back. In Kang Zhang, Ivan Beschastnikh, and Andrea Mocci, editors, 2017 IEEE Working Conference on Software Visualization (VISSOFT 2017), pages 94–98, Shanghai, China, 2017. IEEE.
Sebastian Baltes, Oliver Moseler, Fabian Beck, and Stephan Diehl. Navigate, Understand, Communicate: How Developers Locate Performance Bugs. In Qing Wang, Guenther Ruhe, Jeff Carver, and Oscar Dieste, editors, 9th International Symposium on Empirical Software Engineering and Measurement (ESEM 2015), pages 225–234, Beijing, China, 2015. IEEE.
Sebastian Baltes and Stephan Diehl. Usage and Attribution of Stack Overflow Code Snippets in GitHub Projects. Empirical Software Engineering, Online First:1–37, 2018.
Sebastian Baltes, Richard Kiefer, and Stephan Diehl. Attribution required: Stack overflow code snippets in GitHub projects. In Sebastián Uchitel, Alessandro Orso, and Martin P. Robillard, editors, 39th International Conference on Software Engineering (ICSE 2017), Companion Volume, pages 161–163, Buenos Aires, Argentina, 2017. IEEE Computer Society.
Sebastian Baltes and Stephan Diehl. Towards a Theory of Software Development Expertise. In Gary Leavens, Alessandro Garcia, and Corina Pasareanu, editors, 26th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2018), pages 187–200, Lake Buena Vista, FL, USA, 2018. ACM.
Aileen Cater-Steel, Mark Toleman, and Terry Rout. Addressing the Challenges of Replications of Surveys in Software Engineering Research. In Ross Jeffery, June Verner, and Guilherme H. Travassos, editors, 2005 International Symposium on Empirical Software Engineering (ISESE 2005), pages 10–pp, Noosa Heads, Queensland, Australia, 2005. IEEE.
Steve Easterbrook, Janice Singer, Margaret-Anne Storey, and Daniela Damian. Chapter 11: Selecting Empirical Methods for Software Engineering Research. In Forrest Shull, Janice Singer, and Dag I.K. Sjoberg, editors, Guide to Advanced Empirical Software Engineering, pages 285–311. Springer, London, UK, 2008.
Sebastian Baltes and Stephan Diehl. Worse Than Spam: Issues In Sampling Software Developers. In Marcela Genero, Andreas Jedlitschka, and Magne Jorgensen, editors, 10th International Symposium on Empirical Software Engineering and Measurement (ESEM 2016), pages 52:1–52:6, Ciudad Real, Spain, 2016. ACM.
Sebastian Baltes, Christoph Treude, and Stephan Diehl. SOTorrent: Studying the Origin, Evolution, and Usage of Stack Overflow Code Snippets. In Margaret-Anne Storey, Bram Adams, and Sonia Haiduc, editors, 16th International Conference on Mining Software Repositories (MSR 2019), Montreal, QC, Canada, 2019. IEEE.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.
Copyright information
© 2020 The Author(s)
About this chapter
Cite this chapter
Baltes, S. (2020). Software Developers’ Work Habits and Expertise: Empirical Studies on Sketching, Code Plagiarism, and Expertise Development. In: Felderer, M., et al. Ernst Denert Award for Software Engineering 2019. Springer, Cham. https://doi.org/10.1007/978-3-030-58617-1_4
Download citation
DOI: https://doi.org/10.1007/978-3-030-58617-1_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-58616-4
Online ISBN: 978-3-030-58617-1
eBook Packages: Computer ScienceComputer Science (R0)