Mining for Process Improvements: Analyzing Software Repositories in Agile Retrospectives

Mining for Process Improvements: Analyzing Software Repositories in Agile Retrospectives

Presentation slides for the CHASE 2020 paper “Mining for Process Improvements: Analyzing Software Repositories in Agile Retrospectives,” C. Matthies, F. Dobrigkeit, and G. Hesse, in IEEE/ACM 42nd International Conference on Software Engineering Workshops, ACM Press, 2020. doi: https://doi.org/10.1145/3387940.3392168

http://www.chaseresearch.org/workshops/chase2020

4ab2845fa4f5ab860bc3476c9f11b759?s=128

Christoph Matthies

July 02, 2020
Tweet

Transcript

  1. Hasso Plattner Institute, University of Potsdam, Germany christoph.matthies@hpi.de @chrisma0 Mining

    for Process Improvements: Analyzing Software Repositories in Agile Retrospectives Christoph Matthies, Franziska Dobrigkeit, Guenter Hesse July ’20 13th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE’20)
  2. Motivation & Background 2 Retrospective Meetings and Exercises ▪ Regular

    Retrospective meetings in development processes ▪ Opportunities for process improvement [1] ▪ Popular in professional software engineering [2] ▪ Retro exercises/games to encourage idea sharing [3] ▪ Most Retrospective exercises focus solely on gathering perceptions of team members [4] [1] Ken Schwaber and Jeff Sutherland. 2017. “The Scrum Guide - The Definitive Guide to Scrum: The Rules of the Game”. 19 pages. [2] Scrum Alliance. 2018. “State of Scrum 2017-2018: Scaling and Agile Transformation”. 36 pages. [3] Derby Esther and Diana Larsen. 2006. “Agile Retrospectives: Making Good Teams Great.” Pragmatic Bookshelf. 200 pages. [4] Corinna Baldauf. 2018. “Retromat - Run great agile retrospectives!”. Leanpub.com. 239 pages.
  3. Software Project Data 3 Software Repositories and Other Tools ▪

    Project artifacts created during regular development activities contain valuable information on the executed process ▪ In particular, provide evidence for project problems, e.g. when tests fail [5] or systems go down [6] for long periods. [5] Celal Ziftci and Jim Reardon. 2017. “Who broke the build? Automatically identify-ing changes that induce test failures in continuous integration at Google Scale”. IEEE/ACM 39th International Conference on Software Engineering: Software Engineering in Practice Track. IEEE, 113–122 [6] Marc Haberkorn and Kishor Trivedi. 2007. “Availability monitor for a software based system”. 10th IEEE High Assurance Systems Engineering Symposium. IEEE, 321–328
  4. Research Goal 4 Applying “Mining Software Repositories” Techniques to Retros

    ▪ Mining Software Repositories (MSR) research field [8] ▪ Focus: extracting insights from vast collections of software data ▪ Approaches have not yet been applied to software process improvement in small, Agile teams Goal: Enable an additional, project data-informed view of development processes using Retrospective activities [8] Ahmed E. Hassan. 2008. “The road ahead for Mining Software Repositories”. Frontiers of Software Maintenance. IEEE, 48–57.
  5. Data-Informed Retro Activities 5 Progress Check ▪ Without methods to

    gauge effectiveness of Retros, organizations find it hard to justify expenses of performing Retrospectives [9] ▪ Project artifact measurements, based on Retro action items, can provide results interpretable by teams ▪ Compare measurements for current and following iterations [9] David G Marshburn. 2018. “Scrum retrospectives: Measuring and improving effectiveness”. SAIS 2018 Proceedings
  6. Proposed Retro Activity 6 Remedy Appraisal: An Example ▪ Identified

    issue: single person committing most of the team’s code ▪ Action item: Train all team members in VCS usage ▪ Data measurement: Track progress by the number of unique contributors to team’s code repository Analyze results in the team, discussion starting points ▪ Was the original issue resolved? ▪ Does the measurement need tweaking?
  7. Conclusion 7 Retrospective Meetings & Data-Informed Activities ▪ Increasing knowledge

    on developers’ interactions is available in project artifacts, which allows improving dev. processes [10] ▪ Approaches not yet established in Agile process improvement ▪ We propose defining new, data-informed Retrospective activities based on project data measurements ▪ Future work: automating data-informed insights, e.g. through chatbots or instant messaging channels [10] L. Singer, M.-A. Storey, F. Figueira Filho, A. Zagalsky, and D.M. German. 2017. “People Analytics in Software Development”. Grand Timely Topics in Software Engineering. Springer, 124–153.
  8. Summary 8 christoph.matthies@hpi.de @chrisma0

  9. Image Sources 9 In order of appearance ▪ Mining by

    Firza Alamsyah from the Noun Project ▪ perception by Maxim Basinski from the Noun Project ▪ goal by Alice Design from the Noun Project ▪ Data Driven HR by Vectors Market from the Noun Project ▪ discussion by Alice Design from the Noun Project ▪ Data by Alice Design from the Noun Project