Using the Model of Regulation to Understand …ulary for comparing and analyzing collaboration...

17
Using the Model of Regulation to Understand Software Development Collaboration Practices and Tool Support Maryi Arciniegas-Mendez, Alexey Zagalsky, Margaret-Anne Storey, Allyson F. Hadwin University of Victoria Victoria, BC, Canada {maryia, alexeyza, mstorey, hadwin}@uvic.ca ABSTRACT We developed the Model of Regulation to provide a vocab- ulary for comparing and analyzing collaboration practices and tools in software engineering. This paper discusses the model’s ability to capture how individuals self-regulate their own tasks and activities, how they regulate one another, and how they achieve a shared understanding of project goals and tasks. Using the model, we created an “action-oriented” in- strument that individuals, teams, and organizations can use to reflect on how they regulate their work and on the various tools they use as part of regulation. We applied this instru- ment to two industrial software projects, interviewing one or two stakeholders from each project. The model allowed us to identify where certain processes and communication chan- nels worked well, while recognizing friction points, commu- nication breakdowns, and regulation gaps. We believe this model also shows potential for application in other domains. Author Keywords Collaboration; Theory; Regulation ACM Classification Keywords H.5.3 Group and Organization Interfaces: Computer- Supported Collaborative Work INTRODUCTION Software engineering involves the shared expertise and ef- fort of multiple stakeholders. It is a highly collaborative ac- tivity that brings different people together to produce some- thing better than any participant could conceive of or produce alone [24]. While software development emphasizes the cre- ation of software assets, we recognize that the way individu- als and teams learn to create, capture, collaborate, and manip- ulate domain artifacts, such as source code or specialized de- velopment tools, is an important contribution in its own right. The tools used in software development can significantly im- pact the success of a project and influence how developers learn and work together. For these reasons, practitioners and Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full cita- tion on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or re- publish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]. CSCW ’17, February 25-March 01, 2017, Portland, OR, USA © 2017 ACM. ISBN 978-1-4503-4335-0/17/03. . . $15.00 DOI: http://dx.doi.org/10.1145/2998181.2998360 researchers have proposed the creation of or improvements to novel tools such as task trackers, configuration management systems, and lightweight messaging tools [26, 14]. Recent studies [42] have found that developers use a rich and com- plex constellation of communication and social tools in addi- tion to their development tools. However, some researchers argue that the tools developers use still do not adequately sup- port collaboration: collaboration features have been added to many tools as complementary components when they should be at the core of the tool’s functionality [8]. Numerous empirical studies have tried to understand devel- oper work practices and uncover models, theories, and frame- works that can be used to describe how developers collabo- rate and to help improve their tools. However, these models do not adequately capture how development team members “regulate” themselves, one another, and their projects. We borrow the term “regulate” from the learning sciences to refer to mindful processes developers engage in to determine what tasks they need to complete and who should be involved, what their goals are relative to those tasks, how they should meet their goals, what domain knowledge needs to be manipulated, and why they use a particular approach or tool. Software engineering also involves dynamic informal learning where participants, guided by their various interests, engage in task coordination and the co-construction of knowledge. How this multidimensional phenomena takes place needs to be investi- gated. In this work, we compose a model—the Model of Regulation—to capture how individuals self-regulate their tasks, knowledge and motivation, how they regulate one an- other, and how they achieve a shared understanding of project goals and tasks. We use this model to uncover regulation work practices and understand why and how people use tools to support regulation. The Model of Regulation borrows con- structs from the learning sciences and computer supported collaborative learning literature (CSCL) [17, 15, 30] and adapts them for the software engineering domain. Our goal in this paper is to describe a theoretical frame- work of regulation for gaining actionable insights on the con- straints and affordances of collaboration practices and tools. First, we discuss existing models of collaboration that have been applied to software engineering and motivate the need for the Model of Regulation. We describe the modes of reg- ulation in collaborative development (self-, co-, and shared regulation), the processes of regulation (Task Understanding, Session: Models & Language in Work & Investment CSCW 2017, February 25–March 1, 2017, Portland, OR, USA 1049

Transcript of Using the Model of Regulation to Understand …ulary for comparing and analyzing collaboration...

Page 1: Using the Model of Regulation to Understand …ulary for comparing and analyzing collaboration practices and tools in software engineering. This paper discusses the model’s ability

Using the Model of Regulation to Understand SoftwareDevelopment Collaboration Practices and Tool Support

Maryi Arciniegas-Mendez, Alexey Zagalsky, Margaret-Anne Storey, Allyson F. HadwinUniversity of VictoriaVictoria, BC, Canada

{maryia, alexeyza, mstorey, hadwin}@uvic.ca

ABSTRACTWe developed the Model of Regulation to provide a vocab-ulary for comparing and analyzing collaboration practicesand tools in software engineering. This paper discusses themodel’s ability to capture how individuals self-regulate theirown tasks and activities, how they regulate one another, andhow they achieve a shared understanding of project goals andtasks. Using the model, we created an “action-oriented” in-strument that individuals, teams, and organizations can useto reflect on how they regulate their work and on the varioustools they use as part of regulation. We applied this instru-ment to two industrial software projects, interviewing one ortwo stakeholders from each project. The model allowed usto identify where certain processes and communication chan-nels worked well, while recognizing friction points, commu-nication breakdowns, and regulation gaps. We believe thismodel also shows potential for application in other domains.

Author KeywordsCollaboration; Theory; Regulation

ACM Classification KeywordsH.5.3 Group and Organization Interfaces: Computer-Supported Collaborative Work

INTRODUCTIONSoftware engineering involves the shared expertise and ef-fort of multiple stakeholders. It is a highly collaborative ac-tivity that brings different people together to produce some-thing better than any participant could conceive of or producealone [24]. While software development emphasizes the cre-ation of software assets, we recognize that the way individu-als and teams learn to create, capture, collaborate, and manip-ulate domain artifacts, such as source code or specialized de-velopment tools, is an important contribution in its own right.

The tools used in software development can significantly im-pact the success of a project and influence how developerslearn and work together. For these reasons, practitioners and

Permission to make digital or hard copies of all or part of this work for personal orclassroom use is granted without fee provided that copies are not made or distributedfor profit or commercial advantage and that copies bear this notice and the full cita-tion on the first page. Copyrights for components of this work owned by others thanACM must be honored. Abstracting with credit is permitted. To copy otherwise, or re-publish, to post on servers or to redistribute to lists, requires prior specific permissionand/or a fee. Request permissions from [email protected].

CSCW ’17, February 25-March 01, 2017, Portland, OR, USA

© 2017 ACM. ISBN 978-1-4503-4335-0/17/03. . . $15.00

DOI: http://dx.doi.org/10.1145/2998181.2998360

researchers have proposed the creation of or improvements tonovel tools such as task trackers, configuration managementsystems, and lightweight messaging tools [26, 14]. Recentstudies [42] have found that developers use a rich and com-plex constellation of communication and social tools in addi-tion to their development tools. However, some researchersargue that the tools developers use still do not adequately sup-port collaboration: collaboration features have been added tomany tools as complementary components when they shouldbe at the core of the tool’s functionality [8].

Numerous empirical studies have tried to understand devel-oper work practices and uncover models, theories, and frame-works that can be used to describe how developers collabo-rate and to help improve their tools. However, these modelsdo not adequately capture how development team members“regulate” themselves, one another, and their projects. Weborrow the term “regulate” from the learning sciences to referto mindful processes developers engage in to determine whattasks they need to complete and who should be involved, whattheir goals are relative to those tasks, how they should meettheir goals, what domain knowledge needs to be manipulated,and why they use a particular approach or tool. Softwareengineering also involves dynamic informal learning whereparticipants, guided by their various interests, engage in taskcoordination and the co-construction of knowledge. How thismultidimensional phenomena takes place needs to be investi-gated.

In this work, we compose a model—the Model ofRegulation—to capture how individuals self-regulate theirtasks, knowledge and motivation, how they regulate one an-other, and how they achieve a shared understanding of projectgoals and tasks. We use this model to uncover regulationwork practices and understand why and how people use toolsto support regulation. The Model of Regulation borrows con-structs from the learning sciences and computer supportedcollaborative learning literature (CSCL) [17, 15, 30] andadapts them for the software engineering domain.

Our goal in this paper is to describe a theoretical frame-work of regulation for gaining actionable insights on the con-straints and affordances of collaboration practices and tools.First, we discuss existing models of collaboration that havebeen applied to software engineering and motivate the needfor the Model of Regulation. We describe the modes of reg-ulation in collaborative development (self-, co-, and sharedregulation), the processes of regulation (Task Understanding,

Session: Models & Language in Work & Investment CSCW 2017, February 25–March 1, 2017, Portland, OR, USA

1049

Page 2: Using the Model of Regulation to Understand …ulary for comparing and analyzing collaboration practices and tools in software engineering. This paper discusses the model’s ability

Goal Setting, Enacting, Monitoring & Evaluating, Adapting),and present a classification system for tools based on theirsupport for regulation (e.g., Awareness Tools and GuidingSystems). To describe the Model of Regulation, we use il-lustrative examples from modern collaborative software en-gineering projects and tools.

We also introduce a regulation instrument based on the Modelof Regulation—a set of questions that an individual on ateam-based software project can answer to help reflect on howthey and their team members regulate their work and the var-ious tools they use to support their work practices. Throughthis questionnaire, the Model of Regulation can be used byboth researchers and practitioners as a lens for understand-ing collaboration practices in a project and identifying howwell certain tools, processes, and communication channelswork, as well as for recognizing friction points, communi-cation breakdowns, and regulation gaps.

This paper showcases the regulation instrument by applyingit to two industrial software projects: using the instrumentquestions as an interview guide, we interviewed stakeholdersto learn more about their regulation practices and tools. Weshow how the instrument (and indirectly, the model) can beused to tell a “story” of the regulation processes in a project.We also discuss how the instrument helped our intervieweesreflect on their regulation practices and tools and how theycould improve them. Our findings lend support for the the-oretical framework as a means for diagnosing, documenting,and guiding collaborative work practices and tool design forresearchers and practitioners.

BACKGROUNDUnderstanding collaboration and how it can be improved withmore effective processes and tools has been a longstandingchallenge in software engineering practice and research. In-deed, there are many different frameworks and models ofcollaboration, each of which considers different contexts andviewpoints and plays an important role in describing collab-oration processes. For example, MoCA [27] is a conceptualframework for characterizing the underlying context wherecollaboration takes place, however, this focus on understand-ing the context (such as size of the group) does not bringinsights on how collaboration occurs nor how it can be im-proved.

In the following, we discuss some of the more popular modelsthat have been or could be applied to the software engineeringdomain with the purpose of describing and improving collab-oration. We review models that are technology-centric, fol-lowed by a review of models that focus on characterizing theprocesses and participants involved. (Note that an extendedreview of these models is provided in a thesis [1].) We thenpropose how our Model of Regulation can complement theexisting models and why it is an important contribution.

Technology-centric collaboration modelsIn the early days of CSCW, the emphasis was on designingtools needed to support collaboration rather than on under-standing practices or developing theories [2]. Thus it is notsurprising that the first models were focused on classifying

systems and tool features. During this time, the term group-ware was coined and frequently used to describe collaborativetechnologies [10].

One of the most widely used taxonomies to classifygroupware—which was proposed by the CSCW researchcommunity—is Johansen’s time-space matrix [23]. He sug-gested that all collaboration technologies can be classified ontwo dimensions: time and space. The space dimension can becollocated or distributed, while the time dimension can repre-sent synchronous or asynchronous communication. This ma-trix was later considered to be incomplete and attempts weremade to extend it by adding predictability [12] and additionalspace dimension states [6].

In the software engineering domain, Cook’s 2004 work [4] re-viewed existing collaboration tools and classified them basedon their support for design, development, management, andinspection. In 2007, Whitehead [46] introduced a tool clas-sification with four categories: model-based collaborationtools (for creating models and artifacts for the different phasesof the software development life cycle), process support tools(process-centered software development), awareness tools(informal information), and collaboration infrastructure orcollaborative development environments.

Striving to understand collaboration through tools was a goodinitial step, however, collaboration is a complex activity thatcannot be improved by just upgrading technologies. It is alsodifficult to productively collaborate when what collaborationconsists of is still undefined. Moreover, as software devel-opment has become more distributed and dynamic, the com-munity has experienced a proliferation of technologies—wenow have such a vast array of computer-based tools that it ishard to list and even more challenging to classify them giventheir hybrid and changing nature. Nowadays, understandinghow developers collaborate by considering the tools they useis similar to trying to understand how a chef cooks by review-ing the tools used in a modern high-end kitchen.

The inadequacy of using technology-centric approaches tounderstand collaboration was noticed by researchers whothen tried to understand collaboration from a more process-centric approach. We describe these models next.

Towards characterizing collaboration processes and par-ticipantsAs far back as 1991, Ellis et al. [10] investigated computer-supported group interactions and suggested three key ar-eas that require attention when studying collaborative work:Communication, Collaboration, and Coordination. Theiranalysis provided the basis for a widely used framework: the3C Model. In this model, Communication refers to the ex-change of knowledge within a group and allows for the co-ordination of group tasks. Coordination refers to the aware-ness of and agreements made regarding tasks to be completedthrough team interactions, as well as any overhead (e.g., plan-ning) that is necessary for the Collaboration effort itself [10].Later, Gerosa et al. [11] suggested that the 3C Model beamended to include Awareness: “an understanding of theactivities of others, which provides a context for your own

Session: Models & Language in Work & Investment CSCW 2017, February 25–March 1, 2017, Portland, OR, USA

1050

Page 3: Using the Model of Regulation to Understand …ulary for comparing and analyzing collaboration practices and tools in software engineering. This paper discusses the model’s ability

activity.” [7] Although the 3C Model has been used primar-ily to evaluate collaboration tools in software development(e.g., [46, 31, 39]), it represents one of the first approachesallowing for an analysis of collaboration processes.

Van der Hoek et al. [44] explored the notion of ContinuousCoordination for leveraging the benefits from both formal(process-based) and informal (awareness-based) approaches.The underlying principle is that humans cannot and must nothave their method of collaboration dictated, but instead theyshould be flexibly supported with formal and informal toolsthat they can use as they see fit.

Collaboration has also been studied extensively in free andopen source projects. Crowston et al. [5] investigated howto improve work team effectiveness through the applicationof Continuous Coordination principles and the alignmentof task dependencies, team structures, resources, tool sup-port, and actors. Additionally, Crowston et al. emphasizedthat additional work is sometimes required to deal with co-ordination issues. Likewise, Scacchi’s [36] study of fourOSS communities highlighted eight informal practices thatare key for developing in OSS and showed how they are dif-ferent from traditional software development. Other studiesof FOSS projects have described development processes [37]as well as investigated conflict resolution and strategies forpromoting collaboration in the GNU enterprise project [9]and Netbeans.org community [22]. These findings go beyondOSS as commercial projects and organizations have startedadopting OSS-like practices and workflows [25]. Moreover,Kalliamvakou et al. found that industrial developers also useGitHub pull requests as critical coordination points betweenindividual work and their team [25].

Olson and Olson [32] suggested that distributed teams shouldbe explored from three different levels: the individual, themanager, and the organization. This distinction betweenindividual and team and the importance of the individual’srole in a collaborative effort was further emphasized by WattsHumphrey, a software engineer who developed the PersonalSoftware Process (PSP) to provide structure to and increasequality in the work of an individual developer [18, 19]. PSPeventually became the foundation for the Team Software Pro-cess (TSP), an adaptation of the framework aimed to provideguidance for development teams while maintaining high pro-ductivity and quality [20]. One of the main strengths of thismethodology is its applicability: it provides structured sup-port for development activities by recommending methodsand metrics that allow performance to be analyzed and quan-tified. However, this methodology focuses on the improve-ment of productivity and quality through quantitative meth-ods, not on the analysis or understanding of collaboration.

Motivation for using a “regulation lens” to study collabo-ration in software developmentCollaboration is a complex activity that involves multiplecomponents. To describe and analyze collaboration, we muststudy the tasks involved (what is being done), the participantsin the activity (who is interacting), the methods and strategiesused to achieve the goals (how participants collaborate), and

the knowledge that is manipulated, refined, and created bythe collaborative activity. Moreover, we need to understandthe motivations that drive the participants’ intent (why partic-ipants do what they do).

Studying only a subset of these collaboration components isnot comprehensive enough to understand the phenomena. Forexample, the Transactive Memory System (TMS) approachcan be used to explain how people who perform activitiestogether (e.g., family members, teammates, organizations)create a shared store of knowledge [45]. TMS effectivelyhelps one make sense of how teams manipulate and createknowledge [49], [28], however, it emphasizes the cognitiveaspects at the expense of other components of collaboration,such as the motivation for using certain tools or practices.Likewise, the 3C Model, the Continuous Coordination frame-work, and the PSP and TSP approaches presented earlier em-phasize activities, methods, and participants, but do not studythe knowledge shared and the participants’ motivations. Sim-ilarly, other models of collaboration focus only on a subset ofcomponents, arriving at a partial understanding of collabora-tion.

One important aspect of collaboration that is not sufficientlyconsidered by other models is learning, both in terms ofthe assets to be created and how tasks and collaboration ac-tivities are conducted. Learning—or the appropriation ofknowledge—is enabled not only by formal learning wherespecific goals are set (e.g., taking courses, reading books),but also by informal learning where knowledge is acquiredthrough impromptu processes and ongoing participation (e.g.,learning by experience). Continuous learning is facilitatedby the way we regulate our past experiences and interpreta-tion of the context, which allows us to see the results of ourcurrent actions and make strategic decisions to achieve ourgoals. Software engineering projects are informal learningenvironments and a particularly salient context for the emer-gence of regulation because they often involve multiple dis-tributed stakeholders, their evolution is fluid and flexible, andthey challenge conventional notions of a fixed or externallydefined goal or product. For this reason, regulation is essen-tial for success when managing multiple goals, integratingcode development in cohesive ways, documenting intent andexplaining progress, and maintaining awareness of personaland collective activity.

We propose that concepts from the learning sciences’ theoryof regulated learning offer a new and promising perspectivefor collaboration in software engineering. Regulation is mul-tifaceted as it not only refers to the tasks involved and theirparticipants, but it also refers to the methods and strategiesused, the knowledge manipulated, and the motivations for theparticipants’ actions. We argue that it is important to un-derstand how individuals and teams regulate—plan, monitor,evaluate, and adapt—their activities in order to improve theirprocesses and tools. Next, we describe the Model of Regula-tion and its application to the software engineering domain.

Session: Models & Language in Work & Investment CSCW 2017, February 25–March 1, 2017, Portland, OR, USA

1051

Page 4: Using the Model of Regulation to Understand …ulary for comparing and analyzing collaboration practices and tools in software engineering. This paper discusses the model’s ability

THE MODEL OF REGULATION FOR SOFTWARE ENGI-NEERINGThe Model of Regulation builds on the “theory of regulatedlearning” which contains concepts for understanding howlearners strategically appropriate knowledge in their learningactivities [47]. According to this theory, regulation is a keycomponent of the learning process as it concerns how peoplemake strategic decisions in the face of change. Changes canbe either external (an activity has not provided the expectedresults) or internal (new ideas on how to approach a task haveemerged), and they trigger an action that an individual mustrespond to strategically. Regulatory episodes occur in phaseswhen people attempt to understand a task, set goals, performstrategic actions or engage in a task, and adapt their currentand future work. These phases are described by Winnie etal. [47, 48] as processes that support regulated learning (suchas Task Understanding and Goal Setting).

As people tend to learn together as well as contribute to com-mon projects, the study of regulated learning was extendedto collaborative settings by Hadwin et al.’s [15] investigationof the modes of regulation beyond self-regulation. Whilelooking into these social forms of regulated learning (co- andshared), Hadwin and colleagues found that individuals lackthe skills required to regulate themselves, which prevents agroup’s collaborative potential from being fulfilled [16, 21].This work has led to an increased focus on harnessing tech-nology and tools to guide and support individual and groupregulated learning processes in order to help people be moreproductive and meet their goals. In particular, Hadwin andcolleagues introduced a tool classification system that labelsa tool’s support for regulation [16, 21].

We introduce the Model of Regulation and describe how itcombines the modes of regulation, regulation processes andregulation tool support, and how these components work to-gether to activate regulation. Moreover, we propose that theModel of Regulation helps document the collaboration lifecycle and can be used to compose a prescription for produc-tive work. In particular, the model provides a vocabulary forthe different processes and strategic decisions required in acollaborative activity, and includes a sequential guide thatsuggests the order in which these items should occur.

The Model of Regulation presented in this paper wentthrough several iterations as we applied it to an earlier studythat attempted to describe the collaboration experienced bythe Neo4J open source development community1. During thistwo-phase case study, we analyzed Neo4J’s three main com-munication channels—GitHub, Stack Overflow, and GoogleGroups—for traces of regulation over a four-month period.We do not discuss the Neo4J case study in this paper becauseits goal was to gain an understanding of how users regulate anopen source development project, not to evaluate the model.Yet the case study helped expose the model’s applicability tosoftware engineering (and gaps) so we could adapt its pro-cesses. This paper presents the adapted model, while detailson the case study are presented in a thesis [1].

1http://neo4j.com/open-source-project

In the following, we discuss the learning sciences constructsthat led to the Model of Regulation and the adaptations thatwere made in order to cover all possible units of collaborationthat one sees in modern development (e.g., software engineer-ing teams, projects, organizations, and communities). Later,we discuss how these concepts have evolved from the learn-ing sciences to the software engineering domain, showcasingexamples to illustrate how the Model of Regulation can beapplied in software engineering.

Before describing the components of the model, it is impor-tant to note the following points about regulation:

1. Regulation is multifaceted. It is not just about behav-iors/actions, it is also about perceptions of behavior, know-ing, motivations, climate, etc.

2. Regulation assumes human agency. Individuals and teammembers exercise their capacity to make choices abouttasks, situations, and other factors (e.g., teammates).

3. Regulation is a cyclical adaptation where a set of contin-gencies (goals, plans, actions) shift and evolve over timein response to people monitoring and evaluating them-selves and others. When challenging situations arise, peo-ple strive to adjust and optimize success, drawing from arange of internal and external resources (e.g., people, tools,technologies).

4. Regulation draws from our socio-historical past. We arenever a blank slate—we bring knowledge and mental mod-els of tasks, tools, domains, and teams to new work situa-tions, and these beliefs continue to develop over time.

5. Regulation is socially situated and involves a dynamic in-terplay between tasks, contexts, people, and communitiesthat create and constrain opportunities for planning, doing,and reflecting on what we do.

Modes of regulationThe Model of Regulation includes three modes of regulation:self-regulation, co-regulation, and shared regulation.

Self-regulation refers to an individual’s processes with re-spect to a task. For instance, if a developer is trying to fix abug, one strategic decision they face is to decide if they aregoing to understand the nature of the bug by consulting thelogs or looking directly at the source code. In a collaborativesetting, self-regulation is always required but is insufficientby itself. When collaborating, participants must make indi-vidual efforts towards a common goal—each person definestheir own assessment of the problem at hand and the possi-ble solutions. However, social processes are also required toachieve consensus and unified agreement, gradually refiningeach other’s perceptions and leading to a shared understand-ing among members.

When exercised by participants, co-regulation refers to therecognition of each other’s perspectives and the alignmentof ideas regarding the tasks to be completed. However, co-regulation is afforded and constrained by the complete socialcontext, including people, tools, technologies, and practices.

Session: Models & Language in Work & Investment CSCW 2017, February 25–March 1, 2017, Portland, OR, USA

1052

Page 5: Using the Model of Regulation to Understand …ulary for comparing and analyzing collaboration practices and tools in software engineering. This paper discusses the model’s ability

When collaborating, this mode of regulation indicates how in-dividual strategic responses are modeled by the participants’interactions within the social context. It should be noted thatthe term “participant” is used here as a reference to a mem-ber of the group regardless of their role or their location in thepersonnel hierarchy. The purpose of co-regulation is to pro-vide temporary meta-cognitive support for planning, monitor-ing, and evaluating, where individual team members or entiregroups support or influence the regulation processes for oneor more members [33, 17]. For instance, discussions amongdevelopers can help detect individual misunderstandings re-garding a task or can help improve individual work plans.Continual dialog between users and developers can preventthe creation of false expectations about a product and keeppeople updated about the latest use cases.

Finally, shared regulation involves joint control of a taskthrough shared (negotiated), iterative fine-tuning of cognitive,behavioral, motivational, and emotional conditions/states asneeded. Strategic decisions within this scope are intendedto affect the group as a unit, for example, when a participantsuggests the creation of a shared calendar to facilitate meetingscheduling and other members reply with approbatory com-ments that contribute to further development of the initiative.

The mode of regulation active at a given time is defined bythe executed action. For instance, when the purpose is toaffect one’s processes, self-regulation is in play. If individ-ual processes remain the target but the action is initiated byother participants, then co-regulation is taking place. If thedesire is to realign or adapt joint processes and the action iscollectively promoted by members, shared regulation is in-volved. The relationships between the three modes of regu-lation (self-, co-, and shared) are bidirectional, as depicted inFig. 1. Good self-regulatory skills contribute to richer expe-riences in the collaborative context, and co- and shared reg-ulation are social processes that also provide feedback aboutindividual regulation [34].

Figure 1. Modes of regulation in the Model of Regulation.We note that regulation is experienced during every aspect ofcollaboration, so it is likely that participants engage in multi-ple cycles of regulation during a collaborative activity. Regu-lation can be applied to behavior (e.g., strategic actions, goals,plans), motivation (e.g., user motivation), cognition (e.g., taskknowledge, self-knowledge, strategy knowledge), and emo-tion.

Interestingly, these three strategic activities—or modesof regulation—have already been identified to some de-gree as “interaction levels” by software engineering re-searchers [14]. Guzzi et al. named them as individual work,coordination, and collaboration to represent the activities of

an individual developer, interactions between developers, andsimultaneous work on the same task, respectively. However,the focus of their study was limited to tool support and thecreation of Guzzi’s model was a way to explain the levels ofsupport provided by the tool. As far as we know, no furtherattempt was made to understand the role of these interactionsin collaborative software development.

Processes of regulationAs mentioned above, the Model of Regulation also includesprocesses related to the strategic decisions required to per-form a task. In particular, regulation in software engineeringconsists of five interconnected processes (c.f. Fig. 2):

Figure 2. Processes of regulation in the Model of Regulation. Solid ar-rows represent outcomes going out of the process, while dashed arrowsindicate feedback going into the process.

Task Understanding: As part of this process, individuals de-fine their general perceptions of the task at hand and foreseethe way participants will contribute to the completion of thetask [35]. In software engineering, the Task Understandingprocess defines how participants invest time to think aboutthe requirements, purpose, scope, social context and respon-sibilities, and roles with respect to the task or project. To-gether, these represent the comprehension or understandingof a project. More importantly, Task Understanding in soft-ware engineering is constantly influenced and shaped by dif-ferent stakeholders and external communities. Monetary in-terests can change the purpose of a project and user featurerequests can modify initial requirements. Also, an externalcommunity or a company working on a similar product forthe same market represent a direct competition that can alterthe comprehension of one’s project.

Goal Setting: As part of this process, individuals establisha work plan, including strategies to motivate and engage par-ticipants [43]. In software engineering, a work plan usuallydocuments measurable goals, task standards (e.g., deadlines,acceptable levels of product quality), and resource allocations(technological and human resources). It also covers strategiesand tools to support collaboration, including resources to ac-complish tasks (e.g., definition of programming languages),acquire information (e.g., project wiki, discussions on virtualchannels, books), and facilitate collaboration (e.g., selectingcommunication technologies, hosting services).

Session: Models & Language in Work & Investment CSCW 2017, February 25–March 1, 2017, Portland, OR, USA

1053

Page 6: Using the Model of Regulation to Understand …ulary for comparing and analyzing collaboration practices and tools in software engineering. This paper discusses the model’s ability

Enacting: With this process, group members follow theguidelines defined in the work plan. For example, develop-ers follow code standards like adding documentation withinthe code and on the project wiki. Participants make properuse of the established communication channels and use theselected tool for version control. They also implement strate-gies to stay motivated and engaged in the task (e.g., rewardsystems). For some projects, we see that some or even all ofthese project parameters are prescribed in their work plans.

Monitoring and Evaluating: As part of this process, groupmembers monitor performance and preliminary outcomesand compare them against goals to detect misalignments.Monitoring and Evaluating is an important activity in soft-ware engineering and a key to success in many cases. Be-cause of software development’s dynamic nature, developersnot only monitor progress, they also constantly scan their en-vironments to ensure project requirements and scope have notchanged.

Adapting: As part of this process, group members makepurposeful changes in any of the previous processes becausetheir preliminary outcomes are not as expected—sources ofmisalignment between the expected and actual outcomes areidentified, revised, and adapted. For example, a particularprogramming language may be selected for a project becauseit offers strong support for creating the kinds of artifacts thatare relevant to the project (e.g., in the case of Neo4J, pro-gramming support for graphs was important). However, whenthe implementation begins, developers experience problemswith the selected language. In this case, a strategic decisionabout the choice of language is required: they may changethe choice of language or determine they need more trainingwith the selected language. In either case, they adapt theirgoals or tasks accordingly. It should be noted that the Adapt-ing process is often not sequential and can occur over any ofthe other regulation processes as required.

Activating the regulation processesWe have described the different processes that occur in reg-ulation, but we have not covered how one process leads toanother during collaborative work. Next, we discuss how theregulation processes activate each other.

For any given task, Task Understanding is executed first asindividuals must first understand what they are required to doand what the work implies, regardless of whether the task isgiven or self-assigned. Note that Task Understanding is in-fluenced by more than one entity, including customers, stake-holders, and external communities. Just before moving intoGoal Setting, the Monitoring and Evaluating process is initi-ated with the preliminary results from the Task Understandingprocess. Next, individuals move to define a work plan in GoalSetting and the active process of Monitoring and Evaluatingensures the plan is aligned with the project understanding.Then, individuals are ready to execute the plan in Enacting.Again, the active process of Monitoring and Evaluating takesthe preliminary outcomes of this activity and compares themto the established work plan from Goal Setting and the projectunderstanding results from Task Understanding. If outcomesare not aligned in any comparison, for example, if the plan is

not aligned with the understanding of a project or the prelim-inary outcomes from enacting a task are not aligned with theplan, the Monitoring and Evaluating process triggers a strate-gic decision through the Adapting process as this process pro-vides input for any processes that require revision so an up-date can be performed. For example, a software project’s cus-tomers requesting new features or changing their minds aboutexisting features is more often a rule than an exception. Thesefrequent changes in project requirements lead to changes inthe project’s Task Understanding, Goal Setting, and Enactingprocesses.

Now if a task is to be performed by an individual, then regula-tion processes (e.g., Task Understanding, Goal Setting) onlyoccur at the individual level: self-regulation. However, if atask represents a collaborative activity to be performed bymultiple people, then the regulatory processes start at the in-dividual level (self-regulation), expand to include participantinteractions (co-regulation), and finally are executed withinthe entire unit of collaboration (shared regulation). For ex-ample, developers approach a collaborative software develop-ment project by individually trying to understand the project’srequirements and how they will contribute to the final product(self-regulation of Task Understanding). Eventually, formaland informal communication that occurs between develop-ers will help them refine their individual understanding of theproject (co-regulation of Task Understanding), which will al-low the group members to achieve a shared understanding ofthe project (shared-regulation of Task Understanding). Thatis, each cycle of regulatory process occurs within the threemodes of regulation. Figure 3 illustrates how the regulationprocesses are activated.

Figure 3. Activation of the regulation processes in the Model of Reg-ulation. Solid arrows represent outcomes of the process, while dashedarrows indicate feedback going into the process.

Regulation tool supportOur Model of Regulation further articulates how computer-based tools can be used to support self-, co-, and shared reg-ulation. Next, we describe the different categories of regula-tion tool support. Their contribution to self-, co-, and sharedregulation depends on the scope of the information and the

Session: Models & Language in Work & Investment CSCW 2017, February 25–March 1, 2017, Portland, OR, USA

1054

Page 7: Using the Model of Regulation to Understand …ulary for comparing and analyzing collaboration practices and tools in software engineering. This paper discusses the model’s ability

way it is presented to the user. For instance, GitHub issuescan be used for self-regulation when they are created as self-reminders, they can be used for co-regulation when they arecreated and assigned as a to-do for someone else, or issuescan promote shared regulation when created as an open re-quest for everyone in the group.

Structuring Support refers to approaches that aim to guideinteractions by designing or scripting a situation before itbegins [38]. Structuring support consists of roles, scripts,and prompts. Roles are functions intentionally assigned toeach member of the team (e.g., designer, developer, or tester),while scripts are a list of steps that suggest the correct orderof activities required to complete a bigger task. For example,the life cycle of a software development project may requirethe following order of general activities: requirements gath-ering, design, implementation, and evaluation. A script couldprovide a list of activities that need to be performed with a de-tailed set of steps for each phase. Finally, prompts are mes-sages that can be delivered to the team to provide hints andsuggestions about correct processes for a particular activity.For instance, when code changes are made, a prompt can re-mind the developer to register the changes in the team’s wikior notify other team members. We showcase a few examplesof how structuring support could be provided in a develop-ment team’s toolset in Fig. 4.

Figure 4. Examples of structuring support. Scripts (top left) refer to alist of steps shown in the format of If-Then rules. Roles (bottom left)define functions and responsibilities of a member with respect to a task.iDoneThis emails (shown on the right) give an example of prompts (mes-sages) that provide hints about correct processes for a particular task.

Mirroring Support refers to mechanisms that reflect indi-vidual or collective actions by gathering and summarizingdata [38]. An example of mirroring support used for self-regulation shows individual actions as a summary of activ-ities, with completed tasks distinguished by color or someother cue. When used to support social modes of regulation,mirroring support can be achieved with a visualization suchas a pie chart or a timeline graph that shows aggregated con-tributions. In this case, the visualization supports a sharedunderstanding of the group perspective and creates contextfor shared regulation. Several software development environ-ments provide views to highlight such information. For ex-ample, GitHub’s profile page shows the frequency of individ-

ual contributions using color cues in a timeline matrix, Trelloshows advances on a plan using a progress bar, WakaTimeshows statistics of activities using graphs, and Codealikeuses visualizations to analyze time invested in development-related activities (e.g., coding, debugging). The mirroringfeatures of these tools are illustrated in Fig. 5.

Figure 5. Examples of mirroring support tools that reflect individual orcollective actions by summarizing data: Trello’s progress bar (top left);WakaTime graphs (top right) show a) total logged time, b) time dedi-cated to different projects, c) today’s logged time, and d) distribution ofprogramming languages; Codealike visualizations (bottom left) show a)distribution of activities and b) statistics and total time per activity; andGitHub’s frequency of contributions timeline matrix (bottom right).

Awareness Tools is a similar category to mirroring sup-port except that it allows for self-comparison or compar-isons between group members. For instance, an awarenesstool that invites co-regulation will be restricted to compar-isons between a small set of members, while shared regula-tion requires simultaneous performance analysis of the wholegroup. Potential examples of awareness tools include a visu-alization presenting individual timeline graphs per contribut-ing member (as shown in Fig. 6), or a visualization showingthe lines of code introduced by each member.

Guiding Systems are programs that behave like a virtualpresence, interpreting data and providing instructions whenissues in the collaboration process are detected. For instance,a guiding system that sends reminders of an individual’spending work helps with self-regulatory processes. A guid-ing system that shows visualizations of ideas not picked upduring previous group discussions supports shared regulation.Guiding system support in software engineering is relativelynew and is mostly provided in the form of “bots” or “con-versational bots” integrated into tools used by developers. Infact, the increased adoption of bots by developer teams [41]demonstrates the potential for bots in guiding collaboration.

Next, we show how this model can be used to gain furtherunderstanding of today’s collaborative practices and tools.

THE MODEL OF REGULATION IN ACTIONProcesses of regulation (e.g., Enacting, Adapting) describethe set of strategic decisions that must be made while per-

Session: Models & Language in Work & Investment CSCW 2017, February 25–March 1, 2017, Portland, OR, USA

1055

Page 8: Using the Model of Regulation to Understand …ulary for comparing and analyzing collaboration practices and tools in software engineering. This paper discusses the model’s ability

Figure 6. An example of awareness support provided by GitHub. Aware-ness support refers to mirroring mechanisms that also allow for self-comparisons or comparisons between group members. Here, individualcontributions to a GitHub repository are plotted on a timeline per mem-ber and presented in a two-column format.

forming a task, while the modes of regulation (self-, co-, andshared regulation) indicate the scope of each regulatory cy-cle. In this part of the paper, we show one way of applyingthe Model of Regulation by transforming it into an action-oriented instrument for practitioners and researchers.

Creating the instrumentTo demonstrate how the theoretical framework can be used,we developed an instrument—a questionnaire based on theModel of Regulation—that aims to assist in investigating thecollaboration practices of individuals and groups. The goal ofthis instrument is to provide a contextually sensitive diagno-sis of the regulatory strengths in a collaboration activity andreveal potential areas for improvement in terms of workingprocesses, communication channels, and tool use.

The questionnaire was created and refined over a series of it-erations. First, we used the Model of Regulation to definea set of questions that referred to all regulation modes andprocesses. Then, two domain experts (one from the learn-ing sciences and one from software engineering) ensured thequestionnaire fit the model and validated that the vocabularywas clear and appropriate for software engineers. Finally, twopilot interviews led to the rewording of one of the questions(this version of the instrument is shown in Table 1). In bold,we highlight the processes of regulation followed by a shortdefinition. In subsequent rows, we identify the mode andscope of regulation: self-regulation refers to individual pro-cesses; co-regulation describes how individual strategic re-sponses are modeled by the participants’ interactions withintheir social context; and shared regulation refers to the jointprocesses experienced by the group. Questions shown in nor-mal font are designed to ask about the existence of the activ-ity, while questions in italic font inquire about the documen-tation and tool support they create or use, respectively.

Using the instrument to reveal work practices and toolsAfter creating the instrument, we conducted interviews withthree developers currently engaged in collaborative software

development—these are not the same as the pilot interviewsused to create the instrument. First, we interviewed a soft-ware engineer with approximately four years of experiencein software development (referred to as P1). At the time ofthe interview, P1 had been working as a co-op developer andUX designer for a large technology provider for a period ofseven months. All development-related tasks were of a col-laborative nature and the work setting was completely virtualas the team was distributed. P1 worked with a team of aroundtwenty people on the development of low-level componentsof a management system. Next, we interviewed the CEO andthe CTO of a start-up software company (referred to as P2and P3, respectively)—both were interviewed together. Theircompany consisted of sixteen people who work co-located onthe design and implementation of referral program software.

Using the instrument as a guide, the interviews allowed usto construct a rich profile of collaboration practices for eachcase. We present the resulting profiles in the form of a table,one for each regulation process. We summarize the findingsand observations for both cases side by side (P1’s interviewin the left column of each table, and P2 and P3’s interview inthe right column of each table). For the sake of brevity, wedescribe our observations for only two of the processes: TaskUnderstanding and Monitoring & Evaluating (see Tables 2and 3), while the others are included as an appendix to thispaper. Further discussion is presented in a thesis [1].

Reflection on the Task Understanding processThe Task Understanding process refers to the way partici-pants and teams approach a task and how they achieve con-sensus regarding what needs to be done. Through the ap-plication of the instrument, we revealed that geographic dis-tances [3] define how Task Understanding is experienced byindividuals and teams, as illustrated in Table 2.

Interviewees of both projects recognize the critical value ofbeing aware and having a shared understanding of the tasksto be executed. However, their methods and strategies toachieve and ensure team consensus differ due to their phys-ical settings. P1’s team does not have many opportunitiesfor informal communication so they have to rely on tool sup-port, which is reflected in the large number of tools and va-riety of features they use. They expend extensive effort se-lecting technologies, coordinating the sharing of knowledge,and gaining and maintaining awareness of projects. For thisteam, the questionnaire helped elicit a friction point that con-cerns the lack of commitment from some members to makethat extra effort to communicate and share knowledge.

P2 and P3’s team is co-located and their alignment of ideaswith respect to tasks naturally occurs in their daily commu-nication (formal or informal). In this case, tools are used topersist information and to keep a record of the agreementsmade, rather than just for supporting team interactions (as inthe case of P1).

Reflection on the Monitoring and Evaluating processIn software engineering projects, participants constantlymonitor and evaluate their progress against work plans andexpected results, as well as against changes in their project

Session: Models & Language in Work & Investment CSCW 2017, February 25–March 1, 2017, Portland, OR, USA

1056

Page 9: Using the Model of Regulation to Understand …ulary for comparing and analyzing collaboration practices and tools in software engineering. This paper discusses the model’s ability

Task Understanding Unifying perceptions about the project/task at hand. Project comprehension or understandings include: require-ments, purpose, scope, social context, and roles and responsibilities of participants with respect to the task.

Self-regulation: Individual Do you take the time to understand the task at hand and the project within its particular context? Where is it documented?Co-regulation: Interactions Do you discuss your project comprehension with other team members and search for the alignment of ideas? Where are

those discussions documented?Shared regulation: Group Does the group hold discussions and reach agreement about their project understanding? Is the result of group discus-

sions documented and available to all members? Where is it?Goal Setting Establishing a work plan, which includes goals, task standards (e.g., deadlines, product quality), resource alloca-

tion, strategies, methods, and tools to support collaboration and task performance.Self-regulation: Individual Do you define a personal work plan? Where is it documented?Co-regulation: Interactions Do you help other team members define or improve their personal work plans? Is the outcome of these conversations

documented? Where?Shared regulation: Group As a group, do you define and agree on a group work plan? Does the group document the agreement about the work

plan and make it available for all members? Where?Enacting Following the plan while providing support for motivational engagement.

Plan execution: Following the planSelf-regulation: Individual Do you follow your personal work plan?Co-regulation: Interactions Do you support other team members in executing their work plans?Shared regulation: Group Does the group follow the work plan as defined? I.e., the group effectively uses collaboration strategies, methods, and

computer-based tools as selected in the work plan.Motivational engagement: Implementing strategies for staying motivated and engaged

Self-regulation: Individual Do you implement strategies to stay motivated and engaged in the face of challenges?Co-regulation: Interactions Do you help other team members stay motivated and engaged during plan execution?Shared regulation: Group As a group, do you discuss and agree on strategies for staying motivated and engaged in challenging situations?Monitoring and Evaluating Tracking and assessment of project comprehension and the work plan.

Checking progress against expected results and work plan.Self-regulation: Individual Do you monitor and evaluate whether the outcome of your work is aligned with your project understanding and work

plan? Where are the results of your evaluation documented?Co-regulation: Interactions Do you help other team members monitor and evaluate whether the outcome of their work is aligned with their project

understanding and work plan? Is the result of these conversations documented? Where?Shared regulation: Group As a group, do you hold discussions to monitor and evaluate whether the outcome of the work is aligned with the group’s

project understanding and work plan? Where is the outcome of discussions documented and available for all members?Checking the project understanding and work plan are up to date. (I.e., verify that the project requirements are still thesame, check that your responsibilities with respect to the project have not changed).

Self-regulation: Individual Do you monitor and evaluate changes in your project understanding and work plan? Where did you document thechanges detected (if any)?

Co-regulation: Interactions Do you help other team members monitor and evaluate changes in their project understanding and work plan? Where isthe result of this evaluation documented?

Shared regulation: Group Does the group hold discussions to monitor and evaluate changes in the group’s project understanding and work plan?Where are these discussions documented and available for all members?

Adapting Refining the work plan based on partial outcomes or changes in the project understanding.Self-regulation: Individual Do you adapt your work plan when the outcome was not as expected or when your project understanding changed?

Where did you document the changes to the original plan and the reasons behind these changes?Co-regulation: Interactions Do you help other team members adapt their work plans when the outcome was not as expected or when their project

understanding changed? Where did you document the discussions about these adaptations?Shared regulation: Group As a group, do you adapt your work plan when the outcome was not as expected or when the group’s project understand-

ing changed? Where did you document the modifications to the original plan and the reasons behind these changes?Table 1. Instrument to profile collaboration: a questionnaire based on the Model of Regulation that helps elicit collaboration practices and tool supportfrom individuals and teams.

understanding. Checking progress is different from, for ex-ample, checking if the project requirements have changed.However, in the case of P1, their requirements change fre-quently (often within a couple of hours) and plans are con-stantly modified, meaning no plan is ever complete or stable.As a result, P1 and their team continually monitor and eval-uate both the expected results and the changes to task under-standing at the same time. This can be seen in the left columnof Table 3. In this situation, the instrument helped reveal afriction point that arose from the abrupt and quick changesto plans that cause team members to put too much effort intomonitoring progress and in keeping up with changes.

In the case of P2 and P3, the team also experiences modifi-cations to their work plans, customers change requirements,and approaches they use do not always work out as expected.

However, these changes are often distributed over time whichmakes it easier for the team to clearly distinguish betweenmonitoring and evaluating their progress against the plannedresults with monitoring and evaluating changes to their taskunderstanding.

Interestingly, all reflections on the processes of regulation forboth projects share the following pattern. For P1, the model(through the instrument) was a mechanism to frame their col-laboration friction points. While for P2 and P3, the modelallowed them to describe their practices and provided a theo-retical foundation for their existing activities.

Reflection on the Model of RegulationThe application of the model allowed us to have a rich discus-sion about affordances and constraints of team collaboration

Session: Models & Language in Work & Investment CSCW 2017, February 25–March 1, 2017, Portland, OR, USA

1057

Page 10: Using the Model of Regulation to Understand …ulary for comparing and analyzing collaboration practices and tools in software engineering. This paper discusses the model’s ability

Distributed Team Practices and Tool Support Co-Located Team Practices and Tool SupportTask UnderstandingObservation This team is geographically distributed and they find it dif-

ficult to engage with each other. Their virtual environmentpresents extra challenges when trying to understand andreflect on tasks. “There is no way you can just pop over thecubicle and say ‘hey, what are you working on?’ ” [P1]

This team is co-located and routinely takes the time neededto understand tasks because it is easy to discuss things inperson. However, they tend to dedicate less time to reflectas task understanding is more routine and easy to engagein.

Self-regulation P1 makes sure to take the time needed to understand the taskat hand and create sketches of possible solutions.Tools: Flowcharts, personal notes.

P2 and P3 think about tasks before formulating a plan. Theycreate formal documentation if a task is perceived as complex.

Co-regulation The team uses specific communication tools due to their geo-graphic distribution.Tools: Slack, Google Hangouts.

The team discusses matters at a product start-up meeting,which is the first meeting held with the team after a projecthas been accepted.Tools: Face-to-face discussions, Slack.

Shared regulation The team holds video conference kick-off meetings shortly af-ter starting a task. This usually fails because teammates do notreview the tasks ahead of time.Tools: Slack (if the discussion is not overly complex), other-wise video calls through Google Hangouts. Formal documen-tation is created “if the task involves management and we aregoing to need a reference in the future or it is the kind of taskthat I can see us forgetting.” [P1] Documentation exists on thecompany internal/external wiki or on Google Docs, dependingon the target audience.

Collective understanding is achieved in group meetings. Thecomplexity of the project determines the length and number ofmeetings—the more complex the project, the longer it takesto reach consensus. Also, meetings can be internal or opento stakeholders who “come in [to share] problems, what’s go-ing on, and how customers are using the system.” [P2] Tools:Slack is the main communication tool and the source of rawdocumentation. Agreements are documented on Google Docswhere they usually have a document that captures the finalideas and what was agreed on. “Quite often there’s sort ofa requirement sheet, but it’s not like a very strict format of re-quirements.” [P3]

Table 2. Task Understanding, the Model of Regulation in action: work practices and tool support of practitioners in two different organizations. P1works on a distributed team and P2 & P3 work on a co-located team.

practices and tool support, which we share through the exam-ples presented in this section (see the Appendix and Thesis [1]for more details). Through the instrument, the Model of Reg-ulation was presented to the interviewees, who found its com-mon language to be useful: “Often we find that a commonlanguage is what’s needed to have a constructive conversa-tion. Once you build a language you can start talking abouthow to move from one step to the other and how improvingwhat we’re doing in one step... we have a way to verbalize itformally.” [P2]

P3 recognized that using the instrument to reflect on theirwork practices and tool choices does not add new steps totheir daily work. It instead provides a mechanism to formal-ize and structure how they discuss their existing practices asthe concepts of the model were “something that you kinda un-derstand at some level, like in an abstract way... when you see[the model], you start to see how it fits with things you’ve al-ready experienced.” Furthermore, P2 appreciated the abilityto formalize the modes of regulation (self-, co-, and shared)because “it removes the ability to kinda escape ownership ofthe work... some people are used to say[ing] ‘I don’t reallyknow my work plan, but my group’s got it figured it out, I’msure it’s fine’.”

More interestingly, P1 commented in a follow-up discussionshortly after their interview that they had started thinkingabout their collaboration issues in terms of the model. P1used the vocabulary of the model learned from the interviewto describe the reasons for the friction and breakdowns theyexperienced with their team. For example, P1 mentionedthat a coworker “was very bad at spending the least amountof time possible to understand the task. They would auto-matically assume they understood exactly what needed to be

done and would go off on their own and work away...usuallythey had completely misunderstood the task.” P1 admits thecoworker “obviously had some sort of disconnect with taskunderstanding and it wound up costing a lot of time / re-sources.”

DISCUSSIONIn this section, we first discuss how the concepts we com-bined into the Model of Regulation are interpreted and ap-plied differently in a software engineering context comparedto a learning context. We also speculate how the model couldbe applied to other knowledge worker domains. Next, welook beyond the team to see how the model can be appliedat the organization or community level, areas where we feelthere is great potential.

As presented earlier, current collaboration models that havebeen applied to software engineering emphasize only a partic-ular subset of collaboration concerns. Our goal in composingthe Model of Regulation was to arrive at a model that con-sidered more of the important dimensions of collaboration—behavior, cognition, and motivation. We finally discuss howthis more comprehensive model provides the insights and vo-cabulary needed to capture the theoretical underpinnings ofwhy certain tools and practices are used.

From learning to software engineering and beyondWe borrowed and adapted regulation constructs from thelearning science domain and applied them to the software en-gineering domain. While learning is crucial for facilitatingthe emergence of regulation in both domains, there are im-portant differences in the way regulation is experienced (cf.Winne and Hadwin [48]). In software engineering, tasks tendto be more open-ended and evolve constantly. The complex

Session: Models & Language in Work & Investment CSCW 2017, February 25–March 1, 2017, Portland, OR, USA

1058

Page 11: Using the Model of Regulation to Understand …ulary for comparing and analyzing collaboration practices and tools in software engineering. This paper discusses the model’s ability

Distributed Team Practices and Tool Support Co-Located Team Practices and Tool SupportMonitoring & EvaluatingAgainst expected results and work planObservation The team finds it difficult to monitor and evaluate progress

as project scope is typically unknown and requirementsare constantly changing. “It’s weird because no one knowsanything, not even what the project is going to look like in amonth.” [P1]

Team awareness is facilitated by computer-based tools,which play a major role in collaboration. “Anyone in thecompany can go and see in the [Waffle.io] board where theproject is, and that actually helps to reduce a lot of communi-cation overhead.” [P2]

Self-regulation P1 monitors critical channels on Slack where developers, prod-uct owners, and people that make feature requests talk to “sum-marize all that into some sort of idea of what’s going on withthe application”. To make this monitoring task more efficient,P1 configured Slack with a list of keywords so that they arenotified when any of those words are mentioned in a conversa-tion.

For P2 and P3, individual regulation is accomplished by mon-itoring the progress of others, which is perceived as a naturaltask that takes place in every open conversation and meeting:“It’s an implicit and unspoken process.” [P2]

Co-regulation With keywords configured in Slack, P1 has created “a news-feed for every time any of those things get mentioned”, whichallows them to easily get context around each notification andjump in to provide direction if something wrong or incompleteis detected in team conversations.

The size and makeup of the team facilitates the monitoring oftasks as “people are just interested in each other... we are stilla small team, most people know roughly the plan for anyone inthe project.” [P2]

Shared regulation The size of a project can make it challenging to monitor, so P1and the other product designers on the team strategically off-load certain things between each other. “When talking to thethree of us, you can probably get a good idea of what the entirepicture of the project is.” [P1] In case changes are required, theapproach is top down: “Usually the big bosses decide whatthey want changed, then the top managers talk about it. Thenthey call the design team in and maybe two developers to ask‘what do you guys think?’ Once we have an agreement, a newplan is created.” [P1]

P2 and P3 have a 3-dot system to monitor their projects. Oncea month “we report if [the project] is red, yellow, or green—meaning ‘way off track’, ‘on track’, or ‘it’s done’.” [P2] At alower level, the team also uses Waffle.io to visualize the statusof their GitHub issues.

Of changes in project understanding or work planObservation Due to the frequency of changes to requirements, the

team’s monitoring and evaluation of planned progress andchanges in task understanding occur at the same time.

Open communication between teammates and stakehold-ers allows participants to stay in the loop as the under-standing of the project evolves.

Self-regulation Same as the self-regulation mode in ‘Monitoring and Evaluat-ing - Against expected results and work plan’.

P2 and P3 continuously monitor changes in their task under-standing. “Something comes up, and you react, and you keepreacting.” [P2]

Co-regulation Same as the co-regulation mode in ‘Monitoring and Evaluating- Against expected results and work plan’.

The team monitors and evaluates in an organic way as “theconversations between two counterparts kind of naturallyleads to checking in with the understanding and plans.” [P3] Inaddition, “we may review a project and then through that pro-cess discover ‘oh you just said something that sounds differentto me’, and we would follow up on that.” [P2]

Shared regulation Same as the shared-regulation mode in ‘Monitoring and Eval-uating - Against expected results and work plan’.

Any new agreements are shared with the team and docu-mented.

Table 3. Monitoring & Evaluating, the Model of Regulation in action: work practices and tool support of practitioners in two different organizations.P1 works on a distributed team and P2 & P3 work on a co-located team. See Appendix for a summary of all processes.

nature of the tasks and knowledge manipulated as well asthe diversity of stakeholders involved and their motivations toparticipate in projects vary widely. For instance, in the learn-ing science domain, regulation has been studied only betweenstudents, while in software engineering, we recognize a largediversity of stakeholders that define the way regulation is ex-perienced. Also, to study regulation processes (e.g., Task Un-derstanding, Enacting) in software engineering contexts, thetypical characteristics of the domain artifacts manipulated ineach process needed to be identified. While the Task Un-derstanding process in formal learning environments refers tothe comprehension of the tasks assigned, in software engi-neering, this process refers to the understanding of project re-quirements, project purpose, scope, social context, etc. Thesedifferences appear to be rather subtle—or may appear to bevariations along a common continuum—but they forced us tochange the definitions of the modes and processes of regula-tion and to consider many different types of tools that support

regulation in the software engineering domain (such as con-figuration management systems).

While the processes of regulation describe the steps one goesthrough when facing a challenge, the modes (self-, co-, andshared) allow us to reveal the different ways regulation is ex-perienced and expose how these relate to and shape groupinteractions. In the co-located group studied, the modes ofregulation allowed us to describe how, building on individ-ual regulatory activities (self-regulation), team members re-fined their approaches through formal and informal interac-tions (co-regulation) to finally arrive at a form of group reg-ulation (shared regulation). While with the distributed team,the modes of regulation allowed us to discover how the lackof individual regulatory actions on behalf of some membersaffected the group’s overall performance.

These constructs—modes, processes, tool support—havebeen discussed in the learning science literature, but this pa-

Session: Models & Language in Work & Investment CSCW 2017, February 25–March 1, 2017, Portland, OR, USA

1059

Page 12: Using the Model of Regulation to Understand …ulary for comparing and analyzing collaboration practices and tools in software engineering. This paper discusses the model’s ability

per combines them into a single model, adapts them to fit thesoftware engineering domain, and explicitly discusses howthe different processes activate other processes. We’d liketo stress that the regulation processes and their connectionsto each other are complex. It is important to understand notonly the pieces involved but also how they work together—this is achieved by the modes of regulation. We also usedthe model to derive an “action-oriented” instrument for elic-iting how regulation occurs in software development teams.Our colleagues in the learning sciences have indicated to usthat a similar instrument could prove to be very useful in thelearning domain. Thus, composing the model and adapting itto software engineering has brought potential benefits to thelearning domain as well.

Moving forward, we believe the model could be adapted forother knowledge work domains. Indeed, software developersare often described as the “prototype of the future knowledgeworker”2 as they tend to innovate and adopt tools before otherknowledge workers do (e.g., email, Wikipedia, and GitHub).We suggest that adapting and applying the model and instru-ment to other domains would bring other important insights.

Beyond the team: Understanding collaboration in organi-zations and communitiesWe propose that the Model of Regulation can be used to de-scribe collaboration practices across any unit of collabora-tion, from small teams, to project-wide teams, to commu-nities of thousands of participants (e.g., the Ruby on Railsproject has more than 2,700 contributors3). In this paper, wehave discussed how the model can be applied to small indus-trial teams. However, as part of our larger research project,we have applied the Model of Regulation to the Neo4J opensource development community and explored how stakehold-ers from a wider community can “regulate” development ac-tivities. For example, users of the Neo4J graphing technology(through GitHub and their Google Groups channels) give in-put to and request features from core Neo4J developers [1].

Through our industrial case studies, the vocabulary providedby the model allowed us and the practitioners we interviewedto have rich discussions about collaboration as we could makereference to very specific processes related to an activity (e.g.,Task Understanding, Enacting) at different levels (self-, co-,shared). These discussions allowed us to reflect on collabora-tion beyond the individual and team levels and understandwhere practices and tools could be improved. One of ourinterviewees mentioned they found many benefits from us-ing this vocabulary and that they continued to reflect on theirpractices and tool use some time after their interview with us.

From a theory to actionable principles, work practices,and toolsThe model we present in this paper is based on the concept ofregulation, which considers collaboration at a metacognitivelevel and explores behaviour, cognition, and motivation. Our

2http://allankelly.blogspot.ca/2014/04/theprototype-of-future-knowledge.html3https://github.com/rails/rails

Model of Regulation can be used as a descriptive model be-cause it allows one to describe how regulation occurs withina collaboration unit and how tools support regulation. How-ever, we believe that the model also shows promise as a pre-scriptive model that can be used to guide processes and suit-able tool support for practitioners. The modes of regulation il-lustrate how collaboration requires individual efforts, interac-tions with other participants, and an awareness of the group’sstate (an important factor as discussed by Gutwin et al. [13]).

The processes of regulation provide a high-level guideline fortasks and suggest how tools can help support regulation. Wepropose that the model’s tool support component helps con-nect the theory with tool design principles, which is some-thing we wish to explore in future work. Furthermore, webelieve the instrument drawn from the model can be usedto guide tools evaluations and comparisons of collaborativepractices within or across a single or multiple units of collab-oration.

While the theory is an important product of our research, weare particularly excited about the action-oriented principlesand insights it provides regarding the practices and tools re-quired to support regulation in software development. Forexample, regulation tool support—an important part of themodel—can be used to provide explanations as to why a par-ticular technological ecosystem is formed around a task, al-lowing us to understand the role of specific tools, somethingwe have struggled with (such as why developers use Slack inaddition to many other communication channels [29]).

Using our model, tools and channels can also be analyzed andclassified based on the processes of regulation they support.For instance, Trello is effective for Goal Setting processesthrough mirroring and awareness mechanisms, while Slacksupports conversations that lead to the alignment of ideas,thus providing support for Task Understanding.

LIMITATIONSWe recognize that our Model of Regulation may need fur-ther refinements when applied to future software engineeringprojects and development contexts. In particular, the modeldoes not include considerations for the different stakehold-ers that may be involved (such as testers) and it may not in-clude concepts that encompass the diverse nature of interac-tions that take place in a project nor consider other factors(such as time zones, cultural issues, and language in globalsoftware development [3]). However, the iterative refinementof the model presented in this paper was effective at helpingus understand the benefits of the many different tools devel-opers use (as discussed earlier in the paper) and the regulationactivities of users in an open source community. Although welack space to discuss the open source community case studywe performed, we refer the interested reader to a related the-sis for more details and insights about how the model wasadapted and applied [1].

The usefulness of the model was validated in part by applyingthe derived instrument through the case studies we discussedin this paper. The instrument was able to bring insights onhow regulation activities occurred across these two contrast-

Session: Models & Language in Work & Investment CSCW 2017, February 25–March 1, 2017, Portland, OR, USA

1060

Page 13: Using the Model of Regulation to Understand …ulary for comparing and analyzing collaboration practices and tools in software engineering. This paper discusses the model’s ability

ing projects (one co-located setting and one distributed set-ting). However, we note that two case studies means we can-not generalize the application of the model. However, westrived to offset this limitation by checking the completenessof the instrument with two domain experts as we developedit, as well as piloting the instrument with two other develop-ers before conducting our two case studies. As we conductfuture interviews, we expect the instrument to go through atleast some minor refinements in the questions it asks, whichmay in turn lead to changes in the model itself.

Through our research to date, we recognize the model doesnot have mechanisms to conduct a quantitative analysis ofproductivity, but perhaps integrating methods from the PSPand TSP approaches [19, 20] can help overcome this limita-tion. Using the Model of Regulation may help reveal vari-ables of interest (e.g., how frequently tools are used to regu-late activities) that could be measured quantitatively.

Finally, this paper has shown how the instrument (and in turn,the model) can be used as a descriptive theory. Our futurework will aim to investigate whether the model can be usedto provide prescriptive recommendations and to then validatethose in other studies.

CONCLUSIONSCollaboration has become an integral aspect of software en-gineering. The widespread availability and adoption of socialchannels has led to a participatory culture where developersfrequently collaborate with and learn from one another [42].While collaboration in software engineering has been studiedextensively, gaining an understanding of collaboration in to-day’s participatory development culture is challenging as cur-rent models and frameworks were developed before the com-munity embraced socially enabled channels [40]. Moreover,many of today’s development contexts occur beyond the con-fines of a team or organization, and how the individual, team,and community regulate development and learning activitiesis critical to a project’s success.

This paper described how we adopted and adapted conceptsfrom the theory of regulated learning from the learning sci-ences to form a Model of Regulation. We demonstrated howthe model, through a questionnaire instrument we developed,can be used to gain insights into the work practices, toolneeds, and friction points of two contrasting developmentteams. In comparison to other collaboration models appliedin a software development context, our model is potentiallyhighly prescriptive as well as descriptive. We discussed howthe model could lead to actionable outcomes for a softwaredevelopment team or project.

Developers now use a complex constellation of tools to sup-port their work [42]—not just development tools, but alsoa wide array of productivity, communication, and socialtools—and understanding and articulating why these tools areused is challenging. We propose that the Model of Regu-lation provides a theoretical basis for evaluating and com-paring the affordances and friction points of the tools usedand can bring insights into collaborative work practices. Un-derstanding how individuals and teams of developers can be

more productive is something companies and researchers caredeeply about. We anticipate that the Model of Regulation canbe used as a canvas for understanding productivity gains andchallenges.

Finally, we believe this model can be applied to knowledgework domains outside of the learning sciences and softwareengineering. We believe that the Model of Regulation plays acomplementary role to other models and frameworks offeredby the CSCW community and will bring insights into howknowledge workers regulate their work and learning activitiesand how they collaborate with one another.

ACKNOWLEDGMENTSThe authors would like to thank Cassandra Petrachenko forher editing support and insightful comments that contributedto this work, as well as the developers that provided feedbackon our instrument and participated in our interviews. We’reespecially thankful to Christoph Treude for his valuable ad-vice and insightful feedback. Also, we thank the CSCW re-viewers whose constructive comments greatly helped to im-prove this paper.

REFERENCES1. Maryi Arciniegas-Mendez. 2016. Regulation in

Software Engineering. M.Sc. thesis (2016).

2. Liam J Bannon and Kjeld Schmidt. 1989. CSCW-fourcharacters in search of a context. DAIMI Report Series18, 289 (1989).

3. Elizabeth Bjarnason, Kari Smolander, Emelie Engström,and Per Runeson. 2016. A Theory of Distances inSoftware Engineering. Inf. Softw. Technol. 70, C (Feb.2016), 204–219. DOI:http://dx.doi.org/10.1016/j.infsof.2015.05.004

4. Carl Cook. 2004. Collaborative software engineering:An annotated bibliography. Technical Report.Department of Computer Science and SoftwareEngineering, University of Canterbury.

5. Kevin Crowston, Hala Annabi, James Howison, andChengetai Masango. 2004. Effective Work Practices forSoftware Engineering: Free/Libre Open SourceSoftware Development. In Proceedings of the 2004ACM Workshop on Interdisciplinary SoftwareEngineering Research (WISER ’04). 18–26.

6. Alan Dix, Janet E. Finlay, Gregory D. Abowd, andRussell Beale. 2003. Human-Computer Interaction (3rdEdition). Prentice-Hall, Inc., Upper Saddle River, NJ,USA.

7. Paul Dourish and Victoria Bellotti. 1992. Awareness andcoordination in shared workspaces. In Proceedings ofthe 1992 ACM conference on Computer-supportedcooperative work. ACM, 107–114.

8. Kevin Dullemond, Ben van Gameren, and Rini vanSolingen. 2012. Collaboration should become afirst-class citizen in support environments for softwareengineers. In Collaborative Computing: Networking,

Session: Models & Language in Work & Investment CSCW 2017, February 25–March 1, 2017, Portland, OR, USA

1061

Page 14: Using the Model of Regulation to Understand …ulary for comparing and analyzing collaboration practices and tools in software engineering. This paper discusses the model’s ability

Applications and Worksharing (CollaborateCom), 20128th International Conference on. 398–405.

9. Margaret S. Elliott and Walt Scacchi. 2003. FreeSoftware Developers As an Occupational Community:Resolving Conflicts and Fostering Collaboration. InProceedings of the 2003 International ACM SIGGROUPConference on Supporting Group Work (GROUP ’03).ACM, New York, NY, USA, 21–30. DOI:http://dx.doi.org/10.1145/958160.958164

10. Clarence A Ellis, Simon J Gibbs, and Gail Rein. 1991.Groupware: some issues and experiences. Commun.ACM 34, 1 (1991), 39–58.

11. Marco Aurélio Gerosa. 2003. Analysis and design ofawareness elements in collaborative digitalenvironments: A case study in the AulaNet learningenvironment. Journal of Interactive Learning Research14, 3 (2003), 315–332.

12. Jonathan Grudin. 1994. Computer-supported cooperativework: History and focus. Computer 5 (1994), 19–26.

13. Carl Gutwin, Reagan Penner, and Kevin Schneider.2004. Group awareness in distributed softwaredevelopment. In Proceedings of the 2004 ACMconference on Computer supported cooperative work.ACM, 72–81.

14. Anja Guzzi, Alberto Bacchelli, Yann Riche, and Arievan Deursen. 2015. Supporting Developers’Coordination in the IDE. In Proceedings of the 18thACM Conference on Computer Supported CooperativeWork & Social Computing. ACM, 518–532.

15. Allyson Fiona Hadwin, Sanna Järvelä, and MarielMiller. 2011. Self-regulated, co-regulated, and sociallyshared regulation of learning. Handbook ofself-regulation of learning and performance 30 (2011),65–84.

16. Allyson Fiona Hadwin, Mariel Miller, and ElizabethWebster. 2013. Promoting and researching adaptiveregulation in CSCL: Scripting, visualization, andawareness tools. Conf. of the European Association forResearch on Learning and Instruction (September2013).

17. Allyson Fiona Hadwin, Mika Oshige, Carmen LZ Gress,and Philip H Winne. 2010. Innovative ways for usinggStudy to orchestrate and research social aspects ofself-regulated learning. Computers in Human Behavior26, 5 (2010), 794–805.

18. Watts S Humphrey. 1995. A discipline for softwareengineering. Addison-Wesley Longman Publishing Co.,Inc.

19. Watts S Humphrey. 1996. Introduction to the personalsoftware process (sm). Addison-Wesley Professional.

20. Watts S Humphrey. 2000. Team Software Process (TSP).Wiley Online Library.

21. Sanna Järvelä and Allyson Fiona Hadwin. 2013. NewFrontiers: Regulating Learning in CSCL. EducationalPsychologist 48, 1 (2013), 25–39.

22. Chris Jensen and Walt Scacchi. 2005. Collaboration,leadership, control, and conflict negotiation and thenetbeans. org open source software developmentcommunity. In System Sciences, 2005. HICSS’05.Proceedings of the 38th Annual Hawaii InternationalConference on. IEEE, 196b–196b.

23. Robert Johansen. 1988. Groupware: Computer supportfor business teams. The Free Press.

24. David W Johnson and Roger T Johnson. 1989.Cooperation and competition: Theory and research.Interaction Book Company.

25. Eirini Kalliamvakou, Daniela Damian, Kelly Blincoe,Leif Singer, and Daniel M German. 2015. Opensource-style collaborative development practices incommercial projects using github. In Proceedings of the37th International Conference on SoftwareEngineering-Volume 1. IEEE Press, 574–585.

26. Filippo Lanubile, Christof Ebert, Rafael Prikladnicki,and Aurora Vizcaino. 2010. Collaboration Tools forGlobal Software Engineering. Software, IEEE 27, 2(March 2010), 52–55.

27. Charlotte P Lee and Drew Paine. 2015. From TheMatrix to a Model of Coordinated Action (MoCA): AConceptual Framework of and for CSCW. InProceedings of the 18th ACM Conference on ComputerSupported Cooperative Work & Social Computing.ACM, 179–194.

28. Kyle Lewis. 2004. Knowledge and performance inknowledge-worker teams: A longitudinal study oftransactive memory systems. Management science 50,11 (2004), 1519–1533.

29. Bin Lin, Alexey Zagalsky, Margaret-Anne Storey, andAlexander Serebrenik. 2016. Why Developers AreSlacking Off: Understanding How Software Teams UseSlack. In Proceedings of the 19th ACM Conference onComputer Supported Cooperative Work and SocialComputing Companion. ACM, 333–336.

30. Mariel Miller and Allyson Fiona Hadwin. 2015.Scripting and awareness tools for regulatingcollaborative learning: Changing the landscape ofsupport in CSCL. Computers in Human Behavior 52(2015), 573–588.

31. Felipe F Oliveira, Julio CP Antunes, and Renata SSGuizzardi. 2007. Towards a collaboration ontology. InProc. of the Snd Brazilian Workshop on Ontologies andMetamodels for Software and Data Engineering.

32. Judith S Olson and Gary M Olson. 2014. How to makedistance work work. interactions 21, 2 (2014), 28–35.

Session: Models & Language in Work & Investment CSCW 2017, February 25–March 1, 2017, Portland, OR, USA

1062

Page 15: Using the Model of Regulation to Understand …ulary for comparing and analyzing collaboration practices and tools in software engineering. This paper discusses the model’s ability

33. Nancy Perry. 2013. Understanding classroom processesthat support children’s self-regulation of learning. In D.Whitebread, N. Mercer, C. Howe, & A. Tolmie (SeriesEds.), British Journal of Educational PsychologyMonograph Series II: Part 10. Self-regulation anddialogue in primary classrooms (pp. 45-68). Leicester,UK: British Psychological Society. (2013).

34. Nancy E Perry and Ahmed Rahim. 2011. Studyingself-regulated learning in classrooms. Handbook ofself-regulation of learning and performance (2011),122–136.

35. Toni Kempler Rogat and Lisa Linnenbrink-Garcia.2011. Socially shared regulation in collaborative groups:An analysis of the interplay between quality of socialregulation and group processes. Cognition andInstruction 29, 4 (2011), 375–415.

36. Walt Scacchi. 2002. Understanding the requirements fordeveloping open source software systems. In Software,IEE Proceedings-, Vol. 149. IET, 24–39.

37. Walt Scacchi, Joseph Feller, Brian Fitzgerald, ScottHissam, and Karim Lakhani. 2006. Understandingfree/open source software development processes.Software Process: Improvement and Practice 11, 2(2006), 95–105.

38. Amy Soller, Alejandra Martínez, Patrick Jermann, andMartin Muehlenbrock. 2005. From Mirroring toGuiding: A Review of State of the Art Technology forSupporting Collaborative Learning. Int. J. Artif. Intell.Ed. 15, 4 (Dec. 2005), 261–290. http://dl.acm.org/citation.cfm?id=1434935.1434937

39. Igor Steinmacher, Ana Paula Chaves, andMarco Aurélio Gerosa. 2013. Awareness support indistributed software development: A systematic reviewand mapping of the literature. Computer SupportedCooperative Work (CSCW) 22, 2-3 (2013), 113–158.

40. Margaret-Anne Storey, Leif Singer, Brendan Cleary,Fernando Figueira Filho, and Alexey Zagalsky. 2014.The (R) Evolution of social media in softwareengineering. In Proceedings of the on Future of SoftwareEngineering. ACM, 100–116.

41. Margaret-Anne Storey and Alexey Zagalsky. 2016.Disrupting Developer Productivity One Bot at a Time. In

To appear at the 2016 International Symposium on theFoundations of Software Engineering. ACM.

42. Margaret-Anne Storey, Alexey Zagalsky, FernandoFigueira Filho, Leif Singer, and Daniel M. German.2016. How Social and Communication Channels Shapeand Challenge a Participatory Culture in SoftwareDevelopment. To appear in the Transactions onSoftware Engineering (2016).

43. Gregory Trevors, Melissa Duffy, and Roger Azevedo.2014. Note-taking within MetaTutor: interactionsbetween an intelligent tutoring system and priorknowledge on note-taking and learning. EducationalTechnology Research and Development 62, 5 (2014),507–528. DOI:http://dx.doi.org/10.1007/s11423-014-9343-8

44. André Van Der Hoek, David Redmiles, Paul Dourish,Anita Sarma, Roberto Silva Filho, and CleidsonDe Souza. 2004. Continuous coordination: A newparadigm for collaborative software engineering tools.In Workshop on Directions in Software EngineeringEnvironments. Citeseer, 29–36.

45. Daniel M Wegner, Toni Giuliano, and Paula T Hertel.1985. Cognitive interdependence in close relationships.In Compatible and incompatible relationships. Springer,253–276.

46. Jim Whitehead. 2007. Collaboration in SoftwareEngineering: A Roadmap. In 2007 Future of SoftwareEngineering (FOSE ’07). IEEE Computer Society,Washington, DC, USA, 214–225. DOI:http://dx.doi.org/10.1109/FOSE.2007.4

47. Philip H Winne and Allyson F Hadwin. 1998. Studyingas self-regulated learning. Metacognition in educationaltheory and practice 93 (1998), 27–30.

48. Philip H Winne and Allyson F Hadwin. 2008. Theweave of motivation and self-regulated learning.Motivation and self-regulated learning: Theory,research, and applications (2008), 297–314.

49. Zhi-Xue Zhang, Paul S Hempel, Yu-Lan Han, and DeanTjosvold. 2007. Transactive memory system links workteam characteristics and performance. Journal ofApplied Psychology 92, 6 (2007), 1722.

Session: Models & Language in Work & Investment CSCW 2017, February 25–March 1, 2017, Portland, OR, USA

1063

Page 16: Using the Model of Regulation to Understand …ulary for comparing and analyzing collaboration practices and tools in software engineering. This paper discusses the model’s ability

Appendix

Reflection on the Goal Setting processContinuous changes to the project prevents P1’s team from creating long-term plans. Therefore, their Goal Setting processfocuses on immediate tasks. In the case of P2 and P3, their Goal Setting process is defined at both high and low levels, andtheir working culture defines how to approach each aspect of their planning. Details about the interviewees’ experiences for thisprocess of regulation are presented in Table 4.

Interestingly, interviewees declared that their current working culture slowly emerged over time, and today, the shared agreements(e.g., quality standards, regular procedures) followed by all members make the work easier.

Distributed Team Practices and Tool Support Co-Located Team Practices and Tool SupportGoal SettingObservation The team does not have access to higher-level strategic

plans and their requirements change rapidly. Because ofthis, they must create small, specific goals.

The team places a greater focus on product quality ratherthan making a deadline. “If it takes an extra day, but youwill feel happier with the quality and this is acceptable for thecustomers, go for it.” [P3]

Self-regulation In preparation for each daily stand-up meeting, P1 creates areport.Tools: Personal notes, to-do lists on Wunderlist, and configu-ration of task reminders through a Slack bot.

P2 and P3 described that “at the higher levels, responsibilitiesare weighed out and we know what are we going to do, and atthe lower level, what comes out is that each task is assignedto a person and it’s documented by the leader they work with.”[P2]

Co-regulation Using Slack, P1 checks on everyone’s planning activities andhas a record of the conversations that have occurred. Thischecking is more likely to happen when there are dependen-cies between P1’s tasks and someone else’s work.Tools: Slack, Google Hangouts (usage criteria is the same asthe Task Understanding process), some people use a tool simi-lar to Trello.

The team holds weekly meetings and the team leaders checkin through Slack daily. If team members need help, they cre-ate a direct message through Slack or request a face-to-facemeeting.Tools: Face-to-face discussions, Slack.

Shared regulation The team holds daily stand-up meetings in which each partic-ipant discusses the tasks they completed the previous day anddescribes their plans for the current day.Tools: Slack, Google Hangouts. Formal documentation fol-lows the same criteria as the Task Understanding process.

Each team leader creates a work plan, and in the weekly meet-ing each team member describes what they will get done dur-ing the week. Both P2 and P3 reported having defined qualitystandards which make their work flow a lot easier, however,“coming into that standing order was a 3-hour debate back inthe day.” [P2] Plans are divided into individual goals: Git is-sues are then created for each goal and later visualized usingWaffle.io.Tools: GitHub issues, Waffle.io.

Table 4. Goal Setting, the Model of Regulation in action: work practices and tool support of practitioners in two different organizations. P1 works on adistributed team and P2 & P3 work on a co-located team.

Reflection on the Enacting processIn both projects, interviewees highlighted that their team purpose is to always follow the plan, however, unexpected thingsusually come up. This situation was experienced more often by P1’s team. Also, all interviewees reported actively using Slackto support individual work and their teammates’ work. In both projects, participants use a specific Slack channel as an internalquestion-answer system, where anyone can get help or provide prompt feedback.

When discussing strategies for motivational engagement, P1 reported having a supportive team culture although this was neverexplicitly discussed among members. P2 and P3 mentioned that all team members openly contribute with strategies for main-taining motivation and engagement. Table 5 presents the Enacting work practices of both projects.

Reflection on the Adapting processSoftware projects are characterized by their changing nature and loosely defined scope, which sometimes requires adjustments tothe work even after a plan has been set. The interviewees showed they were aware of this fact and reported established practicesthey follow to make adaptations to their work, as shown in Table 6. Also, P2 and P3 said that documentation about changes isnot always created, and if it is, the rationale of the change or adaptation is often omitted.

Session: Models & Language in Work & Investment CSCW 2017, February 25–March 1, 2017, Portland, OR, USA

1064

Page 17: Using the Model of Regulation to Understand …ulary for comparing and analyzing collaboration practices and tools in software engineering. This paper discusses the model’s ability

Distributed Team Practices and Tool Support Co-Located Team Practices and Tool SupportEnactingPlan executionObservation The team’s goal is to follow the plan agreed upon in the

daily stand-up meeting, however, it is not unusual to en-counter unexpected problems.

Even though the plan is accurate, things are sometimesmodified during plan execution due to the dynamic natureof the software projects. “The important thing that I bringout immediately is that we have this plan, something that weare meant to do, and then without fail something will come up.”[P2]

Self-regulation P1 tries to follow their work plan, however, requirements tendto change often (within hours), which also changes the ex-pected output of their work.

P2 and P3 spend time each day making sure everyone on theteam is on track, which is expected from their administrativepositions.

Co-regulation Team members use a ‘help request’ Slack channel to “reportissues if we are stuck and having troubles with the task we saidwe were going to complete that day.” [P1]

The team helps each other execute their individual tasks usinga ‘developer channel’ Slack channel which was designed for“Trying to encourage people to broadcast what they are doingand encourage feedback and cross-communication.” [P3]

Shared-regulation Same as the co-regulation mode for Enacting - Plan execution. Same as the co-regulation mode for Enacting - Plan execution.Motivational engagementObservation There is no explicit agreement on strategies for staying en-

gaged and motivated, however, the team appears to believein mutually supporting each other.“Feeling everybody wantsto help you is what makes it good [...] knowing that you’re notgiven a task and sent alone to a room helps.” [P1]

All team members contribute with strategies and supportfor motivational engagement. “People are very crucial—tohelp each other and even feel sympathetic when it is reallyshitty.” [P2]

Self-regulation P1 tries to keep a positive attitude. P3 tries to do things in a creative way and regularly thinks ofthe motto ‘action precedes motivation’: “It’s basically I reallydon’t feel like doing something but just do it for five minutesand usually after that five-minute period all of a sudden you’relike in the groove.” P2 uses the 30-minute Pomodoro Tech-nique: “You tell yourself I have to work for 30 minutes andafter 30 minutes I get a treat... although to be honest, at theend of that, I’m in the zone so much I don’t stop.”

Co-regulation All teammates help each other, promptly answering questionson Slack, providing guidance when needed, celebrating whenthe work is done, and trying to keep everybody engaged in longvideo calls.

The team has a culture of mutual support. “It’s uncompeti-tive and so people are very much willing to help and they careabout each other’s happiness.” [P3]

Shared-regulation There is no collective discussion about motivational and en-gagement strategies, but all teammates help to maintain thesupportive culture.

“In regular communication we try to decide if [the employees]are happy with the things they are working on. If not, whatwould make them happy and try to find opportunities...” [P3]Team members also encourage a culture of mutual support:“trying to use a bit of thanks and cheering upon the [Slack]channel when things are going well.” [P2]

Table 5. Enacting, the Model of Regulation in action: work practices and tool support of practitioners in two different organizations. P1 works on adistributed team and P2 & P3 work on a co-located team.

Distributed Team Practices and Tool Support Co-Located Team Practices and Tool SupportAdaptingObservation The team’s task understanding and plans are re-adapted

every couple of hours due to constant changes in projectrequirements.

Adaptations are made everyday, however, not every changeis documented. This depends on the possible number ofpeople the change affects and whether the informationmight be important in the future.

Self-regulation Constant changes to the project require P1 to also adapt theirindividual plans.Tools: Slack and Google Hangouts to communicate changesand updates.

Individual adaptation was not explicitly discussed during theinterviews.

Co-regulation Same as the self-regulation mode listed above. If a change is required, it is implemented but documentation iscreated only if “we think it’s important and useful for others toknow.” [P3]

Shared-regulation New plans or adaptations are defined by the project managers.If an adaptation is required, the practice is to record notes atthe bottom of the applicable documents or create visible com-ments on the specific part. However, “sometimes they wouldnot have done the proper homework ahead of time”, meaningthe original plan is incomplete and it looks bad for them toleave specifications as visible changes. So, “they directly editthe original bit, which won’t show the change.” [P1]

Adaptations are documented on Google Drive most of the time:“We would document changes with comments and stuff likethat, we would annotate or just change the document... Wewould document what we wanted to do, but not necessarilywhy, unless it’s really important to the future task understand-ing.” [P3] Interestingly, the increasing team complexity (teamsize) is affecting how much documentation is produced: “Aswe are growing, we are doing more documentation.” [P3]

Table 6. Adapting, the Model of Regulation in action: work practices and tool support of practitioners in two different organizations. P1 works on adistributed team and P2 & P3 work on a co-located team.

Session: Models & Language in Work & Investment CSCW 2017, February 25–March 1, 2017, Portland, OR, USA

1065