$30 off During Our Annual Pro Sale. View Details »

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

Christoph Matthies

July 02, 2020
Tweet

More Decks by Christoph Matthies

Other Decks in Research

Transcript

  1. Hasso Plattner Institute,
    University of Potsdam, Germany
    [email protected]
    @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)

    View Slide

  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.

    View Slide

  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

    View Slide

  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.

    View Slide

  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

    View Slide

  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?

    View Slide

  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.

    View Slide

  8. Summary
    8
    [email protected]
    @chrisma0

    View Slide

  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

    View Slide