Software Development Is a Team Sport
Developers on high-functioning teams are more productive, satisfied, and confident in their team’s ability to ship high-quality work quickly.
A well-coordinated, high-functioning team is critical to developing and delivering quality product experiences at a competitive pace. However, the field of software engineering has historically emphasized individuals when studying outcomes like productivity and velocity. Understanding these outcomes at a team or product level requires more than simply aggregating individual-level measures: Teamwork is necessary to avoid counterproductive individual efforts, and collaboration with nondeveloper roles (e.g., user experience, product) contribute meaningfully to these higher-order outcomes. To understand how individual efforts combine to determine group outcomes like productivity, we need to understand how engineers and other roles work together when creating software products. In this column, we present research undertaken to identify collaboration through observable events and assess team functioning through self-report surveys; together, these help us understand software development as a team sport.
- Claire Taylor
- Marie Huber
- Qiao Ma
- Rayven Plaza
- Alison Chang
- Jie Chen