Locating Community Smells in Software Development Processes Using Higher-Order Network Centralities
arXiv:2309.07467 · doi:10.1007/s13278-023-01120-w
Abstract
Community smells are negative patterns in software development teams' interactions that impede their ability to successfully create software. Examples are team members working in isolation, lack of communication and collaboration across departments or sub-teams, or areas of the codebase where only a few team members can work on. Current approaches aim to detect community smells by analysing static network representations of software teams' interaction structures. In doing so, they are insufficient to locate community smells within development processes. Extending beyond the capabilities of traditional social network analysis, we show that higher-order network models provide a robust means of revealing such hidden patterns and complex relationships. To this end, we develop a set of centrality measures based on the MOGen higher-order network model and show their effectiveness in predicting influential nodes using five empirical datasets. We then employ these measures for a comprehensive analysis of a product team at the German IT security company genua GmbH, showcasing our method's success in identifying and locating community smells. Specifically, we uncover critical community smells in two areas of the team's development process. Semi-structured interviews with five team members validate our findings: while the team was aware of one community smell and employed measures to address it, it was not aware of the second. This highlights the potential of our approach as a robust tool for identifying and addressing community smells in software development teams. More generally, our work contributes to the social network analysis field with a powerful set of higher-order network centralities that effectively capture community dynamics and indirect relationships.
arXiv comment48 pages, 19 figures, 4 tables; accepted at Social Network Analysis and Mining (SNAM)
References in corpus (20)
- Network robustness and fragility: Percolation on random graphs
- Networks beyond pairwise interactions: structure and dynamics
- High-resolution measurements of face-to-face contact patterns in a primary school
- Estimating Potential Infection Transmission Routes in Hospital Wards Using Wearable Proximity Sensors
- Memory in network flows and its effects on spreading dynamics and community detection
- Harmony in the Small-World
- Causality-Driven Slow-Down and Speed-Up of Diffusion in Non-Markovian Temporal Networks
- Representing higher-order dependencies in networks
- Data on face-to-face contacts in an office building suggests a low-cost vaccination strategy based on community linkers
- Modeling sequences and temporal networks with dynamic community structures
- A Novel Approach for Estimating Truck Factors
- Mapping higher-order network flows in memory and multilayer networks with Infomap
- When is a Network a Network? Multi-Order Graphical Model Selection in Pathways and Temporal Networks
- Higher-Order Aggregate Networks in the Analysis of Temporal Networks: Path structures and centralities
- Efficient modeling of higher-order dependencies in networks: from algorithm to application for anomaly detection
- Evolving Collaboration, Dependencies, and Use in the Rust Open Source Software Ecosystem
- HONEM: Learning Embedding for Higher Order Networks
- HYPA: Efficient Detection of Path Anomalies in Time Series Data on Networks
- git2net - Mining Time-Stamped Co-Editing Networks from Large git Repositories
- Correlations between thresholds and degrees: An analytic approach to model attacks and failure cascades