Cooperative Learning: Connections to Agile Software Development

Chaz Ruggieri
15 min readOct 5, 2019

--

Figure 1: Five elements of cooperative learning within social interdependence theory (Johnson et al., 2007).

Professional workplaces and higher education institutions have a longstanding relationship; however, many higher education institutions are slow to adapt to the rapidly changing expectations of the 21st century workplace. Professional workplaces and higher education institutions mutually benefit from a feedback loop of expectations for students (future workforce members). Consider that 21st century workplace skills expectations are clearly communicated and regularly updated in the World Economic Forum’s list of Top 10 Skills in the workplace as described in the annual Future of Jobs Report.

Imagine if K-12 and higher education institutions adapt and modify curriculum and instruction to best support students in their learning and practice of those skills. In such a scenario, students’ development of workplace skills alongside content mastery means they get more for their time and financial investments in K-12 and higher education experiences, and workplaces get highly skilled workers who quickly acclimate.

Focusing in on the field of software development, efforts to bring workplace expectations to the classroom have begun, specifically, for adapting Agile Software Development to a classroom setting in US K-12 education (Prieto, 2016; Briggs, 2014; Peha, 2011; Robinson & Hall, 2018; https://www.agileineducation.org/), and internationally (https://www.laboratoria.la/en), to the extent that the 12 Principles of Agile Schools has been defined.

We’d like for you to consider an alternative feedback direction in which Agile workplaces assess their current expectations and practices by looking to well-established evidence-based practices in education settings. One particularly crucial aspect of the Agile Manifesto is collaboration and cooperation among and between the development team, the clients, and the users, which are the cornerstones for several of the 12 Guiding Principles of Agile, specifically:

#4 — Business people and developers must work together daily throughout the project

#5 — Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

#6 — The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

#11 — The best architectures, requirements, and designs emerge from self-organizing teams.

#12 — At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

In this article, we provide an example of the way in which Agile can learn from education research and best-practices in the classroom that are based on how people learn and productively function as a team in higher education classroom settings. We focus on the vital cooperation theme within the Agile Principles by comparing common Agile workplace practices with those from education settings using a helpful framework derived from social interdependence theory known as the Elements of Cooperative Learning.

Higher education institutions have come a long way in implementing evidence-based practices in the classroom that seek to improve students’ learning experiences as informed by how the brain works (see: Zull, 2004), typically by implementing what are known as “active-learning” techniques. Active-learning classrooms are characterized by students discussing and questioning with peers and with a facilitator on course content, embracing the social and emotional aspects of learning (see: Palincsar, 1998 and Payton et al., 2009). Furthermore, active-learning is typically compared with passive methods such as traditional lecturing during which students are largely expected to sit and listen while taking notes. The conversation among higher education class leaders is shifting from asking, “what will be covered in a class”, to learner-centered ways of instructional design that ask, “what skills and knowledge do we want students to learn and what activities will best support student learning?”.

Of growing importance in such active-learning settings are students’ development of productive teamwork skills in the learning environment that would ideally translate to their future professional workplace settings (see: Towns et al., 1998). Towards that end, a framework known as social interdependence theory from the field of educational psychology was adapted for the classroom and professional settings. Within social interdependence theory are five elements of cooperative learning (or, more generally, cooperative interactions) that have been employed as a guide for educators in their design and implementation of active-learning curriculum and teaching practices (see: Johnson et al., 2007). The five cooperative learning elements (discussed in detail below) are: (1) positive interdependence, (2) individual accountability, (3) promotive interaction, (4) group processing, and (5) conflict management.

The cooperative learning framework helps educators assess if their chosen active-learning classroom practices and expectations are engaging students in cooperation as well as the development of teamwork and communication skills. We show that this framework can be similarly applied specifically to Agile workplace expectations by assessing the alignment of current practices with the 5 elements of cooperative learning, identifying areas of improvement, and informing changes toward the overall goal of greater cooperative interactions among development teams, clients, and users.

Element 1 — Positive Interdependence:

The first and most critical element of cooperative learning is establishing positive interdependence between those who are expected to work together. This includes having shared desired outcomes, goals, or rewards, as well as shared resources and complementary group member roles. Positive interdependence can be contrasted with negative interdependence, which is more commonly known as competition, which may be productive if it exists between groups (e.g., two sports teams battling for the win), but counterproductive if it exists among members of the same group (e.g., one person keeping resources from others, competing for attention or promotion, etc.).

In academia, establishing a group grade for classwork or a project sets the common goal among group members that they earn their final grade together. Additionally, establishing competition between groups may be a productive motivator and mimics the kinds of competition that exist between competing companies in the same field.

In Agile, a project team has a shared goal of producing some software with agreed-upon functionality, design, and intended use, all of which represents their collective efforts. Group members have complementary roles and responsibilities such as project manager, tech-lead, designers, and software engineers, each of which bring unique contributions to the development of the software. Furthermore, within this team structure the tasks are distributed in such a way that each participant commensurately contributes based on their level of expertise and experience. An example that of unproductive negative interdependence among the project team is if company promotions and acclaim are dependent on individual contributions more so than the efforts and outcomes of the whole team. This situation incentivizes individuals to outperform their coworkers, potentially distracting from the group goals.

Element 2 — Individual Accountability:

The second element of cooperative learning is individual accountability, where the performance of an individual in the group is assessed and results provided to them, and each person is held responsible by their group members for contributing to the group’s shared success. An everyday example of individual accountability would be assigning chores in a household — if they’re completed, positive feedback is typically given and the household continues forward, whereas if assigned chores are neglected the individual may be made aware and given the opportunity to amend the issue.

In academia, we may assign an individual quiz at the end of an active-learning class session, or assign group roles such as questioner, scribe (writer), and timekeeper to reduce social loafing, freeloading, or disengagement — common symptoms of a class structure without individual accountability.

In Agile, this may take the form of presenting on behalf of the team’s accomplishments, leading a demonstration of the software to clients and/or users, or conducting individual performance reviews. In each case, the individual should have the opportunity to receive specific feedback and improve. Using observable language is critical as it specifies specific actions the individual can take to better align with the expectations of their role and how their role fits in with the group goals. Each group member has a purpose that is acknowledged and assessed periodically, with the overall goal of highlighting areas of improvement or growth for the individual in their future contributions to the team’s shared goals. A lack of individual accountability is evidenced by social loafing and disengagement, which can result from lack of acknowledgement of efforts and accomplishments, an overemphasis of individual faults or tasks that have yet-to-be completed, or not providing any meaningful feedback one way or another (a lack of communication).

Element 3 — Promotive Interaction:

The first two elements could be considered as the ways we design the setting in which the group is working, but we have not yet specified the ways group members interact with one-another. This is accomplished through the third element of cooperative learning, promotive interaction, which describes ways of communicating with your group members to encourage and facilitate each other’s efforts toward achieving group goals. Promotive interactions include exchanging resources, providing feedback, challenging reasoning, and providing alternative suggestions. For example, airplane pilots and co-pilots frequently interact by sharing flight tasks and information to ensure that the airplane safely executes its flight path in a timely fashion; improvisational theater group members interact on stage using body language and verbal queues to set up each other’s next lines and actions with the common goal of entertaining the audience.

In academia, we support and facilitate these interactions among students by having a given group share resources among their members such as worksheets, calculators, writing utensils, or even information. Information sharing is especially useful during tasks that are information-dense, long, or tedious; members receive separate pieces of the total information that they would then synthesize into something new or combine their information to generate a greater group mastery of the content. In situations where we have students do long or dense readings for class, the “jigsaw” activity supports promotive interactions by putting students into groups in which each member becomes an “expert” in one assigned section of the reading by specifying main points and themes. For example, group 1 would have the methods section, group 2 would have the results section, group 3 would have the discussion section, and so on. After giving time for each group to master their designated section, we rearrange the groups such that new groups each have one expert from each section of the reading. That is, one student from each of the original group 1, group 2, and group 3 come together and teach each other their parts of the reading, with the overall goal of improving their collective understanding of the paper from a variety of perspectives.

In Agile, promotive interaction may be operationalized in pair programming, in which two engineers work together to solve a problem or overcome a barrier in the code. This work includes, for example, getting real-time feedback on your efforts and having the opportunity to discuss and explore alternative solutions. Additionally, quality assurance checks and efforts empower the team to ensure the software achieves some predefined standard criteria for accessibility, functionality, and overall user experience. This is an example in which two different subgroups on a given project establish a positive feedback loop with the overall outcome being a more refined final product.

Sub-element 3a — Trust & Trustworthiness:

One subgroup of promotive interaction is trust and trustworthiness. Trust is the willingness to risk consequences by making yourself vulnerable to another person, and trustworthiness is the willingness to respond to another person’s risk-taking in a way that ensures they will experience beneficial consequences. In order to establish trust among group members, they must be both trusting and trustworthy, and the greater the trust among group members, the more effective their cooperative efforts tend to be. Everyday examples include driving cars and public transit which exemplify the mutual trust that we all want to arrive safely to our destination. We also trust our medical doctors to suggest medical interventions that seek to improve our overall health and do minimal harm.

In academia, trustworthy behavior may be arriving to class early or on-time (never late), succeeding in one’s group role, ceding control of resources to other group members, delegating group tasks, and meaningfully engaging in the assigned task. Untrustworthy behavior would be an instructor who does not adequately prepare for the day and who arrives late or finishes late and does not respect the students’ time. Additionally, untrustworthy student behavior is observed when students arrive late consistently or regularly distract themselves and others either via unproductive use of devices or irrelevant conversation.

In Agile, pair programming is a great example of trusting that a coding partner will embrace questions and admissions of struggle to support the group’s collective progress. The pair coding partner is being trustworthy by helping solve the problem or overcome the coding obstacles at hand by asking questions and providing insights and suggestions. Within the context of pair programming, untrustworthy behavior is evidenced by quick, baseless judgments of an individual’s progress, and forcing one’s opinion on how to proceed potentially due to one’s overconfidence or abuse of power/rank within the group.

Sub-element 3b — Social Skills:

Social skills and awareness include interpersonal skills such as leadership, decision-making, providing moral support, and clearly communicating with group members. It also involves the capacity to ask for or give information, help, and feedback (both positive and constructive).

In academia, structured peer editing of papers or of other individual work provides a way for students to practice these skills, as does the assignment of group roles to individual members, such as scribe (writer), skeptic (questioner), manager, and motivator. Active-learning facilitators are typically trained to watch and listen for unproductive social behaviors such as one person dominating the group conversation, unproductive arguments, assessing the emotional state of group members, and recognizing when interventions are necessary to help guide the group toward more productive social skills.

In Agile, quality assurance (QA) standards and checks clearly communicate deficiencies based on some standards, including specifying the intended end result. QA feedback also specifies how to replicate the issue that was found by the QA team. Unproductive QA feedback is evidenced by simply acknowledging a product doesn’t work as intended without communicating the desired result or how the error was observed. Such poor communication skills do not contribute to the progress of the team, and time and efforts are lost in clarifying the issue.

Element 4 — Group Processing:

Now that we’ve defined aspects of cooperative learning environments including behavior and communication expectations among group members, we move to how the group considers its overall functionality as a group. The fourth element of cooperative learning, group processing, involves periodic self-reflection on group functioning and how they may improve their learning or working processes to accomplish tasks. Group processing essentially involves the group asking itself the following three questions (sometimes referred to as a “stop-start-continue” activity): (i) what actions or behaviors are we currently doing that should be stopped, (ii) what could we start doing that will better support our success, and (iii) what are we currently doing well that we should continue doing? Professional sports teams’ time-outs are, in part, time for the team to consider those three questions. Town hall meetings or public forums also exemplify group processing, during which community leaders give and receive feedback on their functionality as a leadership group or as a whole community, and consider changes to their practices or behaviors as they plan to move forward. Couples’ counseling and family therapy provide opportunities for open discussion of behaviors or actions that could be altered to improve relationships and households.

In academia, we use group reflection rubrics activities in which groups of students are supplied with rubrics that describe the functionality of the group in several dimensions, such as their abilities to provide feedback to one-another, ask questions, build on the ideas of one-another, share speaking turns, awareness of emotional state of the group, and more. Research has suggested that groups with high collective intelligence exhibit two features: equitable speaking turns, and social sensitivity, both of which can be addressed with such rubrics during group processing activities (see: Woolley et al., 2010 and Woolley et al., 2015).

In Agile, group processing is evident in standup and retro activities. Standup is a short (30 seconds or less) daily check-in on what each individual in the group is working on and if/how they need help that day. This daily activity is a mix of individual accountability and group processing in that each team member reports out on progress has been made, what the plans are for that day’s activities, and clearly communicating the resources required for the individual to achieve those planned goals. Retro is a deeper reflection on the past few weeks of work, openly discussing what went well, what didn’t go well, and what changes should be made to help support progress. In retro, the focus is on the group’s progress rather than the individual, including factors such as client and user feedback and how the group can move forward toward better aligning with those goals. Individuals are encouraged to provide ideas for changes in process to better navigate the constraints and more effectively work towards the group’s goals.

Element 5 — Conflict Management:

The final element of cooperative learning that we’ll discuss here is the ability of the group to manage conflicts that emerge within the group. We consider two types of conflict: group controversy and conflicts of interest. Group controversy is more simply described as a disagreement among group members due to differing information, perceptions, or opinions. For example, a group may disagree on the next steps to take toward accomplishing a task. Whereas a conflict of interest is when one person in the group strives to achieve their own goals and actively interfere and obstruct the actions of other group members striving to achieve the group goal.

Conflicts can be managed constructively or destructively depending on the way the controversy is managed and level of interpersonal and social skills of the group members. When the conflict is managed constructively, the group members experience uncertainty about the correctness of one’s own views (i.e., opening up to other perspectives), seek out more information, reform one’s knowledge and subsequent conclusions, and achieve greater mastery of the task or content at hand and having a more balanced judgment on the issue. Everyday (and somewhat mundane) examples include choosing where to go to dinner, or what to wear to a dinner or event, which, in some households, can cause great controversy.

In academia, a group may experience such conflict in deciding group roles that day, disagreements on what steps to take in a laboratory activity, complaints of a group member freeloading off other group members, or identifying someone in the group who consistently overpowers other members. Specifically for cases of misbehavior, the FICA acronym (Facts, Impact, Context, Actions) may be applied during one-on-one meetings with the group member who appears to be most closely linked to the conflict. In such an interventional meeting, we first discuss the Facts, or observations of what specific actions the person is taking that disrupt the group. Then the Impact those actions have on others and one themselves is addressed, followed by the overall Context of this person’s typical behavior (i.e., do they regularly disrupt the group or is this a one-time occurrence). Lastly, suggested Actions are proposed that the person and/or the group can take to address the conflict and move forward. This element of cooperative learning is typically not an expectation of students, but rather an expectation of the facilitator of the classroom.

In general for conflict management, not necessarily specific to Agile, group conflict may typically be managed by a group manager and/or by human resources, however in some cases the group may be expected to manage the conflict among themselves perhaps with some guidance. More specifically within Agile, disagreements on how to move forward might emerge during retro, which would then be a topic of discussion until a consensus is reached. This consensus may be achieved by preparing and articulating arguments for a particular path forward, discussing multiple perspectives, achieving consensus on how to move forward, and specifying actions to take. Anecdotally, individual issues that are internalized tend to fester, whereas setting the expectation that grievances are openly communicated transforms the issue to a group goal to be tackled by all members, distributing the burden and effort.

Concluding Message:

Agile provides a number of observable ways in which we can productively work together in software development. Agile implementations benefit from looking to evidence-based practices in education for guidance, assessing current practices to better align with findings from education research, cognitive science, and social psychology. The comparison of the 5 Elements of Cooperative Learning to Agile is just one example of how evidence-based practices in education can be used to illustrate both productive and unproductive expectations, standards, and interactions in the workplace. Workplaces adopting an Agile framework and providing explicit support for cooperation among team members as-informed by the 5 Elements of Cooperative Learning may very well lower the barriers new workers experience when adapting to the 21st century workplace, improving the chances for individual and group success. Furthermore, education research, cognitive science, and social psychology provide lenses to explain why Agile is so prevalent and successful as a framework for group interactions in the workplace. Better appreciating why Agile is successful empowers practitioners to reflect on areas of improvement and build upon those activities and expectations which are most productive. This comparison of the 5 Elements of Cooperative Learning with the expectations of Agile illustrates that a feedback loop between industry and academia is mutually beneficial, and the 21st century workforce would benefit from further exploration of such connections.

About the Authors

Leigh Passamano is a web developer at a custom software consulting firm in Center City Philadelphia. Before switching careers, Leigh worked as an arts administrator at a feminist arts organization and has an MA in Cultural Heritage and Historic Preservation from Rutgers, The State University of New Jersey.

Charles (“Chaz”) Ruggieri is an assistant professor in the Department of Physics and Astronomy and the Office of STEM Education at Rutgers, The State University of New Jersey with a research focus in physics education. Chaz earned his Ph.D. in surface and interface physics from Rutgers in 2016, and conducted postdoctoral research in physics education at Rutgers from 2016–2018.

--

--

Chaz Ruggieri

Charles (“Chaz”) Ruggieri is an Assistant Professor of Professional Practice in the Office of STEM Education and the Department of Physics and Astronomy.