[comment]: # (Compile this presentation with the command below) [comment]: # (mdslides index.md && mv index/index.html .) [comment]: # (The list of themes is at https://revealjs.com/themes/) [comment]: # (The list of code themes is at https://highlightjs.org/) [comment]: # (Pass optional settings to reveal.js:) [comment]: # (markdown: { smartypants: true }) [comment]: # (Other settings are documented at https://revealjs.com/config/) #### Chronicling Consistency and Parity of Contributions to Software Engineering Team Projects ---------- Kevin Buffardi, Rahul Bijoor, Aviral Kumar Srivastava, Tamanjeet Kaur Sidhu, Shalavritha Mamunooru, Aditi More
[LearnByFailure.com](https://learnbyfailure.com/chronicling/)
#### Software Engineering Education - Team projects provide experiential learning
#### Software Engineering Education - Team projects provide experiential learning - Agile software development principles
#### Software Engineering Education - Team projects provide experiential learning - Agile software development principles -
M
inimum
V
iable
P
roduct
#### Software Engineering Education - Team projects provide experiential learning - Agile software development principles -
M
inimum
V
iable
P
roduct - Incremental delivery-and-discovery (Scrum sprint)
#### Software Engineering Education - Team projects provide experiential learning - Agile software development principles -
M
inimum
V
iable
P
roduct - Incremental delivery-and-discovery (Scrum sprint) - Contributing in a team
### How to fairly and accurately evaluate individuals in a team?
#### Common Approaches to Evaluating Individuals - Team Grades - Peer/Self Evaluations - Data Mining for Contribution Quantity
#### Unintended Outcomes **Team Grades**
#### Unintended Outcomes **Team Grades** - Social loafing, responsibility hoarding
#### Unintended Outcomes **Peer/Self Evaluation**
#### Unintended Outcomes **Peer/Self Evaluation** - Collusion, personal biases
#### Unintended Outcomes **Data Mining for Contribution Quantity**
#### Unintended Outcomes **Data Mining for Contribution Quantity** - Sacrificing quality for quantity - Procrastinating
#### What about... - Inactive or "lone wolf" members - Should contribute iteratively - Looking for "Signs of life"
#### Investigating Contribution Consistency
#### Consistency
#### Consistency Data mined team repositories (via GitHub API) - Counted artifacts: - Issue creation - Commits - Pull Requests - Code Reviews - Comments
#### Consistency 10 semesters of upper-division Software Engineering - 94 teams - 19,095 artifacts - 465 unique students
#### Consistency
#### (dis?) Parity Gini Index - Originally a measurement of economic inequality - Can be used to compare contributions within team - (maximum parity) 0 to 1 (maximum disparity)
#### (dis?) Parity Gini Index
#### Investigating Contribution Consistency **RQ1** Is team parity of
total contributions
and/or
consistency of contributions
associated with team cohesiveness or lack of conflict?
#### Team Affect End of semester CATME surveys - Cohesiveness (M=3.79, sd=0.4) - Conflict (M=1.5, sd=0.37)
#### Team Affect Consistency (% weeks with 1+ contribution) - M=0.48, sd=0.26 - Team Gini: M=0.32, sd=0.12 Total Artifacts - M=37.78, sd=42.25 - Team Gini: M=0.51, sd=0.17
#### Team Affect Spearman ρ Correlations
#### Does consistency tell us anything?
#### Consistency **RQ2** What unique insights may contribution consistency provide about teamwork that are not already revealed by other metrics?
#### Consistency
#### Consistency - 12% (n=55) students contributed only during a single week of the semester - *Not* only students who contributed at the very end (n=15, 27%) - Maybe teams have different internal cultures - Rhythm of sharing contributions
#### Consistency Investigating each team's median student: `Median_Artifacts + Median_Consistency + Gini_Artifacts + Gini_Consistency` `Cohesiveness = 3.514 + 0.575 * Median_Consistency` `Conflict = 1.645 + 0.007 * Median_Artifacts - 0.727651 * Median_Consistency`
#### Going Forward - Alternative metrics for "consistency" - Consistency's impact - product quality - productivity - [DevOps Research and Assessment (DORA)](https://dora.dev/) - Interventions for encouraging consistent, *impactful* contributions
#### Acknowledgements - Special thanks to Sandesh Sobarad for preliminary work on GitHub API data mining - This material is based upon work partially supported by the [National Science Foundation under grant #2337271](https://www.nsf.gov/awardsearch/showAward?AWD_ID=2337271)
#### Chronicling Consistency and Parity of Contributions to Software Engineering Team Projects
This presentation is accessible at [learnbyfailure.com/chronicling/](https://learnbyfailure.com/chronicling/) and its source is available on [GitHub](https://github.com/kbuffardi/chronicling/).
[Back to LearnByFailure](https://learnbyfailure.com/research/)