SlideShare a Scribd company logo
1 of 24
Download to read offline
Hasso Plattner Institute, University of Potsdam, Germany
*Carnegie Mellon University, Pittsburgh, USA
christoph.matthies@hpi.de
@chrisma0
Agile Software Development Practices:
Perceptions & Project Data
Christoph Matthies, Johannes Hügle,
Tobias Dürschmid*, Ralf Teusner
February ’20
Innsbruck
Background
2
An undergraduate software engineering capstone course
“methods, concepts, and technologies that
help successfully deliver large software
products developed by multiple teams. [1]
[1] https://hpi.de/plattner/teaching/archive/winter-term-201819/softwaretechnik-ii.html”
Motivation: Agile SE Teams
3
Teamwork in collaborating (student) groups
4
Motivation: Agile SE Teams
Teamwork in collaborating (student) groups
5
Relationship between
Process Perceptions and Project Data
Motivation: Perceptions & Data
Two worlds, each relevant
Perceptions vs. Project Data
Main research questions
■ Q1: What are perceptions of agile practice usage
in student project teams?
■ Q2: Which practices are perceived to be
most related to agile values?
■ Q3: What is the relationship of
perceptions and software project data?
6
Regarding agile practices
Perceptions vs. Project Data
■ SE lecture with agile (collaboration) process novices
■ Subset of eight agile best practices under study
■ Repeatedly collect perceptions of practice use
■ 42 students
■ Surveys after each of the four Sprints
■ Define data measurements
reflecting Agile practice usage
7
Methods
Overall Survey Results
8
Q1: Perceptions regarding practices, answers over all sprints
Overall Survey Results
9
Q1: Perceptions regarding practices, answers over all sprints
Overall Survey Results
10
Q2: Correlations to perceptions of agile value implementation
Overall Survey Results
11
Practices most related to “Agile Mindset”:
■ Practicing Collective Code Ownership
(Q2, τ=0.15, p < .05)
■ Not working near the deadline
(Q5, τ=−0.21, p < .01)
■ Following “check in early,
check in often” principle
(Q6, τ= 0.24, p < .01)
Q2: Correlations to perceptions of agile value implementation
Evidence of Agile Practice Usage
■ Dev. practices “inscribed into software artifacts” [deSouza, 2005]
■ Analysis of teams’ GitHub project data
■ Define measures of agile practice usage
□ Based on previous related literature where available
□ “Analytics cold-start” problem [deSouza, 2005]
□ Intuitively traceable to underlying data
12
Based on project data evidence
[deSouza et al., 2005] de Souza, C., Froehlich, J., & Dourish, P, “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, p. 197, 2005.
Extract of Employed Measures
■ Code reviews
□ Amount of Pull Request comments by a developer in a Sprint
■ Test-driven Development
□ Ruby on Rails conventions separate test from application code
□ Ratio of line changes in test and application code
■ Last-Minute Commits
□ Percentage of commits by developer
within 12 hours of sprint review meeting
■ ...
13
Agile practice measures based on project data
Code Reviews in PRs
■ Expectations
□ Many developers with few comments
□ Barrier for leaving comments
■ Some devs very motivated: “Hero reviewers” cf. [Mockus et al., 2002]
14
Amount of code review comments
Amount of comments per reviewer
Frequency
[Mockus et al., 2002] Mockus, Audris, Roy T. Fielding, and James D. Herbsleb, "Two case studies of open source software development:
Apache and Mozilla," ACM Transactions on Software Engineering and Methodology (TOSEM) 11, no. 3, pp. 309-346, 2002.
Test-Driven Development
■ Test Statements per Solution Statement [Buffardi et al., 2012]
■ Expectation: Low ratios of test to app code changes
■ 10 test LOC changes / 100 app LOC changes = 0,1
15
Ratio of test to application code line changes
Amount of devs
Ratio test to app code
[Buffardi et al., 2012] K. Buffardi and S. H. Edwards, “Impacts of Teaching Test-Driven Development to Novice Programmers,”
International Journal of Information and Computer Science IJICS, vol. 1, no. 6, pp. 135–143, 2012.
Last-Minute Commits
■ Expectation:
high percentage of commits shortly before Sprint end
■ “Deadline-Driven development” [Ariely et al., 2002]
16
Percentage of Last-Minute Commits per developer
[Ariely et al., 2002] D. Ariely and K. Wertenbroch, “Procrastination, deadlines, and performance: self-control by precommitment.”
Psychological Science, vol. 133, pp. 219–224, 2002.
Frequency
Ratio of last-minute commits by developer
Project Evidence vs. Perceptions
17
Correlations between perceptions and data
TDD - Ratio Test/App Code
CCO - Unique Files Edited
Deadline-Driven Development - Last-Minute Commits
“Check in early, check in often” - Avg. LOC churn
Parallel User Stories - Unique User Story Identifiers
Useful code reviews - Pull Request Comments
Study Summary
18
A case study on agile practice usage in student teams
■ Case study within education context on selected
Agile practice usage in teams
■ Initial measures for Agile practice
■ Self-assessments correlated with measurements
concerning TDD and last-minute work
□ Well-defined concepts, intuitive to grasp and measure
□ Shared mental models
19
■ Differing assumptions between
measurement creator and participants
■ Is employed proxy not measuring the intended construct or are
perception and data at odds in this context?
🠆 Starting points for discussion and improvement
Conclusions & Interpretation
Contributions and lessons learned in this study
Future Work
20
Integrating project data analysis into SE processes
Software Process Improvement
Future Work
21
Integrating project data analysis into SE processes
■ Scrum Retrospective: “an opportunity for the Scrum Team
to inspect itself” [Schwaber, 2017]
■ Common process problems, common diagnoses approaches
■ Project data: additional perspective on team development process
■ New Retrospective activities based on project data
■ e.g. Remedy Appraisal:
did a (process) change manifest in project data?
[Schwaber et al., 2017] Schwaber, K., & Sutherland, J., “The Scrum Guide - The Definitive Guide to Scrum: The Rules
of the Game”, 2017, [online] Available: http://scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-US.pdf
22
Retro
Bot
Vision
Summary
23
Image Sources
24
In order of appearance
■ attitude by Nithinan Tatah from the Noun Project
■ Data by Alice Design from the Noun Project
■ agile by Florent B from the Noun Project
■ Mortar Board by Mike Chum from the Noun Project
■ developer by Becris from the Noun Project
■ GitHub mark by GitHub, Inc.
■ questions by Gregor Cresnar from the Noun Project
■ Survey by unlimicon from the Noun Project
■ Merge by Danil Polshin from the Noun Project
■ measures by supalerk laipawat from the Noun Project
■ sum by Trevor Dsouza from the Noun Project
■ end by priyanka from the Noun Project
■ Future by Alice Design from the Noun Project

More Related Content

What's hot

Software project management tools
Software project management toolsSoftware project management tools
Software project management toolsDarshak Mehta
 
Automate estimates, resource loading , and sprint plans!
Automate estimates, resource loading , and sprint plans! Automate estimates, resource loading , and sprint plans!
Automate estimates, resource loading , and sprint plans! Faichi Solutions
 
Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...Daniel Mendez
 
21.5 Estimating Agile Softare Development
21.5 Estimating Agile Softare Development21.5 Estimating Agile Softare Development
21.5 Estimating Agile Softare DevelopmentGlen Alleman
 
Build Failure Prediction in Continuous Integration Workflows
Build Failure Prediction in Continuous Integration WorkflowsBuild Failure Prediction in Continuous Integration Workflows
Build Failure Prediction in Continuous Integration WorkflowsThomas Rausch
 
Strayer bus 375 final exam part 1
Strayer bus 375 final exam part 1Strayer bus 375 final exam part 1
Strayer bus 375 final exam part 1nikig6806
 
Strayer bus 375 final exam part 1
Strayer bus 375 final exam part 1Strayer bus 375 final exam part 1
Strayer bus 375 final exam part 1eyavagal
 
Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)MuskanSony
 
Integrating Impact Planning into Research Projects: Reflections from the STEP...
Integrating Impact Planning into Research Projects: Reflections from the STEP...Integrating Impact Planning into Research Projects: Reflections from the STEP...
Integrating Impact Planning into Research Projects: Reflections from the STEP...STEPS Centre
 
A New Software Engineeering Approach
A New Software Engineeering ApproachA New Software Engineeering Approach
A New Software Engineeering ApproachArunit Gupta
 
Lecture 01
Lecture 01Lecture 01
Lecture 01Rana Ali
 
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...Naming the Pain in Requirements Engineering - Design of a Global Family of Su...
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...Daniel Mendez
 
Agile Methods to Develop Tangible Products Quickly
Agile Methods to Develop Tangible Products QuicklyAgile Methods to Develop Tangible Products Quickly
Agile Methods to Develop Tangible Products QuicklyJohn Carter
 

What's hot (15)

Software project management tools
Software project management toolsSoftware project management tools
Software project management tools
 
Automate estimates, resource loading , and sprint plans!
Automate estimates, resource loading , and sprint plans! Automate estimates, resource loading , and sprint plans!
Automate estimates, resource loading , and sprint plans!
 
Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...
 
21.5 Estimating Agile Softare Development
21.5 Estimating Agile Softare Development21.5 Estimating Agile Softare Development
21.5 Estimating Agile Softare Development
 
Build Failure Prediction in Continuous Integration Workflows
Build Failure Prediction in Continuous Integration WorkflowsBuild Failure Prediction in Continuous Integration Workflows
Build Failure Prediction in Continuous Integration Workflows
 
Project Estimation Tool
Project Estimation Tool Project Estimation Tool
Project Estimation Tool
 
Strayer bus 375 final exam part 1
Strayer bus 375 final exam part 1Strayer bus 375 final exam part 1
Strayer bus 375 final exam part 1
 
Strayer bus 375 final exam part 1
Strayer bus 375 final exam part 1Strayer bus 375 final exam part 1
Strayer bus 375 final exam part 1
 
Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)
 
Integrating Impact Planning into Research Projects: Reflections from the STEP...
Integrating Impact Planning into Research Projects: Reflections from the STEP...Integrating Impact Planning into Research Projects: Reflections from the STEP...
Integrating Impact Planning into Research Projects: Reflections from the STEP...
 
A New Software Engineeering Approach
A New Software Engineeering ApproachA New Software Engineeering Approach
A New Software Engineeering Approach
 
Lecture 01
Lecture 01Lecture 01
Lecture 01
 
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...Naming the Pain in Requirements Engineering - Design of a Global Family of Su...
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...
 
Agile Methods to Develop Tangible Products Quickly
Agile Methods to Develop Tangible Products QuicklyAgile Methods to Develop Tangible Products Quickly
Agile Methods to Develop Tangible Products Quickly
 
Free PMP Sample Q & A
Free PMP Sample Q & AFree PMP Sample Q & A
Free PMP Sample Q & A
 

Similar to Agile Software Development Practices: Perceptions & Project Data

Feedback in Scrum: Data-Informed Retrospectives
Feedback in Scrum: Data-Informed Retrospectives Feedback in Scrum: Data-Informed Retrospectives
Feedback in Scrum: Data-Informed Retrospectives Christoph Matthies
 
Alleman coonce-agile-2017 may2
Alleman coonce-agile-2017 may2Alleman coonce-agile-2017 may2
Alleman coonce-agile-2017 may2Glen Alleman
 
30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)IAESIJEECS
 
30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)IAESIJEECS
 
A bibliometric analysis on cost and risk estimation in DevOps project menthod...
A bibliometric analysis on cost and risk estimation in DevOps project menthod...A bibliometric analysis on cost and risk estimation in DevOps project menthod...
A bibliometric analysis on cost and risk estimation in DevOps project menthod...Harender Singh
 
Software engineering process
Software engineering processSoftware engineering process
Software engineering processKanchanPatil34
 
Primavera6.0
Primavera6.0Primavera6.0
Primavera6.0niict
 
Tracking and Controlling Technical Documentation Projects
Tracking and Controlling Technical Documentation ProjectsTracking and Controlling Technical Documentation Projects
Tracking and Controlling Technical Documentation ProjectsSaiff Solutions, Inc.
 
Unit 1 sepm the generic process model
Unit 1 sepm the generic process modelUnit 1 sepm the generic process model
Unit 1 sepm the generic process modelKanchanPatil34
 
Overview of project planning
Overview of project planningOverview of project planning
Overview of project planningNidhya Rangarajan
 
Team Data Science Process Presentation (TDSP), Aug 29, 2017
Team Data Science Process Presentation (TDSP), Aug 29, 2017Team Data Science Process Presentation (TDSP), Aug 29, 2017
Team Data Science Process Presentation (TDSP), Aug 29, 2017Debraj GuhaThakurta
 
Cloud-native Enterprise Data Science Teams
Cloud-native Enterprise Data Science TeamsCloud-native Enterprise Data Science Teams
Cloud-native Enterprise Data Science TeamsBoston Consulting Group
 
SE - Lecture 11 - Software Project Estimation.pptx
SE - Lecture 11 - Software Project Estimation.pptxSE - Lecture 11 - Software Project Estimation.pptx
SE - Lecture 11 - Software Project Estimation.pptxTangZhiSiang
 
Intelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringIntelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringTao Xie
 
Pathways to Technology Transfer and Adoption: Achievements and Challenges
Pathways to Technology Transfer and Adoption: Achievements and ChallengesPathways to Technology Transfer and Adoption: Achievements and Challenges
Pathways to Technology Transfer and Adoption: Achievements and ChallengesTao Xie
 
Unified process,agile process,process assesment ppt
Unified process,agile process,process assesment pptUnified process,agile process,process assesment ppt
Unified process,agile process,process assesment pptShweta Ghate
 
Process and Project Metrics-1
Process and Project Metrics-1Process and Project Metrics-1
Process and Project Metrics-1Saqib Raza
 

Similar to Agile Software Development Practices: Perceptions & Project Data (20)

Feedback in Scrum: Data-Informed Retrospectives
Feedback in Scrum: Data-Informed Retrospectives Feedback in Scrum: Data-Informed Retrospectives
Feedback in Scrum: Data-Informed Retrospectives
 
Alleman coonce-agile-2017 may2
Alleman coonce-agile-2017 may2Alleman coonce-agile-2017 may2
Alleman coonce-agile-2017 may2
 
Meha_Ghadge
Meha_GhadgeMeha_Ghadge
Meha_Ghadge
 
30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)
 
30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)
 
A bibliometric analysis on cost and risk estimation in DevOps project menthod...
A bibliometric analysis on cost and risk estimation in DevOps project menthod...A bibliometric analysis on cost and risk estimation in DevOps project menthod...
A bibliometric analysis on cost and risk estimation in DevOps project menthod...
 
Software engineering process
Software engineering processSoftware engineering process
Software engineering process
 
Primavera6.0
Primavera6.0Primavera6.0
Primavera6.0
 
Tracking and Controlling Technical Documentation Projects
Tracking and Controlling Technical Documentation ProjectsTracking and Controlling Technical Documentation Projects
Tracking and Controlling Technical Documentation Projects
 
Project Scheduling
Project SchedulingProject Scheduling
Project Scheduling
 
Unit 1 sepm the generic process model
Unit 1 sepm the generic process modelUnit 1 sepm the generic process model
Unit 1 sepm the generic process model
 
Overview of project planning
Overview of project planningOverview of project planning
Overview of project planning
 
Team Data Science Process Presentation (TDSP), Aug 29, 2017
Team Data Science Process Presentation (TDSP), Aug 29, 2017Team Data Science Process Presentation (TDSP), Aug 29, 2017
Team Data Science Process Presentation (TDSP), Aug 29, 2017
 
Cloud-native Enterprise Data Science Teams
Cloud-native Enterprise Data Science TeamsCloud-native Enterprise Data Science Teams
Cloud-native Enterprise Data Science Teams
 
SE - Lecture 11 - Software Project Estimation.pptx
SE - Lecture 11 - Software Project Estimation.pptxSE - Lecture 11 - Software Project Estimation.pptx
SE - Lecture 11 - Software Project Estimation.pptx
 
Intelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringIntelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software Engineering
 
Pathways to Technology Transfer and Adoption: Achievements and Challenges
Pathways to Technology Transfer and Adoption: Achievements and ChallengesPathways to Technology Transfer and Adoption: Achievements and Challenges
Pathways to Technology Transfer and Adoption: Achievements and Challenges
 
Unified process,agile process,process assesment ppt
Unified process,agile process,process assesment pptUnified process,agile process,process assesment ppt
Unified process,agile process,process assesment ppt
 
Process and Project Metrics-1
Process and Project Metrics-1Process and Project Metrics-1
Process and Project Metrics-1
 
Software project management
Software project managementSoftware project management
Software project management
 

More from Christoph Matthies

Investigating Software Engineering Artifacts in DevOps Through the Lens of Bo...
Investigating Software Engineering Artifacts in DevOps Through the Lens of Bo...Investigating Software Engineering Artifacts in DevOps Through the Lens of Bo...
Investigating Software Engineering Artifacts in DevOps Through the Lens of Bo...Christoph Matthies
 
Automated Exercises & Software Development Data
Automated Exercises & Software Development DataAutomated Exercises & Software Development Data
Automated Exercises & Software Development DataChristoph Matthies
 
Challenges (and Opportunities!) of a Remote Agile Software Engineering Projec...
Challenges (and Opportunities!) of a Remote Agile Software Engineering Projec...Challenges (and Opportunities!) of a Remote Agile Software Engineering Projec...
Challenges (and Opportunities!) of a Remote Agile Software Engineering Projec...Christoph Matthies
 
Experience vs Data: A Case for More Data-informed Retrospective Activities
Experience vs Data: A Case for More Data-informed Retrospective ActivitiesExperience vs Data: A Case for More Data-informed Retrospective Activities
Experience vs Data: A Case for More Data-informed Retrospective ActivitiesChristoph Matthies
 
More than Code: Contributions in Scrum Software Engineering Teams
More than Code: Contributions in Scrum Software Engineering TeamsMore than Code: Contributions in Scrum Software Engineering Teams
More than Code: Contributions in Scrum Software Engineering TeamsChristoph Matthies
 
Counteracting Agile Retrospective Problems with Retrospective Activities
Counteracting Agile Retrospective Problems with Retrospective ActivitiesCounteracting Agile Retrospective Problems with Retrospective Activities
Counteracting Agile Retrospective Problems with Retrospective ActivitiesChristoph Matthies
 
Using Data to Inform Decisions in Agile Software Development
Using Data to Inform Decisions in Agile Software Development Using Data to Inform Decisions in Agile Software Development
Using Data to Inform Decisions in Agile Software Development Christoph Matthies
 
An Additional Set of (Automated) Eyes: Chatbots for Agile Retrospectives
An Additional Set of (Automated) Eyes: Chatbots for Agile RetrospectivesAn Additional Set of (Automated) Eyes: Chatbots for Agile Retrospectives
An Additional Set of (Automated) Eyes: Chatbots for Agile RetrospectivesChristoph Matthies
 
Beyond Surveys: Analyzing Software Development Artifacts to Assess Teaching E...
Beyond Surveys: Analyzing Software Development Artifacts to Assess Teaching E...Beyond Surveys: Analyzing Software Development Artifacts to Assess Teaching E...
Beyond Surveys: Analyzing Software Development Artifacts to Assess Teaching E...Christoph Matthies
 
Scrum2Kanban: Integrating Kanban and Scrum in a University Software Engineeri...
Scrum2Kanban: Integrating Kanban and Scrum in a University Software Engineeri...Scrum2Kanban: Integrating Kanban and Scrum in a University Software Engineeri...
Scrum2Kanban: Integrating Kanban and Scrum in a University Software Engineeri...Christoph Matthies
 
Should I Bug You? Identifying Domain Experts in Software Projects Using Code...
 Should I Bug You? Identifying Domain Experts in Software Projects Using Code... Should I Bug You? Identifying Domain Experts in Software Projects Using Code...
Should I Bug You? Identifying Domain Experts in Software Projects Using Code...Christoph Matthies
 
Introduction to Lean Software & Kanban
Introduction to Lean Software & KanbanIntroduction to Lean Software & Kanban
Introduction to Lean Software & KanbanChristoph Matthies
 
Lightweight Collection and Storage of Software Repository Data with DataRover
Lightweight Collection and Storage of  Software Repository Data with DataRoverLightweight Collection and Storage of  Software Repository Data with DataRover
Lightweight Collection and Storage of Software Repository Data with DataRoverChristoph Matthies
 
Pybelsberg — Constraint-based Programming in Python
Pybelsberg — Constraint-based Programming in PythonPybelsberg — Constraint-based Programming in Python
Pybelsberg — Constraint-based Programming in PythonChristoph Matthies
 
Git Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easierGit Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easierChristoph Matthies
 
How to reverse engineer Android applications—using a popular word game as an ...
How to reverse engineer Android applications—using a popular word game as an ...How to reverse engineer Android applications—using a popular word game as an ...
How to reverse engineer Android applications—using a popular word game as an ...Christoph Matthies
 
Beat Your Mom At Solitaire—Reverse Engineering of Computer Games
Beat Your Mom At Solitaire—Reverse Engineering of Computer GamesBeat Your Mom At Solitaire—Reverse Engineering of Computer Games
Beat Your Mom At Solitaire—Reverse Engineering of Computer GamesChristoph Matthies
 
Introduction to Homomorphic Encryption
Introduction to Homomorphic EncryptionIntroduction to Homomorphic Encryption
Introduction to Homomorphic EncryptionChristoph Matthies
 
Hacker News vs. Slashdot—Reputation Systems in Crowdsourced Technology News
Hacker News vs. Slashdot—Reputation Systems in Crowdsourced Technology NewsHacker News vs. Slashdot—Reputation Systems in Crowdsourced Technology News
Hacker News vs. Slashdot—Reputation Systems in Crowdsourced Technology NewsChristoph Matthies
 

More from Christoph Matthies (19)

Investigating Software Engineering Artifacts in DevOps Through the Lens of Bo...
Investigating Software Engineering Artifacts in DevOps Through the Lens of Bo...Investigating Software Engineering Artifacts in DevOps Through the Lens of Bo...
Investigating Software Engineering Artifacts in DevOps Through the Lens of Bo...
 
Automated Exercises & Software Development Data
Automated Exercises & Software Development DataAutomated Exercises & Software Development Data
Automated Exercises & Software Development Data
 
Challenges (and Opportunities!) of a Remote Agile Software Engineering Projec...
Challenges (and Opportunities!) of a Remote Agile Software Engineering Projec...Challenges (and Opportunities!) of a Remote Agile Software Engineering Projec...
Challenges (and Opportunities!) of a Remote Agile Software Engineering Projec...
 
Experience vs Data: A Case for More Data-informed Retrospective Activities
Experience vs Data: A Case for More Data-informed Retrospective ActivitiesExperience vs Data: A Case for More Data-informed Retrospective Activities
Experience vs Data: A Case for More Data-informed Retrospective Activities
 
More than Code: Contributions in Scrum Software Engineering Teams
More than Code: Contributions in Scrum Software Engineering TeamsMore than Code: Contributions in Scrum Software Engineering Teams
More than Code: Contributions in Scrum Software Engineering Teams
 
Counteracting Agile Retrospective Problems with Retrospective Activities
Counteracting Agile Retrospective Problems with Retrospective ActivitiesCounteracting Agile Retrospective Problems with Retrospective Activities
Counteracting Agile Retrospective Problems with Retrospective Activities
 
Using Data to Inform Decisions in Agile Software Development
Using Data to Inform Decisions in Agile Software Development Using Data to Inform Decisions in Agile Software Development
Using Data to Inform Decisions in Agile Software Development
 
An Additional Set of (Automated) Eyes: Chatbots for Agile Retrospectives
An Additional Set of (Automated) Eyes: Chatbots for Agile RetrospectivesAn Additional Set of (Automated) Eyes: Chatbots for Agile Retrospectives
An Additional Set of (Automated) Eyes: Chatbots for Agile Retrospectives
 
Beyond Surveys: Analyzing Software Development Artifacts to Assess Teaching E...
Beyond Surveys: Analyzing Software Development Artifacts to Assess Teaching E...Beyond Surveys: Analyzing Software Development Artifacts to Assess Teaching E...
Beyond Surveys: Analyzing Software Development Artifacts to Assess Teaching E...
 
Scrum2Kanban: Integrating Kanban and Scrum in a University Software Engineeri...
Scrum2Kanban: Integrating Kanban and Scrum in a University Software Engineeri...Scrum2Kanban: Integrating Kanban and Scrum in a University Software Engineeri...
Scrum2Kanban: Integrating Kanban and Scrum in a University Software Engineeri...
 
Should I Bug You? Identifying Domain Experts in Software Projects Using Code...
 Should I Bug You? Identifying Domain Experts in Software Projects Using Code... Should I Bug You? Identifying Domain Experts in Software Projects Using Code...
Should I Bug You? Identifying Domain Experts in Software Projects Using Code...
 
Introduction to Lean Software & Kanban
Introduction to Lean Software & KanbanIntroduction to Lean Software & Kanban
Introduction to Lean Software & Kanban
 
Lightweight Collection and Storage of Software Repository Data with DataRover
Lightweight Collection and Storage of  Software Repository Data with DataRoverLightweight Collection and Storage of  Software Repository Data with DataRover
Lightweight Collection and Storage of Software Repository Data with DataRover
 
Pybelsberg — Constraint-based Programming in Python
Pybelsberg — Constraint-based Programming in PythonPybelsberg — Constraint-based Programming in Python
Pybelsberg — Constraint-based Programming in Python
 
Git Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easierGit Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easier
 
How to reverse engineer Android applications—using a popular word game as an ...
How to reverse engineer Android applications—using a popular word game as an ...How to reverse engineer Android applications—using a popular word game as an ...
How to reverse engineer Android applications—using a popular word game as an ...
 
Beat Your Mom At Solitaire—Reverse Engineering of Computer Games
Beat Your Mom At Solitaire—Reverse Engineering of Computer GamesBeat Your Mom At Solitaire—Reverse Engineering of Computer Games
Beat Your Mom At Solitaire—Reverse Engineering of Computer Games
 
Introduction to Homomorphic Encryption
Introduction to Homomorphic EncryptionIntroduction to Homomorphic Encryption
Introduction to Homomorphic Encryption
 
Hacker News vs. Slashdot—Reputation Systems in Crowdsourced Technology News
Hacker News vs. Slashdot—Reputation Systems in Crowdsourced Technology NewsHacker News vs. Slashdot—Reputation Systems in Crowdsourced Technology News
Hacker News vs. Slashdot—Reputation Systems in Crowdsourced Technology News
 

Recently uploaded

Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 

Recently uploaded (20)

Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 

Agile Software Development Practices: Perceptions & Project Data

  • 1. Hasso Plattner Institute, University of Potsdam, Germany *Carnegie Mellon University, Pittsburgh, USA christoph.matthies@hpi.de @chrisma0 Agile Software Development Practices: Perceptions & Project Data Christoph Matthies, Johannes Hügle, Tobias Dürschmid*, Ralf Teusner February ’20 Innsbruck
  • 2. Background 2 An undergraduate software engineering capstone course “methods, concepts, and technologies that help successfully deliver large software products developed by multiple teams. [1] [1] https://hpi.de/plattner/teaching/archive/winter-term-201819/softwaretechnik-ii.html”
  • 3. Motivation: Agile SE Teams 3 Teamwork in collaborating (student) groups
  • 4. 4 Motivation: Agile SE Teams Teamwork in collaborating (student) groups
  • 5. 5 Relationship between Process Perceptions and Project Data Motivation: Perceptions & Data Two worlds, each relevant
  • 6. Perceptions vs. Project Data Main research questions ■ Q1: What are perceptions of agile practice usage in student project teams? ■ Q2: Which practices are perceived to be most related to agile values? ■ Q3: What is the relationship of perceptions and software project data? 6 Regarding agile practices
  • 7. Perceptions vs. Project Data ■ SE lecture with agile (collaboration) process novices ■ Subset of eight agile best practices under study ■ Repeatedly collect perceptions of practice use ■ 42 students ■ Surveys after each of the four Sprints ■ Define data measurements reflecting Agile practice usage 7 Methods
  • 8. Overall Survey Results 8 Q1: Perceptions regarding practices, answers over all sprints
  • 9. Overall Survey Results 9 Q1: Perceptions regarding practices, answers over all sprints
  • 10. Overall Survey Results 10 Q2: Correlations to perceptions of agile value implementation
  • 11. Overall Survey Results 11 Practices most related to “Agile Mindset”: ■ Practicing Collective Code Ownership (Q2, τ=0.15, p < .05) ■ Not working near the deadline (Q5, τ=−0.21, p < .01) ■ Following “check in early, check in often” principle (Q6, τ= 0.24, p < .01) Q2: Correlations to perceptions of agile value implementation
  • 12. Evidence of Agile Practice Usage ■ Dev. practices “inscribed into software artifacts” [deSouza, 2005] ■ Analysis of teams’ GitHub project data ■ Define measures of agile practice usage □ Based on previous related literature where available □ “Analytics cold-start” problem [deSouza, 2005] □ Intuitively traceable to underlying data 12 Based on project data evidence [deSouza et al., 2005] de Souza, C., Froehlich, J., & Dourish, P, “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, p. 197, 2005.
  • 13. Extract of Employed Measures ■ Code reviews □ Amount of Pull Request comments by a developer in a Sprint ■ Test-driven Development □ Ruby on Rails conventions separate test from application code □ Ratio of line changes in test and application code ■ Last-Minute Commits □ Percentage of commits by developer within 12 hours of sprint review meeting ■ ... 13 Agile practice measures based on project data
  • 14. Code Reviews in PRs ■ Expectations □ Many developers with few comments □ Barrier for leaving comments ■ Some devs very motivated: “Hero reviewers” cf. [Mockus et al., 2002] 14 Amount of code review comments Amount of comments per reviewer Frequency [Mockus et al., 2002] Mockus, Audris, Roy T. Fielding, and James D. Herbsleb, "Two case studies of open source software development: Apache and Mozilla," ACM Transactions on Software Engineering and Methodology (TOSEM) 11, no. 3, pp. 309-346, 2002.
  • 15. Test-Driven Development ■ Test Statements per Solution Statement [Buffardi et al., 2012] ■ Expectation: Low ratios of test to app code changes ■ 10 test LOC changes / 100 app LOC changes = 0,1 15 Ratio of test to application code line changes Amount of devs Ratio test to app code [Buffardi et al., 2012] K. Buffardi and S. H. Edwards, “Impacts of Teaching Test-Driven Development to Novice Programmers,” International Journal of Information and Computer Science IJICS, vol. 1, no. 6, pp. 135–143, 2012.
  • 16. Last-Minute Commits ■ Expectation: high percentage of commits shortly before Sprint end ■ “Deadline-Driven development” [Ariely et al., 2002] 16 Percentage of Last-Minute Commits per developer [Ariely et al., 2002] D. Ariely and K. Wertenbroch, “Procrastination, deadlines, and performance: self-control by precommitment.” Psychological Science, vol. 133, pp. 219–224, 2002. Frequency Ratio of last-minute commits by developer
  • 17. Project Evidence vs. Perceptions 17 Correlations between perceptions and data TDD - Ratio Test/App Code CCO - Unique Files Edited Deadline-Driven Development - Last-Minute Commits “Check in early, check in often” - Avg. LOC churn Parallel User Stories - Unique User Story Identifiers Useful code reviews - Pull Request Comments
  • 18. Study Summary 18 A case study on agile practice usage in student teams ■ Case study within education context on selected Agile practice usage in teams ■ Initial measures for Agile practice ■ Self-assessments correlated with measurements concerning TDD and last-minute work □ Well-defined concepts, intuitive to grasp and measure □ Shared mental models
  • 19. 19 ■ Differing assumptions between measurement creator and participants ■ Is employed proxy not measuring the intended construct or are perception and data at odds in this context? 🠆 Starting points for discussion and improvement Conclusions & Interpretation Contributions and lessons learned in this study
  • 20. Future Work 20 Integrating project data analysis into SE processes Software Process Improvement
  • 21. Future Work 21 Integrating project data analysis into SE processes ■ Scrum Retrospective: “an opportunity for the Scrum Team to inspect itself” [Schwaber, 2017] ■ Common process problems, common diagnoses approaches ■ Project data: additional perspective on team development process ■ New Retrospective activities based on project data ■ e.g. Remedy Appraisal: did a (process) change manifest in project data? [Schwaber et al., 2017] Schwaber, K., & Sutherland, J., “The Scrum Guide - The Definitive Guide to Scrum: The Rules of the Game”, 2017, [online] Available: http://scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-US.pdf
  • 24. Image Sources 24 In order of appearance ■ attitude by Nithinan Tatah from the Noun Project ■ Data by Alice Design from the Noun Project ■ agile by Florent B from the Noun Project ■ Mortar Board by Mike Chum from the Noun Project ■ developer by Becris from the Noun Project ■ GitHub mark by GitHub, Inc. ■ questions by Gregor Cresnar from the Noun Project ■ Survey by unlimicon from the Noun Project ■ Merge by Danil Polshin from the Noun Project ■ measures by supalerk laipawat from the Noun Project ■ sum by Trevor Dsouza from the Noun Project ■ end by priyanka from the Noun Project ■ Future by Alice Design from the Noun Project