The Road to Data-Informed Agile Development Processes

The Road to Data-Informed Agile Development Processes

Slides of a presentation given at the HPI Research School Fall Retreat in October 2019 at Hotel Mercure, Potsdam.

4ab2845fa4f5ab860bc3476c9f11b759?s=128

Christoph Matthies

October 17, 2019
Tweet

Transcript

  1. 1.

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

    Road to Data-Informed Agile Development Processes Christoph Matthies HPI Research School Fall Retreat, October ’19
  2. 2.

    Motivation 2 The “unfulfilled” potential of DDDM [Svensson, 2019] Svensson,

    R.B., Feldt, R., & Torkar, R. “The Unfulfilled Potential of Data-Driven Decision Making in Agile Software Development”, 20th International Conference on Agile Software Development (XP), 2019, doi:10.1007/978-3-030-19034-7
  3. 3.

    Motivation 3 [Svensson, 2019] Svensson, R.B., Feldt, R., & Torkar,

    R. “The Unfulfilled Potential of Data-Driven Decision Making in Agile Software Development”, 20th International Conference on Agile Software Development (XP), 2019, doi:10.1007/978-3-030-19034-7 Software practitioners say: Data is not valued highly for decision-making The “unfulfilled” potential of DDDM
  4. 4.

    Motivation 4 [Svensson, 2019] Svensson, R.B., Feldt, R., & Torkar,

    R. “The Unfulfilled Potential of Data-Driven Decision Making in Agile Software Development”, 20th International Conference on Agile Software Development (XP), 2019, doi:10.1007/978-3-030-19034-7 Software practitioners say: Data is not valued highly for decision-making, but it should be! The “unfulfilled” potential of DDDM
  5. 5.

    Data-Driven Decision-Making 5 Application areas where DDDM is most prominent

    ▪ Contrasted with decisions based on experience or “gut feeling” ▪ Business data □ How much of X did we sell in time Y? □ What ads have converted well in the past? □ Where do users click on our online store? ▪ Educational data □ What kind of students are attending this school? □ Have students reached the learning goals?
  6. 6.

    “Software is eating the world” [Andreessen, 2011] Data-Driven Decision-Making 6

    [Andreessen, 2011] Andreessen, Marc. "Why software is eating the world." Wall Street Journal 20.201. 2011 Image: Robyn Twomey for The New York Times, https://www.nytimes.com/2011/07/10/magazine/marc-andreessen-on-the-dot-com-bubble.html Application areas where DDDM is most prominent
  7. 7.

    ▪ “Software is eating the world” [Andreessen, 2011] ▪ Software

    Project Data □ How often do we actually deploy? □ How often and why do our tests fail? □ What are bug-inducing commits? □ How fast do bugs get fixed? □ How did a management change effect our work? Data-Driven Decision-Making 7 [Andreessen, 2011] Andreessen, Marc. "Why software is eating the world." Wall Street Journal 20.2011. 2011 Application areas where DDDM is most prominent
  8. 8.

    ▪ “Software is eating the world” [Andreessen, 2011] ▪ Software

    Project Data □ How often do we actually deploy? □ How often and why do our tests fail? □ What are bug-inducing commits? □ How fast do bugs get fixed? □ How did a management change effect our work? Data-Driven Decision-Making 8 Application Areas [Andreessen, 2011] Andreessen, Marc. "Why software is eating the world." Wall Street Journal 20.2011. 2011 Technical aspects Process / human aspect
  9. 9.

    Data in Software Development 9 Much more than code ▪

    Software development process: source of valuable data □ Not only code: multitude of supporting artifacts □ (Partly) responsible for project success ▪ Processes are “inscribed” into software artifacts [de Souza, 2005] □ E.g. VCS: who, when, what, why, status □ Also includes evidence of failures [Ziftci & Reardon, 2017] [de Souza, 2005] de Souza, C., Froehlich, J., and Dourish, P. (2005). “Seeking the Source: Software Source Code as a Social and Technical Artifact”. In Proceedings of the 2005 international ACM SIGGROUP conference on Supporting group work - GROUP ’05, page 197, ACM Press. [Ziftci & Reardon, 2017] Ziftci, C. and Reardon, J. (2017). “Who broke the build? Automatically identifying changes that induce test failures in continuous integration at google scale”. In Proceedings - 2017 IEEE/ACM 39th International Conference on Software Engineering: Software Engineering in Practice Track, ICSE-SEIP 2017, pages 113–122.
  10. 14.

    Research Questions 14 So many questions, so little time! ▪

    How can we □ “lint” project data to find process improvement areas? [1] □ measure success in implementing agile practices? [2] □ design curricula and exercises for ease of data collection? [3] □ use project data to assess curriculum goals? [4] □ integrate data-informed reflection into Agile processes? [5] [1] C. Matthies, T. Kowark, K. Richly, M. Uflacker, and H. Plattner (2016), “How Surveys, Tutors, and Software Help to Assess Scrum Adoption,” in Proceedings of the 38th International Conference on Software Engineering Companion (ICSE), ACM, doi:10.1145/2889160.2889182 [2] C. Matthies, T. Kowark, M. Uflacker, and H. Plattner, (2016) “Agile Metrics for a University Software Engineering Course,” in 2016 IEEE Frontiers in Education Conference (FIE), IEEE, doi:10.1109/FIE.2016.7757684 [3] C. Matthies, A. Treffer, and M. Uflacker, (2017) “Prof. CI: Employing Continuous Integration Services and GitHub Workflows to Teach Test-Driven Development,” in 2017 IEEE Frontiers in Education Conference (FIE), IEEE, doi:10.1109/FIE.2017.8190589 [4] C. Matthies, R. Teusner, and G. Hesse, (2018) “Beyond Surveys: Analyzing Software Development Artifacts to Assess Teaching Efforts,” in 2018 IEEE Frontiers in Education Conference (FIE), IEEE, doi:10.1109/FIE.2018.8659205 [5] C. Matthies, (2019) “Feedback in Scrum: Data-informed Retrospectives,” in Proceedings of the 41st International Conference on Software Engineering: Companion Proceedings (ICSE), IEEE, doi:10.1109/ICSE-Companion.2019.00081
  11. 15.

    15

  12. 17.

    Research Journey References [1] “ScrumLint: identifying violations of agile practices

    using development artifacts” (CHASE’16) [2] “How surveys, tutors, and software help to assess Scrum adoption in a classroom software engineering project” (ICSE-SEET’16) [3] “Teaching Agile the Agile Way — Employing Self-Organizing Teams in a University Software Engineering Course” (ASEE Int. Forum’ 16) [4] “Lightweight collection and storage of software repository data with DataRover” (ASE’16) [5] “Agile metrics for a university software engineering course” (FIE’16) [6] “Prof. CI: Employing Continuous Integration Services and Github Workflows to Teach Test-driven Development” (FIE’17) [7] “Scrum2Kanban: Integrating Kanban and Scrum in a University Software Engineering Capstone Course” (SEEM’18) [8] “Beyond Surveys: Analyzing Software Development Artifacts to Assess Teaching Efforts” (FIE’18) [9] “Attitudes, Beliefs, and Development Data Concerning Agile Software Development Practices” (ICSE-SEET’19) [10] “Should I Bug You? Identifying Domain Experts in Software Projects Using Code Complexity Metrics” (QRS’17)
  13. 18.

    Research Journey Based on imagined chronological order ▪ Research Journey

    learnings □ Summarized research question and answer for papers ✓ □ Remember what was actually done ✓ □ Find initial connection between work ✓
  14. 19.

    Research Journey Based on imagined chronological order ▪ Research Journey

    learnings □ Summarized research question and answer for papers ✓ □ Remember what was actually done ✓ □ Find initial connection between work ✓ □ Use directly as dissertation structure ✗
  15. 20.

    The Road to ... 20 “Systematic Literature Review” of Self

    ▪ “A monograph is a specialist work of writing on a single subject […], often by a single author, and usually on a scholarly subject” ▪ Goal: Write a monograph, given a set of previous research results ▪ Method □ Label previous results and papers with topics □ Form topic clusters □ Exclude marginally relevant topics
  16. 21.

    Integration of data-informed improvement into Scrum 21 Dimensions of “Systematic

    Literature Review” of Self Measurement of specific Agile practices Project data for Agile process curriculum design Research Topic Research Context Research Goal Similar Agile practices in small teams Teams w/ similar processes, different work contexts Professional teams with customized processes Research Scope Provide team-specific, targeted feedback Improve overall design of development process Enable improvement in self-managing teams Self Literature Review
  17. 22.

    ▪ Project data measurements and analysis for well-understood Agile practices

    in student teams □ Actionable insights into process, allow focused feedback ▪ Design pattern for evaluating curriculum goals using project data □ Project data collection at scale with low overhead ▪ Approaches for integrating data-informed improvement actions into Agile process flow □ Data-informed Retrospectives □ Issues of professional teams Main Contributions 22 Outputs of Research
  18. 23.

    23 Data-Informed Software Development Process Improvement Challenges ▪ Not taking

    on more interesting research □ It’s what we do, but □ “You have enough” ▪ Write (short) introduction that provides (enough) context ▪ Provide coherent view of related work The Road to DIASDPI
  19. 24.

    24 Data-Informed Software Development Process Improvement The Road to DIASDPI

    ▪ Would you like to read intro and give your feedback? ▪ Would you like my feedback? christoph.matthies@hpi.de @chrisma0
  20. 26.

    26 ▪ Road by parkjisun from the Noun Project (CC-BY

    3.0) ▪ Agile by BomSymbols from the Noun Project (CC-BY 3.0) ▪ Data by Alice Design is Industries from the Noun Project (CC-BY 3.0) ▪ Research by Eucalyp from the Noun Project (CC-BY 3.0) ▪ Management by Gregor Cresnar from the Noun Project (CC-BY 3.0) ▪ Result by Turkkub from the Noun Project (CC-BY 3.0) ▪ Technical by Aneeque Ahmed from the Noun Project (CC-BY 3.0) ▪ Developer by Becris from the Noun Project (CC-BY 3.0) ▪ Cog Wheels by Icon Fair from the Noun Project (CC-BY 3.0) ▪ GitHub Mark © 2019 GitHub, Inc. from https://github.com/logos ▪ Topic by Adrien Coquet from the Noun Project (CC-BY 3.0) ▪ Settings by Joe Mortell from the Noun Project (CC-BY 3.0) ▪ Goal by Bharat from the Noun Project (CC-BY 3.0) Image Credits In order of appearance