This page is intended to serve as a living document containing resources on team learning and scientific software.

The content on these webpages is based, in part, on proposals developed by workshop participants. It is informed by the expertise and experience of this group in addition to existing theoretical and empirical work on the associated topics. The content presented here will be updated and refined over time based on emerging work on team learning in collaborative scientific software projects.

New sections and subsections are planned as continuations and extensions of proposals developed at the TL4BSSw workshop. Additionally, contributions from individuals and collectives with expertise in this area of work are welcome. If you are interested in contributing and/or opportunities to connect with the TL4BSSw workshop group, please contact Olivia Newton via email onewton[at]sigsoft.org.

Content is organized below by section. Click on section headings to expand and view content.

Team learning

"The acquisition of knowledge, skills, and performance capabilities of an interdependent set of individuals through interaction and experience [...] a team-level property that captures the collective knowledge pool, potential synergies among team members, and unique contributions." (Kozlowski & Ilgen, 2006)

The focus of this work is on the processes and behaviors of team members which reflect learning at the group level. A number of definitions are offered in the literature which emphasize the sharing, integrative, and reflective processes that constitute team learning. Although a single definition is provided above, a set of definitions is collected and available at this link.

Team learning has been found to be a significant predictor of team performance and affects perceptions of collaboration. Members of team perceive team learning as important for performance (Savelsbergh et al., 2010), and the opportunity to learn itself motivates researchers to participate in interdisciplinary collaborations (Lotrecchiano et al., 2023; Tkachenko & Ardichvili, 2020). In interdisciplinary teams, learning is linked to the perceived effectiveness of collaborations (Lorenzetti et al., 2022).

To support team performance and software outcomes, it is important to measure and evaluate how teams engage in learning throughout their collaboration. A number of instruments have been developed to measure team learning. These measures are available at this link. These measures are based on varying conceptualizations of team learning and thus capture a variety of processes and behaviors.

The majority of these measures have been developed to assess team learning across different types of teams. In other words, these measures have not been developed with the specific needs or requirements of scientific software teams in mind. Furthermore, temporal aspects of team learning are not well understood and remain understudied (Wiese & Burke, 2019). In the Team learning for better scientific software section below, guidance on team learning for this domain and across project stages is offered.

Scientific software

"Software with a large computational component. Further, scientific software is usually developed by multidisciplinary teams made up of scientists and software developers." (Kanewala & Bieman, 2014)

"Software that aids in research, testing or design of scientific models that are used to explain and predict the behavior of real objects or systems in a variety of scientific disciplines." (Shakya et al., 2020)

We adopt the definitions of scientific software which are provided above. As the definitions suggest, scientific software encompasses many different types of software which are developed and/or used to carry out scientific work. We draw attention to the following components of these definitions: collaboration across disciplines; computational requirements; and scientific goals. Greater elaboration on the group's perspectives on scientific software are offered in the Why scientific software and why now? and What makes teams in scientific computing unique? subsections below.

Why scientific software and why now?

The landscape of science and software is changing such that there is now a growing need (and more opportunities) to explore the collaborative development and use of scientific software. Technological advances and complex computation have created a significant need for this research. The demand for scientific software is greater than ever, and what 'used to work' doesn't necessarily work anymore. The shift towards open science, data, and code, and associated values, has also contributed to the need to improve scientific software. Along with the increasing reliance on collaborative rather than independent work, teams are increasingly multidisciplinary, even if in just one scientific domain, and they focus on addressing large, complicated, and multi-dimensional problems. In sum, greater openness, greater complexity, and greater interdisciplinarity have enabled the emergence and growth of this area.

What makes teams in scientific computing unique?

We contend that teams in scientific computing can and should be differentiated from traditional scientific teams and software development teams. Unique characteristics of scientific software projects and teams include, but are not limited to, differences in:

  • Team member education and training
  • Integration of academic work
  • Scientific focus of project goals
  • Requirements for scientific software
  • Funding landscape

Team learning for better scientific software

In this section, guidance and recommendations are offered to support team learning in service of improving team performance and software outcomes. Checklists for sections are currently in development.

Team learning across stages of collaboration
Team learning during team formation

Drawing from conceptualizations of team development, we suggest that a subset of team learning processes and behaviors are of particular importance in the team formation stage. During team formation, group members build interpersonal knowledge and develop a team orientation. This includes establishing "rudimentary" knowledge structures (i.e., shared mental models and transactive memory systems; Kozlowski et al., 1999; Fiore & Georganta, 2017). In this phase, team learning processes for exploration, information sharing, and information management are identified as a critical foundation for collaboration effectiveness and software quality.

  • Exploration processes include, for example, the identification and understanding of all relevant shareholders, not just those represented in the team at the time of its formation (e.g., domain scientists, computer scientists, middleware engineers, impacted communities).
  • Information sharing processes include, for example, the delivery of, exposure and access to fundamental information about the problem domain in addition to the desired outcomes and goals for each shareholder group.
  • Information and knowledge management processes include, for example, the development of a plan and timeline for curation of resources in addition to identification of shareholder needs and access to information over the course of the project.

Ultimately, following team formation, there should be a shared understanding of member proficiencies, knowledge gaps, challenges to learning, and opportunities for learning. While undertaking the aforementioned processes is important during this phase of collaboration, it is insufficient for assessing and facilitating team learning processes over the project lifetime. It is therefore necessary to foster a safe team culture and develop a strategy for team learning, including the coordination of team learning sessions and the operationalization of learning tools. Furthermore, it is necessary to define what constitutes effective learning and performance in the team. This may include the use of iterative and continuous feedback methods and debriefing sessions, the evaluation of tool accessibility and efficacy, and solicitation of external assessments. From these approaches, interventions can be designed and customized based on team and project needs.

Team learning following conflict

Planned section

AI for team learning
Supporting team Learning processes

Advances in artificial intelligence (AI) technologies can potentially be leveraged to support team learning. For example, exploration processes may involve the utilization of AI for information search. Here the idea is to identify opportunities where AI tools and agents can facilitate team learning.

A framework for AI in teams

Planned section

Team learning in multiteam systems
Multiteam integration

Scientific software projects and products can and often do span multiple teams and organizations. These multiteam systems, or teams of teams, maintain an overarching shared goal while also working towards their team goals and team task completion. Multiteam systems have a number of characteristics which differentiate them from teams and alter the way they learn, including their organization, responsiveness, leadership, communication, development, and performance (Sessa et al., 2019). The following actions are identified as a means to support team learning in component teams and across the multiteam system:

    ✓ Define and understand the complexity of the problem to be solved (i.e., make complexity explicit)
    ✓ Identify opportunities and constraints
    ✓ Identify who is is involved in terms of expertise and roles
    ✓ Establish a shared timeline for project completion
    ✓ Define project leadership and management roles that require interdisciplinary knowledge and proficiency
    ✓ Implement team cohesion initiatives while respecting diverse circumstances and sociocultural backgrounds
    ✓ Create artifact that captures multi-team expertise (e.g., an interactive visual representation of multi-team collaboration)