History of Software Engineering
Media
Lecture SlidesOptional Material
- Chapter 1 of Software Engineering at Google By Titus Winters, Tom Manshreck and Hyrum Wright, O'Reilly Media UVic link
- Exploding Software Engineering Myths by Janie Chang, Writer, Microsoft Research
Empirical Software Engineering: Beliefs and Evidence
Assigned Material
- Empirical Software Engineering by Greg Wilson, Jorge Aranda, American Scientist, Nov-Dec 2011.
- The Princial Elements of the Nature of Science: Dispelling the Myths by William F. McComas, 1998
- Design Science Research in Software Engineering by Storey, Enstrom, Host and Runeson, ESEM 2017
- Why Engineers Write Bad Code by Adam Barr (he explores the gap between industry and academia)
Optional Material
- Chapter 1, Contemporary Empirical Methods in Software Engineering, Editors: Michael FeldererGuilherme Horta Travassos, Springer 2020
- Programming as Theory Building by Peter Naur, 1985.
Design Science
Media
Lecture SlidesAssigned Material
- Design Science Research in Software Engineering by Storey, Enstrom, Host and Runeson, ESEM 2017.
Optional Material
- Using a Visual Abstract as a Lens for Communicating and Promoting Design Science Research in Software Engineering by Storey, Engstrom, Host, Runeson and Bjarnason, ESEM, 2017.
- How software engineering research aligns with design science: a review by Emelie Engström, Margaret-Anne Storey, Per Runeson, Martin Höst & Maria Teresa Baldassarre, Empirical Software Engineering, volume 25, pages 2630–2660, 2020.
- Design Science Research as Movement Between Individual and Generic Situation-Problem–Solution Spaces, by Ilia Bider, Paul Johannesson and Erik Perjons, Designing Organizational Systems. Lecture Notes in Information Systems and Organisation, vol 1. Springer, Berlin, Heidelberg. 2012.
- 10 min introduction by Runeson, Engstrom, Storey
Research Methods in Software Engineering
Assigned Material
- Selecting a research method by Easterbrook et al.
- Developing a grounded theory to explain the practices of self-organizing Agile teams by Hoda, Rashina & Noble, James & Marshall, Stuart. (2012). Empirical Software Engineering - ESE. 17. 1-31.
- Methodology Matters by McGrath
- Challenges in Program Comprehension and Software Repository Mining, Talk by Amy Ko (Video)
- The promises and perils of mining GitHub by Eirini Kalliamvakou, Georgios Gousios, Kelly Blincoe, Leif Singer Daniel M Germán, Daniela E Damian, MSR 2014
Optional Material
- General Resources
- Research Methods in Human-Computer Interaction, 2nd Edition by Paul Lazar, Elsevier, 2017.
- Research Methods for Human-Computer Interaction Edited by Paul Cairns and Anna Cox, Cambridge University Press, 2008.
- Qualitative methods in empirical studies of software engineering by C. B. Seaman, IEEE Transactions on Software Engineering, vol. 25, no. 4, pp. 557-572, July-Aug. 1999.
- Research design: Qualitative, quantitative, and mixed methods approaches, Creswell & Creswell. Sage publications, 5th edition.
- ACM SIGSOFT Empirical Standards By Paul Ralph et al., 2020.
- The ABC of Software Engineering Research by Stol and Fitzgerald, TOSEM 2018.
- The Research Onion
- Data Science and Mining Repositories
- Perspectives on Data Science for Software Engineering, 1st Edition, Editors: Tim Menzies Laurie Williams Thomas Zimmerman, Morgan Kaufmann, 2016.
- Analyzing and Interpreting Data
- Grounded theory for Geeks by Rashina Hoda, James Noble, Stuart Marshall. ACM International Conference Proceeding Series. 2011.
- Constructing Grounded Theory, SECOND EDITION, by Kathy Charmaz, Sage Publishing 2014.
- Beyond a good story: from Hawthorne Effect to reactivity in health professions education research by Elise Paradis and Gary Sutkin Med Educ. 2017 Jan;51(1):31-39. doi: 10.1111/medu.13122. Epub 2016 Aug 31.
- Qualitative data analysis: A methods sourcebook by Miles, Matthew B., A. Michael Huberman, and Johnny Saldana. 2014. 4th edition.
- Doing Better Statistics in Human-Computer Interaction, by Paul Cairns, 2019.
- Grounded Theory - Open Coding by Graham R Gibbs 2010, posted on YouTube.
- Case Study Research
- Guidelines for conducting and reporting case study research in software engineering by Per Runeson and Martin Höst, Empirical Software Engineering 14, 131 (2009).
- Survey Research
- Tutorial on Surveys in Software Engineering
- Sampling in Software Engineering Research: A Critical Review and Guidelines by Baltes and Ralph, 2020.
- Ethnography
- The Role of Ethnographic Studies in Empirical Software Engineering, by Helen Sharp et al., IEEE Transactions on Software Engineering, 42(8) pp. 786–804, 2016.
- The Social Dynamics of Pair Programming by Jan Chong and Tom Hurlbutt, ICSE '07: Proceedings of the 29th international conference on Software EngineeringMay 2007 Pages 354–363. (Nice example of ethnography)
- Action Research
- Experiments
- Experimentation in Software Engineering by Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A., Springer 2012.
- Mixed Methods
- Combining Quantitative and Qualitative Studies in Empirical Software Engineering Research by Massimiliano Di Penta and Damian Andrew Tamburri, ICSE Companion, 2017.
- Creswell book, referenced above.
- Validity and Research Limitations
- A total quality framework approach to sharing qualitative research data: Comment on Dubois et al. Roller, M. R., & Lavrakas, P. J. (2018). Qualitative Psychology, 5(3), 394–401
- Validity and Qualitative Research: An Oxymoron? by Onwuegbuzie, A.J., Leech, N.L. Qual Quant 41, 233–249 (2007).
- See also the Creswell <&> Creswell book referenced above.
Theories, Theoretical Frameworks, and Conceptual Frameworks
Assigned Material
- Building Theories in Software Engineering by Dag I. K. Sjøberg, Tore Dybå, Bente C. D. Anda, Jo E. Hannay, Guide to Advanced Empirical Software Engineering pp 312-336, Spring 2008.
- The Distinctions Between Theory, Theoretical Framework, and Conceptual Framework by Lara Varpio, Elise Paradis, Sebastian Uijtdehaage, Meredith Young, Academic Medicine: Journal of the Association of American Medical Colleges, 2019.
Optional Material
- Theory-oriented software engineering by Klas-Jan Stol and Brian Fitzgerald, Science of Computer Programming, Volume 101, 1 April 2015, Pages 79-98.
Literature Reviews for Software Engineering Research
Assigned Material
- Systematic Mapping Studies in Software Engineering, by Petersen et al., EASE 2008.
- The who, what, how of software engineering research: a socio-technical framework by Storey, M., Ernst, N.A., Williams, C. et al. Empir Software Eng 25, 4097–4129 (2020).
- How software engineering research aligns with design science: a review by Emelie Engström, Margaret-Anne Storey, Per Runeson, Martin Höst & Maria Teresa Baldassarre, Empirical Software Engineering volume 25, pages 2630–2660, 2020.
Optional Material
- Literature review related papers
- Benefitting from the Grey Literature in Software Engineering Research by Vahid Garousi, Michael FeldererMika V. Mäntylä, Austen Rainer, Contemporary Empirical Methods in Software Engineering pp 385-413, 2020.
- Guidelines for performing Systematic Literature Reviews in Software Engineering, Version 2.3, EBSE Technical Report 2007, Software Engineering Group, School of Computer Science and Mathematics, Keele University.
- A systematic review of systematic review process research in software engineering by Barbara Kitchenham and Pearl Brereton, Information and Software Technology, Volume 55, Issue 12, December 2013, Pages 2049-2075.
- Systematic literature reviews in software engineering – A tertiary study by Barbara Kitchenham et al., Information and Software Technology, Volume 52, Issue 8, August 2010, Pages 792-805.
- Guidelines for conducting systematic mapping studies in software engineering: An update, by Kai Petersen, Sairam Vakkalanka, Ludwik Kuzniarz, Information and Software Technology, Volume 64, 2015.
- A Guide to SLRs in Software Engineering presented by Eirini Kalliamvakou, University of Victoria.
- Example literature reviews in software engineering (related to Activity)
- A systematic review on regression test selection techniques by Engstrom et al., IST 2010.
- Motivation in Software_engineering: A_systematic review update by Beecham et al., IST 2008.
- Behavioral software engineering: A definition and systematic literature review by Per Lenberg et al., JSS 2015.
- Defining and Classifying Software Bots: A Faceted Taxonomy by Lebeuf et al., ICSE/BotSE 2019.
Continuous Software Engineering
Media
Assigned Material
- Continuously Deploying Security by Laurie Williams, 2018.
- Can we make better software by using ML and AI techniques? With Chandra Maddila and Chetan Bansal, August 2020.
- Chapter 2 of Taming Information Technology: Lessons from Studies of System Administrators, by Eser Kandogan, Paul P. Maglio, Eben M. Haber and John Bailey, Oxford Press, 2012.
- The Key to High Performance: What the Data Says by Nicole Forsgren, GitHub OR you may instead want to listen to this Podcast: Feedback Loops — Company Culture, Change, and DevOps by Nicole Forsgren, Jez Humble, and Sonal Chokshi
Optional Material
- Continuous software engineering: A roadmap and agenda by Brian Fitzgerald and Klaas-Jan Stol, JSS 2015.
- Accelerate: Building and Scaling High Performing Technology Organizations by Nicole Forsgren, Jez Humble, and Gene Kim, 2018.
- Taming Information Technology: Lessons from Studies of System Administrators by Eser Kandogan, Paul Maglio, Eben Haber, and John Bailey, Oxford University Press, 2012.
Code Review and Assessment
Media
Assigned Material
- Assertions Are Strongly Correlated with Test Suite Effectiveness by Yucheng Zhang and Ali Mesbah, ESEC/FSE 2015.
- The Secret Life of Bugs: Going Past the Errors and Omissions in Software Repositories, by Jorge Aranda and Gina Venolia, ICSE '09: Proceedings of the 31st International Conference on Software Engineering, May 2009, Pages 298–308.
- Expectations, Outcomes, and Challenges of Modern Code Review by Christian Bird Alberto Bacchelli, ICSE 2013.
Optional Material
- Refactoring Book
- Code Reviewing in the Trenches: Understanding Challenges and Best Practices by Laura MacLeod, M. Greiler, M. Storey, C. Bird and J. Czerwonka, IEEE Softwre 2017.
Diversity and Inclusion in Software Engineering
Media
Assigned Material
- Gender in Open-Source Software Development by Alexander Serebrenik, CBSoft 2020, Brazil
- Gender differences and bias in open source: pull request acceptance of women versus men by Josh Terrell, Andrew Kofink, Justin Middleton, Clarissa Rainear, Emerson Murphy-Hill, Chris Parnin, Jon Stallings, May 2017, PeerJ.
- Autism Coding Camp by Andrew Begel et al., SIGCSE 2020
- Gender Inclusivity Software Engineering by Margaret Burnett and Anita Sarma
Optional Material
- Engineering Gender-Inclusivity into Software: Ten Teams’ Tales from the Trenches by C. Hilderbrand, C. Perdriau, L. Letaw, J. Emard, Z. Steine-Hanson, M. Burnett, and A. Sarma, , ACM/IEEE 42nd International Conference on Software Engineering (ICSE), May 2020.
- Is 40 the new 60? by Alexander Serebrenik
- Golden Rules of Building Communities by Denae Ford Robinson, OCTO Speaker Series, 2020.
Collaboration, Communication, and Knowledge Flow
Media
No Podcast Version Available.
Assigned Material
- Revealing actual documentation usage in software maintenance through war stories by Wayne Lutters and Carolyn Seaman, IST 2007.
- The role of identity and social norms in building sustainable online communities and successful remote teams by Anna Filippova, GitHub
- Socio-Technical Coordination by Jim Herbsleb, ICSE 2014
Optional Material
- The Social Identity Perspective: Intergroup Relations, Self-Conception, and Small Groups, by Michael A. Hogg, Dominic Abrams, Sabine Otten, Steve Hinkle, Small Group Research. 2004; 35(3):246-276.
- Building a socio-technical theory of coordination: why and how (outstanding research award) by James Herbsleb, FSE 2016.
- Observation as a Data Collection Technique for Software Engineering Research by Carolyn Seaman, IASESE 2019 Tutorial.
- A Tutorial on Qualitative Data Coding when Mining Software Repositories by Christoph Treude.
Developer and Team Productivity
Media
Assigned Material
- The productive software engineer with Dr. Tom Zimmermann
- Improving Engineering Productivity at Scale by Ciera Jaspan, SPLASH 2019 (Video) OR Monolithic Repositories with Ciera Jaspan
- Challenges and Gratitude: A Diary Study of Software Engineers Working From Home During Covid-19 Pandemic by Jenna Butler, Microsoft
Optional Material
- A Tale of Two Cities: Software Developers Working from Home During the COVID-19 Pandemic by Denae Ford, Margaret-Anne Storey, Thomas Zimmermann, Christian Bird, Sonia Jaffe, Chandra Maddila, Jenna L. Butler, Brian Houck, Nachiappan Nagappan
- Towards a theory of software developer job satisfaction and perceived productivity by Margaret-Anne Storey, Thomas Zimmermann, Christian Bird, Jacek Czerwonka, Brendan Murphy, Eirini Kalliamvakou, TSE journal paper presented at ICSE 2020.
- What Predicts Software Developers’ Productivity? by Emerson Murphy-Hill Ciera Jaspan Caitlin Sadowski David C. Shepherd Michael Phillips Collin Winter Andrea Knight Dolan Edward K. Smith Matthew A. Jorde, Transactions on Software Engineering (2019).
- Enabling the Study of Software Development Behavior with Cross-Tool Logs by Ciera Jaspan Matthew Jorde Carolyn Denomme Egelman Collin Green Ben Holtz Edward K. Smith Maggie Morrow Hodges Andrea Marie Knight Dolan Elizabeth Kammer Jillian Dicker Caitlin Harrison Sadowski James Lin Lan Cheng Mark Canning Emerson Murphy-Hill, IEEE Software, vol. Special Issue on Behavioral Science of Software Engineering (2020).
Bridging Gaps
Media
No Video Available.
No Podcast Available.
Bridging Gaps between Research and Industry in Software Engineering by Jacek Czerwonka, Microsoft.
No Podcast Available.
Bridging Gaps between Research and Industry in Software Engineering by Jacek Czerwonka, Microsoft.
Assigned Material
- "Was My Contribution Fairly Reviewed?" A Framework to Study the Perception of Fairness in Modern Code Reviews by Daniel German et al. ICSE 2018 OR Was my contribution reviewed fairly? by Daniel German
- Code Reviews Do Not Find Bugs: How the Current Code Review Best Practice Slows Us Down by Jacek Czerwonka, Michaela Greiler, and Jack Tilford, ICSE 2015
Optional Material
- Promoting Human Flourishing Through Ethical Software Development by Michael Hilton
- The promises and perils of mining GitHub by Eirini Kalliamvakou, Georgios Gousios, Kelly Blincoe, Leif Singer Daniel M Germán, Daniela E Damian, MSR 2014