Empirical Software Engineering Banter
By Margaret Anne D Storey
Empirical Software Engineering BanterOct 16, 2020
How to run a meeting with your software team, by Greg Wilson
Conducted live during a Senior Topics Course on Empirical Software Engineering at the University of Victoria, Dec 7th, 2020.
Dr. Greg Wilson shares his wisdom and years of experience on how to run a meeting with software teams. Some insights shared include: have an agenda, use tricks to ensure even turntaking, no electronic devices and multitasking and many more.
This talk is also hosted as a video on YouTube.
Lessons learned from an Autism Coding Camp: A Q&A with Andrew Begel and Paige Rodeghero
Dr. Andrew Begel, researcher at Microsoft, and Dr. Paige Rodeghero, professor at Clemson University in the US, answer questions on their recent paper which describes an Autism Coding Camp (conducted at Clemson, see link below).
Paige and Andrew discuss the importance of communication and teamwork for neurodiverse and neurotypical developers and the extra challenges faced going online with this camp. We also explored ideas for more inclusive tools and learning environments, and how to improve onboarding and inclusion of all developers in software teams.
This Q&A was recorded live as part of a workshop on Diversity, at a Senior Topics Course in Empirical Software Engineering at the University of Victoria on Oct 30th, 2020. In preparation for today's workshop, we read/watched materials posted on this page.
This Q&A is also available on YouTube.
Promoting Human Flourishing Through Ethical Software Development, A Talk and Q&A with Michael Hilton
Dr. Michael Hilton, a professor at CMU, visits our course and gives a short presentation on promoting human flourishing through ethical software development. Michael describes challenges software engineers face to day with recognizing biases in machine learning models, ethical dilemmas designing humane software. He also shares with us why being a teaching professor is the very best job in the world (hint: it is about his ability to shape the software developers of tomorrow).
This talk and Q&A were recorded live as part of a Senior Topics Course in Empirical Software Engineering at the University of Victoria on Nov 27th, 2020. The slides from Michael's talk are posted here.
This talk and Q&A is also available on YouTube.
The fairness of peer review and insights from studies of open source: A Q&A with Daniel German
Dr. Daniel German, a professor at the University of Victoria, talks about his many years conducting empirical research in open source.
Daniel shares how the practices and challenges in open source provided many rich opportunities for research that are also relevant for industry, such as code review practices, the use of git for distributed version control, and intellectual property practices. While at the same time there are important differences between open source and industry, such as volunteer open source developers have more agency and freedom than paid developers, and the perils of assuming open source are representative of industrial projects. He also talks about how his research on fairness in Open Stack required qualitative research methods to understand how many developers perceived peer review as unfair and leverages a fairness theory that can be used to understand and address unfairness in reviews in general.
This Q&A was recorded live as part of a Senior Topics Course in Empirical Software Engineering at the University of Victoria on Nov 27th, 2020. The Q&A was based on this talk
This Q&A is also available on YouTube.
Experiences of Software Developers Working from Home During the Pandemic: A Q&A with Jenna Butler
Dr. Jenna Butler, a senior software engineer with Microsoft, visits our course on empirical software engineering and discusses what she learned through a diary study to understand early and ongoing reflections from developers as they transitioned to working from home during the pandemic. In her longitudinal diary study, Jenna asks about gratitude developers feel (e.g., many feel gratitude for being productive at work and to their colleagues) as well as challenges developers experience.
This Q&A was recorded live as part of a workshop on Developer Productivity, at a Senior Topics Course in Empirical Software Engineering at the University of Victoria on Nov 20th, 2020. For this week, we read materials posted at this page.
This Q&A is also available on YouTube.
The Many Faces of Software Developer Productivity: A Q&A with Tom ZimmermannDr. Tom Zimmermann visits our course on empirical software engineering and discusses his many years of research on developer
Dr. Tom Zimmermann visits our course on empirical software engineering and discusses his many years of research on developer productivity with us.
We discuss what makes for a productive day from a developer's perspective, how time spent programming relates to perceived developer productivity, how individual and team productivity may have to be balanced, the role work environment and team culture plays on productivity and what we can learn (and can't learn) from "fitbit" type data and surveys. Tom also shares some secrets of his research success and this started with his master's thesis.
This Q&A was recorded live as part of a workshop on Developer Productivity, at a Senior Topics Course in Empirical Software Engineering at the University of Victoria on Nov 20th, 2020.
This Q&A is also available on YouTube.
Social Technical Coordination in Software Engineering: A Q&A with Jim Herbsleb
Dr. James (Jim) Herbsleb visits our course on empirical software engineering and shares how the theory he developed was used to measure social technical coordination in real world projects. Borrowing from organizational behavioural theories, Jim also discusses how communication concerning sources of complexity is particularly challenging when there is also uncertainty forcing a need for direct communication. We also discuss the challenges faced with collaboration today, but also explore the opportunities that the transparency of social coding tools and the ability to learn from open source brings. Finally, we discuss future work to investigate which communication channels are needed for optimal coordination in a project and how there is an even bigger need to design online or virtual environments that can mimic the benefits that colocation (at least within 30 metres) has.
This Q&A was recorded live as part of a workshop on Collaboration, Communication and Knowledge Flow, at a Senior Topics Course in Empirical Software Engineering at the University of Victoria on Nov 13th, 2020. In preparation for today's workshop, we read/watched materials posted on this page and in particular watched this video by James Herbsleb (keynote at ICSE 2014)
This Q&A is also available on YouTube.
Role of identity & social norms in building sustainable online communities: A Q&A with Anna Filipova
Dr. Anna Filipova, a Senior Manager of Data Science at GitHub, describes the role of identity and social norms in building sustainable online communities and answers questions about how to create a shared group culture, how to hire online, and whether group churn may not always be a negative thing. Anna also muses whether bots should be used to block negative behaviour or should they try to shape positive behaviour? And if blocking, should this be done a private or public way?
This Q&A was recorded live as part of a workshop on Collaboration, Communication and Knowledge Flow, at a Senior Topics Course in Empirical Software Engineering at the University of Victoria on Nov 13th, 2020. In preparation for today's workshop, we read/watched materials posted on this page.
This Q&A is also available on YouTube.
How "war stories" can reveal what really happens in software engineering, A Q&A with Carolyn Seaman
In this class visit, Dr. Carolyn Seaman, professor at the University of Maryland Baltimore County, describes the power and drawbacks of using "war stories", a storytelling technique used as part of interviews to learn about what really happens with software documentation in practice. Carolyn shares with us other advice on using qualitative methods: "Just as you should never drink or swim alone, never do qualitative analysis alone"!
This Q&A was recorded live as part of a workshop on Collaboration, Communication and Knowledge Flow, at a Senior Topics Course in Empirical Software Engineering at the University of Victoria on Nov 13th, 2020.
In preparation for today's workshop, we read/watched materials posted on this page.
This Q&A is also available on YouTube.
Diversity in Software Engineering: A Q&A with Alexander Serebrenik
Dr. Alexander Serebrenik, professor at Eindhoven Technical University in the Netherlands, answers questions on his recent keynote at CBSoft 2020 which summarizes his years of research on understanding and addressing diversity and inclusion challenges in software engineering. He also shares with us some of the challenges in studying human aspects since given our training to study technical aspects, and questions are "bots also people"? The Q&A also leads to discussion about coding courses and hubs for women only, and affirmative hiring actions. Finally, Alexander discusses with us how we may leverage social media and inclusive tools to address diversity challenges.
This Q&A was recorded live as part of a workshop on Diversity, at a Senior Topics Course in Empirical Software Engineering at the University of Victoria on Oct 30th, 2020. In preparation for today's workshop, we read or watched materials posted on this page.
This Q&A is also available on YouTube.
The Code Review Experience in Azure, Microsoft: A Presentation and Q&A with Brian Houck, Microsoft
Brian Houck, principal program manager at Microsoft, describes the Code Review experience in Azure, sharing with us how static analysis tools are used to shift problems left, how code review is pivotal in avoiding security vulnerabilities, how code review supports building community and the role it plays it onboarding developer to new teams. Brian talks about the unique challenges faced in Azure and Windows: issues of scale and churn across multiple platforms and languages, the need to support code review across team boundaries, and challenges finding experts in such a complex and large scale system. He also talks about the future design of code review tools that must address these challenges and integrate with unique developer tools. In the following Q&A, Brian discusses dealing with biases in software practices, as well as why mixed research methods are needed to understand and support the challenges they face in his team.
This Q&A was recorded live as part of a workshop on Code Review and Assessment, at a Senior Topics Course in Empirical Software Engineering at the University of Victoria on Oct 25th, 2020.
In preparation for today's workshop, we read/watched materials posted on this page.
This Q&A is also available on YouTube.
Empirical Studies of Code Review Practices and Tools and What Lies Ahead: A Q&A with Christian Bird
Dr. Christian (Chris) Bird, software researcher at Microsoft Research, discusses his paper and recent insights about code review at Microsoft. Chris shares with us how this study was one of the first to use developer interviews to understand the motivations and benefits of doing code review that go beyond code quality. He also discusses the success of CodeFlow, a grassroots code review tool that saw widespread adoption across Microsoft and is widely used today. He further muses how code reviews could be even more efficient and productive, and describes novel ideas around guided code reviews that could help developers do code reviews while working from home, and also how questions asked during code reviews could be leveraged to help generate documentation.
This Q&A was recorded live as part of a workshop on Code Review and Assessment, at a Senior Topics Course in Empirical Software Engineering at the University of Victoria on Oct 25th, 2020.
In preparation for today's workshop, we read/watched materials posted on this page.
This Q&A is also available as a YouTube video.
Revisiting the iconic "Secret Life of Bugs" paper: A Q&A with Jorge Aranda
Dr. Jorge Aranda, software practitioner at Workday, discusses the "Secret Life of Bugs" paper from 2009. Jorge shares with us how this landmark study informed our community about the limitations of data mining studies and he suggests future research to investigate how the coordination patterns he identified in his study may or may not hold today given modern communication channels and cloud based project deployment.
This Q&A was recorded live as part of a workshop on Code Review and Assessment, at a Senior Topics Course in Empirical Software Engineering at the University of Victoria on Oct 25th, 2020.
In preparation for today's workshop, we read/watched materials posted on this page.
This podcast is also available as a video on YouTube.
How Test Assertions are Correlated with Test Suite Effectiveness: A Q&A with Ali Mesbah
Dr. Ali Mesbah, professor at UBC, visits our class and answers questions about his paper (linked below) on how test assertions are more effective than code and branch coverage for improving test suite effectiveness. Ali also mentions how machine machine generated assertions fare against human written assertions, how mutation testing is making its way into industry use, how being conservative in our claims about SE research may undersell the value of our research. Our discussion also leads to some exciting ideas for future research in this area!
This Q&A was recorded live as part of a workshop on Continuous Software Engineering, at a Senior Topics Course in Empirical Software Engineering at the University of Victoria on Oct 25th, 2020.
In preparation for today's workshop on continuous software engineering we read/watched materials posted on this page.
In particular, we read this paper before the Q&A: "Assertions Are Strongly Correlated with Test Suite Effectiveness" by Yucheng Zhang and Ali Mesbah, ESEC/FSE 2015.
This Q&A is also available as a video on YouTube.
Devops and High Performing Teams: A Q&A with Nicole Forsgren, GitHub
Dr. Nicole Forsgren, VP of Research and Strategy at GitHub and author of "Accelerate: a book on the Science of Lean Software and DevOps" shares her journey from NLP and ethnographies of sys admins to DevOps and her studies of Team Performance.
In the Q&A, she discusses how tradeoffs between speed and stability are not made by either high or low performing teams, but high performing teams do well with both. She also discusses impact of culture on DevOps, how high performing teams may not be as susceptible to burnout and how to think about individual developer productivity.
This Q&A was recorded live as part of a workshop on Continuous Software Engineering, at a Senior Topics Course in Empirical Software Engineering at the University of Victoria on Oct 16th, 2020. In preparation for today's workshop on continuous software engineering we read/watched materials posted on this page: https://github.com/margaretstorey/EmseUvic2020/blob/master/resources/contSE.md
This Q&A is also available on YouTube
Ethnographic Studies of Work Practices in SE: A Q&A with Eben Haber
At a workshop on Continuous Software Engineering, Dr. Eben Haber from Couchbase and author of the book "Taming Information Technology", discussed his work and answered our class questions about his ethnographic studies of work practices within complex socio-technical systems, in particular the studies of system administrators.
To quote Eben, "if you have the chance to do ethnographic studies of work practices, do it!" In addition to answering questions about his work, he shares some tips on doing ethnography. This Q&A was recorded live at a Senior Topics Course in Empirical Software Engineering at the University of Victoria on Oct 16th, 2020. In preparation for today's workshop on continuous software engineering we read/watched materials posted on this page.
This talk is also available on YouTube
Here is a link to Eben's book:
AIOps in Continuous Software Engineering: A Q&A with Chandra Maddila
At a workshop on Continuous Software Engineering (part of a Course on Empirical Software Engineering at the University of Victoria), Dr. Chandra Maddila from Microsoft Research discusses AIOps with our class.
Chandra answers questions about how AI and machine learning can improve developer productivity, and how techniques used in the Sankie platform could apply to other companies.
This talk and Q&A (starting at approx. min 48) was recorded live at a Senior Topics Course in Empirical Software Engineering at the University of Victoria on Oct 16th, 2020.
This talk is also available on Youtube: https://youtu.be/UHMLMi_Ks8o
In preparation for today's workshop on continuous software engineering we read/watched materials posted on this page: https://github.com/margaretstorey/EmseUvic2020/blob/master/resources/contSE.md
Theories & Theoretical Frameworks in Software Engineering: A Talk and Q&A with Elise Paradis
In this week's recorded live lecture at a Senior Topics Course in Empirical Software Engineering at the University of Victoria, Dr. Elise Paradis demystifies the differences between objectivist deductive research and subjective inductive research, shares how theories help bridge the tension between engineering and science, and with the course participants discusses why we should do research that is both personally and internally coherent.
This talk and Q&A (starting at approx. min 48) was recorded live at a Senior Topics Course in Empirical Software Engineering at the University of Victoria on Oct 2nd, 2020 (https://github.com/margaretstorey/Ems...).
Elise Paradis, PhD, is an award-winning researcher, mentor and speaker with an expertise in teamwork. She uses a range of methods in her research, from content analysis to ethnography, interviews, bibliometrics and scoping reviews. Dr. Paradis obtained her PhD from Stanford in 2011. She joined the Leslie Dan Faculty of Pharmacy at the University of Toronto in 2015, and also holds appointments in medicine, sociology, and at the Centre for Critical Qualitative Health Research. She held the Canada Research Chair in Collaborative Healthcare Practice until 2019, when she left the University of Toronto to work at Facebook. Her emphasis is now on maximizing engineers’ wellbeing and productivity through research. She is currently at UVic/Chisel conducting a critical review of the literature on software engineering.
The presentation and discussion focused on these papers:
- 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.
- 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.
This is also available on YouTube: https://youtu.be/_8aPAGD6tdA
Grounded Theory in Software Engineering: A Talk and Q&A with Rashina Hoda
Conducted live during a Senior Topics Course on Empirical Software Engineering at the University of Victoria, Sept 25th, 2020.
Dr. Rashina Hoda presents a concise and clear overview of grounded theory in this recorded talk. Her talk (after 36 or so minutes) is followed by an interview (Q&A) where Rashina answers, in a very thoughtful and clear way, practical questions about how she came to use grounded theory in her research, how to do grounded theory in a rigorous manner (and publish along the way), how to mitigate research biases, which coding tools she uses and why, and she shares advice with us on how to do grounded theory during this time of work/learn from home.
Rashina's talk and our discussion was based on this paper: Developing a grounded theory to explain the practices of self-organizing Agile teams. Hoda, R., Noble, J. & Marshall, S., Empirical Software Eng 17, 609–639 (2012). (https://link.springer.com/article/10....)
This is also available on YouTube: https://youtu.be/z-Yr27qtePM
Past, Present and Future of Empirical Software Engineering: A Q&A with Greg Wilson
Conducted live during a Senior Topics Course on Empirical Software Engineering at the University of Victoria, Sept 18th, 2020.
Part of our discussion was based on Greg's paper: Empirical Software Engineering by Greg Wilson, Jorge Aranda, American Scientist, Nov-Dec 2011.
We asked Greg his views on empirical software engineering (past and present), research methods, research evidence and relevance to industry. We also inquired about his views on pair programming, UML, security, accreditation, and what students need to know for jobs in industry.
This talk is also hosted as a video on YouTube.