- PAR ID:
- 10297112
- Date Published:
- Journal Name:
- SIGCSE '21: Proceedings of the 52nd ACM Technical Symposium on Computer Science Education
- Page Range / eLocation ID:
- 108 to 114
- Format(s):
- Medium: X
- Sponsoring Org:
- National Science Foundation
More Like this
-
Software metrics capture information about software development processes and products. These metrics support decision-making, e.g., in team management or dependency selection. However, existing metrics tools measure only a snapshot of a software project. Little attention has been given to enabling engineers to reason about metric trends over time—longitudinal metrics that give insight about process, not just product. In thiswork,we present PRIME (PRocess MEtrics), a tool to compute and visualize process metrics. The currently-supported metrics include productivity, issue density, issue spoilage, and bus factor.We illustrate the value of longitudinal data and conclude with a research agenda. The tool’s demo video can be watched at https://bit.ly/ase2022-prime. Source code can be found at https://github.com/SoftwareSystemsLaboratory/prime.more » « less
-
The retrospective, or retro, is a fundamental component of the Agile process, widely used in both software engineering courses and industry. In a retro, teams come together at the end of a sprint to reflect on their team's performance. We conducted an empirical study to explore three research questions concerning retros in undergraduate team projects: (1) What do students reflect on? (2) What is the quality of their reflections? (3) How do teams' retros vary in terms of content and quality? Our study analyzed a corpus of 963 statements documented in the retros of 32 undergraduate software teams (n = 182 students) enrolled in four software engineering courses at two North American universities. A content analysis revealed that teams reflected most often on their work, communication, and collaboration practices. Nearly a third of teams' reflections focused on their general work practices, while nearly half focused on specific areas of the software development lifecycle---most prominently, pull requests, issues, and coding/testing/debugging. An analysis of the quality of teams' retro reflections showed that only 13% provided justification for a strategy to be stopped, continued, or started. An analysis of team-by-team results indicated significant differences in teams' retro content and quality. We compare these results to previous studies of retros in academia and industry, and consider their implications for software engineering education.more » « less
-
Metacognition is widely acknowledged as a key soft skill in collaborative software development. The ability to plan, monitor, and reflect on cognitive and team processes is crucial to the efficient and effective functioning of a software team. To explore students' use of reflection--one aspect of metacognition--in undergraduate team software projects, we analyzed the online chat channels of teams participating in agile software development projects in two undergraduate courses that took place exclusively online (n = 23 teams, 117 students, and 4,915 chat messages). Teams' online chats were dominated by discussions of work completed and to be done; just two percent of all chat messages showed evidence of reflection. A follow-up analysis of chat vignettes centered around reflection messages (n = 63) indicates that three-fourths of the those messages were prompted by a course requirement; just 14\% arose organically within the context of teams' ongoing project work. Based on our findings, we identify opportunities for computing educators to increase, through pedagogical and technological interventions, teams' use of reflection in team software projects.more » « less
-
Assessing team software development projects is notoriously difficult and typically based on subjective metrics. To help make assessments more rigorous, we conducted an empirical study to explore relationships between subjective metrics based on peer and instructor assessments, and objective metrics based on GitHub and chat data. We studied 23 undergraduate software teams (more » « less
n = 117 students) from two undergraduate computing courses at two North American research universities. We collected data on teams’ (a) commits and issues from their GitHub code repositories, (b) chat messages from their Slack and Microsoft Teams channels, (c) peer evaluation ratings from the CATME peer evaluation system, and (d) individual assignment grades from the courses. We derived metrics from (a) and (b) to measure both individual team members’contributions to the team, and theequality of team members’ contributions. We then performed Pearson analyses to identify correlations among the metrics, peer evaluation ratings, and individual grades. We found significant positive correlations between team members’ GitHub contributions, chat contributions, and peer evaluation ratings. In addition, the equality of teams’ GitHub contributions was positively correlated with teams’ average peer evaluation ratings and negatively correlated with the variance in those ratings. However, no such positive correlations were detected between the equality of teams’ chat contributions and their peer evaluation ratings. Our study extends previous research results by providing evidence that (a) team members’ chat contributions, like their GitHub contributions, are positively correlated with their peer evaluation ratings; (b) team members’ chat contributions are positively correlated with their GitHub contributions; and (c) the equality of team’ GitHub contributions is positively correlated with their peer evaluation ratings. These results lend further support to the idea that combining objective and subjective metrics can make the assessment of team software projects more comprehensive and rigorous. -
Abstract Background Effectively facilitating teamwork experiences, particularly in the context of large-size courses, is difficult to implement. This study seeks to address the challenges of implementing effective teamwork experiences in large courses. This study integrated teamwork pedagogy to facilitate a semester-long project in the context of a large-size class comprising 118 students organized into 26 teams. The data for this study were collected from two online teamwork sessions when teams collaborated and self-recorded during the in-class time. The video recordings were qualitatively analyzed to identify patterns in team dynamics processes through visualizations. The study aims to provide insights into the different ways team members engaged in team dynamics processes during different phases of the semester.
Results Findings suggest that members of teams were mostly active and passive during meetings and less constructive and interactive in their engagement. Team members mainly engaged in communication, team orientation, and feedback behaviors. Over time, team members' interactions with one another remained about the same, with feedback behaviors tending to diminish and coordination behaviors staying about the same or slightly increasing over time.
Conclusion The implications of this study extend to both practice and theory. Practically, combining cooperative learning and scrum practices enabled a blend of collaborative and cooperative work, which suggests providing teams with tools and structures to coordinate teamwork processes and promote interaction among team members. From a theoretical perspective, this study contributes to the understanding of temporal aspects of teamwork dynamics by examining how team interactions evolve during working sessions at different points in time. Overall, this research provides valuable insights for educators, practitioners, and researchers aiming to enhance teamwork experiences in large courses, particularly in software development disciplines.