This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSE.2022.3160873, IEEE Transactions on Software Engineering
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, MANUSCRIPT ID
1
A Taxonomy of Inter-Team Coordination
Mechanisms in Large-Scale Agile
Marthe Berntzen, Rashina Hoda, Nils Brede Moe, and Viktoria Stray
Abstract— In large-scale agile software development, many teams work together to achieve overarching project goals. The more
teams, the greater the coordination requirements. Despite the growing popularity of large-scale agile, inter-team coordination is
challenging to practice and research. We conducted a case study over 1.5 years in a large-scale software development firm to
better understand which inter-team coordination mechanisms are used in large-scale agile and how they support inter-team
coordination. Based on a thematic analysis of 31 interviews, 113 hours of observations, and supplemental material, we identified
27 inter-team coordination mechanisms. From this, we offer the following contributions. First, we propose a taxonomy of interteam coordination with three categories: coordination meetings, such as communities of practice, inter-team stand-ups, and
retrospectives; coordination roles, such as the program architects and the platform team; and coordination tools and
artefacts, such as Slack and JIRA as well as inter-team task boards, product backlogs, and roadmaps. Second, the coordination
mechanisms displayed combinations of four key characteristics, technical, organizational, physical, and social (TOPS), which
form the basis of the TOPS framework to capture the multifaceted characteristics of coordination mechanisms. Technical relates
to the software product and/or technical tools supporting software development. Organizational pertains to the structural aspects
of the organization. Physical refers to tangible or spatial characteristics. Social captures interpersonal and community-based
characteristics. Finally, the taxonomy and the TOPS framework provide a knowledge base and a structured approach for
researchers to study as well as for software practitioners to understand and improve inter-team coordination in large-scale agile.
Index Terms—Large-scale agile, agile software development, inter-team coordination, case study, taxonomy
—————————— u ——————————
1 INTRODUCTION
Successful coordination of activities such as iteration and
sprint planning, backlog grooming [15], bottom-up architecture design, product demonstrations, and continuous
deployment and delivery [5], [16] dictate the success or
failure of large-scale agile software development. Therefore, dependencies must be managed continuously
throughout the development life cycle.
Coordination mechanisms are organizational processes,
entities, and arrangements used to manage dependencies
to realize a collective performance [8], [17], [18]. In largescale agile, mechanisms are used to enable coordination
within each development team, as well at the inter-team
level. The latter is the focus of this study. Inter-team coordination mechanisms include agile meetings (e.g., standup and retrospective meetings) performed at the interteam level [19], digital communication tools [20], interteam groups such as communities of practice [3], [21]–[23]
and specialized boundary-spanning roles [24] such as architects and product owners [25]. Although individual
studies have described inter-team coordination mechanisms, there is no comprehensive collection of inter-team
coordination mechanisms with an in-depth description of
their categories and characteristics to guide large-scale agile coordination. As such, while we know much about var————————————————
ious coordination mechanisms, systematic tools for identiMarthe Berntzen is with the Department of Informatics, The University of
Oslo, Gaustadalléen 23B, 0373 Oslo, Norway. E-mail: Marthenb@ifi.uio.no fying and evaluating mechanisms to guide research and
Rashina Hoda is with the Faculty of Information Technology, Monash Uni- practice are lacking. With this study, we contribute to fillversity, Wellington Road, Melbourne, Australia, VIC 3800.
ing this gap by addressing the following research question:
E-mail: rashina.hoda@monash.edu
Which inter-team coordination mechanisms are used in largeNils Brede Moe is with SINTEF Digital, Strindveien 4, 7645 Trondheim,
scale agile software development and how do these mechanisms
Norway. E-mail: Nils.B.Moe@sintef.no
Viktoria Stray is with the Department of Informatics, The University of
support inter-team coordination?
HEN developing software on a large scale, multiple
teams work together over an extended period to realize shared development goals. To support the development process, agile practices are popular in large-scale settings. However, conducting successful large-scale agile
software development is challenging [1]–[4]. Resistance or
lack of commitment to agile practices, ensuring management support in agile ways of working, balancing the need
for alignment with autonomy [2], [5], communication issues during requirements engineering and quality assurance [1], and planning misalignment between the team and
inter-team levels [6], [7] are among the identified threats to
large-scale agile [1].
Among these, coordination, or managing dependencies
between activities [8], has been identified as a critical challenge [1], [2], [4], [6], [9]. In large projects, many forms of
dependencies can lead to coordination challenges. Dependencies between tasks or activities constrain how and
when each task can be performed [8], [10]–[12]. In largescale agile, dependencies can be related to, for example,
features and tasks, code, architecture, autonomous teams,
expertise personnel, and on-site customer [5], [6], [13], [14].
W
•
•
•
•
Oslo, Gaustadalléen 23B, 0373 Oslo, and with SINTEF Digital,
Strindveien 4, 7645 Trondheim, Norway. E-mail: stray@ifi.uio.no
xxxx-xxxx/0x/$xx.00
© 200x
Published
by the IEEEsee
Computer
Society
This work is licensed under a Creative
Commons Attribution
4.0 IEEE
License. For
more information,
https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSE.2022.3160873, IEEE Transactions on Software Engineering
2
SUBMITTED TO IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
We conducted a case study in Entur, a public sector,
large-scale development firm recognized as a successful
and mature agile program within its national context. This
ongoing development program has a complex product and
many dependencies across teams, which made it a suitable
case for studying inter-team coordination. A relatively long
frame of reference and extensive access helped us gain a
native, in-depth understanding of the coordination mechanisms used to address the inherent challenges of largescale software development. Details of the case study are
described in Section 3.
We used data collected from 31 interviews, 113 hours of
observations, and supplemental material such as program
documentation and communication logs from Slack to address our research question. Based on thematic analysis
[26], [27], in Section 4, we present 27 inter-team coordination mechanisms that form the empirical basis for a proposed taxonomy of inter-team coordination mechanisms
under three categories:
• Meetings, such as inter-team stand-ups, communities of practice, and retrospectives.
• Roles, such as the method specialist and program
architects.
• Tools and artefacts, such as such as Slack and
Confluence, and inter-team task boards, product
backlogs, and roadmaps.
Additionally, the study’s in-depth nature enabled us to
gather detailed characteristics and nuances of these mechanisms. We identified four key characteristics of inter-team
coordination mechanisms:
• Technical, that is, the product- or software development-based,
• Organizational, the team and company structure
based,
• Physical, the tangible characteristics, and
• Social, the inter-personal or community based.
Abbreviated as TOPS, these characteristics combine to
form a novel framework. Finally, we develop a visual template (provided in Section 5) to demonstrate how the taxonomy and framework can be used in practice to analyze
coordination mechanisms. The template provides an actionable approach for practitioners to assess and improve
their inter-team coordination practices.
2 BACKGROUND AND RELATED WORK
In this section, we present relevant background literature
on large-scale agile software development, coordination
mechanisms, and coordination challenges in large-scale
agile. Finally, we introduce the need for a taxonomy of inter-team coordination mechanisms, which is further developed in the results and discussion.
2.1 Agile Software Development at Scale
The term agile refers to iterative and incremental approaches to software development based on an “agile philosophy” that centers around the core principles of valuing
“individuals and interactions over processes and tools,” “close
collaboration with customers over contract negotiation,”
“working software over comprehensive documentation,” and
“responsiveness to change over following a plan” [28]. As such,
agile is not an out-of-the-box process or tool, but rather an
umbrella term for methods and ways of working with software development based on agile values and principles [1].
In recent years, the popularity of agile has expanded
well beyond small-team projects to the extent that today it
seems as though almost every organizational process has
the potential to “become agile” [29]. Although agile methods were originally intended for smaller projects [30] and
primarily have been successful in small teams, agile principles and techniques are popular also in large-scale software development [29]. According to the latest State of Agile report, almost 70% of the survey respondents were employed in software development organizations with more
than 100 individuals [31].
There is no single definition in the literature of what
constitutes large-scale agile [2]. Although there is some
agreement on the scale that qualifies it as large-scale (i.e.,
projects with more than six teams or involving more than
50 developers [1]), there is no agreement on a specific set
of development methods or practices that constitute largescale agile [2] or which large-scale practices are better [9].
A key characteristic of large-scale software development is the need to balance agile with the need for organizational-level alignment [2], [6], [7], [9]. A common approach is to use agile methods and tools at the team level
and to use a hybrid of agile and traditional project management approaches at the inter-team level [2], [5], [14]. For
example, an agile project might use retrospectives for team
leaders (an agile team practice) but involve project managers and key performance indicators (a non-agile role and
performance metric, respectively) as well. As such, the
term “large-scale agile” does not refer to any specific set of
methods, but represents a mix of agile and traditional tools
and practices [2], [6], [7].
2.2 Perspectives on Coordination and
Coordination Mechanisms
Researchers from a range of academic disciplines have
studied coordination for decades. In organizational and
management science, early contributions include Van de
Ven et al.’s [32] coordination modes, and Thompson’s [33]
notion of coordination by mutual adjustment, both representing explicit forms of coordination [34]. Later developments also take into account the dynamic and changing nature of coordination [17], [35]. Other approaches focus on
the role of relationships in driving coordination through
shared goals and knowledge and high-quality communication [36]. In teamwork studies and organizational psychology, implicit coordination has been studied from the
perspectives of shared cognition [37], transactive memory
systems [38], and shared mental models [39]. A detailed review of the literature on coordination in organizations can
be found in [17]. Common to perspectives on coordination
is the notion that interdependent tasks and activities are
managed by the use of coordination mechanisms.
Many software engineering researchers adopt Malone
and Crowston’s basic definition of coordination as the
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSE.2022.3160873, IEEE Transactions on Software Engineering
BERNTZEN ET AL., THE TOPS FRAMEWORK
management of interdependent activities [8]. In their coordination theory, dependencies stem from shared resources,
tasks, producer–consumer relationships, and simultaneity
constraints. They do not provide a firm operationalization
of coordination mechanisms, but provide examples of
mechanisms such as scheduling, tracking, inventory management, and goal selection [11].
Attempts have been made to develop coordination
mechanisms further into a more actionable concept.
Okhuysen and Bechky [17, p. 472] defined coordination
mechanisms as “organizational processes and arrangements that allow individuals to realize a collective performance.” This conceptualization makes sense in the largescale agile setting where ongoing processes to manage dependencies between teams are key to successful software
development. Schmidt and Simone [18] focus on the construction of coordination mechanisms in cooperative settings. They define coordination mechanisms as organizational constructs consisting of protocols, conventions, and
procedures that are related to artifacts used to reduce the
complexity of work [18], [40].
Researchers have argued for a more comprehensive
framework to understand and describe coordination in relation to the software development process and the daily
activities of software engineers [41], [42]. Because largescale agile consists of complex technical, organizational,
and social processes taking place both digitally and physically, we believe a broader definition of coordination mechanisms is necessary to include a wider range of categories
relevant to the large-scale agile setting.
In this study, we base our understanding of coordination on Malone and Crowston’s basic definition [8], combined the view of coordination mechanisms as processes
and arrangements [17], while recognizing the importance
of artefacts, standards, protocols and similar entities [18].
From this, we define coordination mechanisms as organizational processes, entities, or arrangements, used to manage dependencies between activities, to realize a collective
performance.
A coordination mechanism can be used for several purposes, and it must address at least one dependency [10],
[12], [13]. Dependencies occur when the completion of a
task or an action relies either on the output of a previous
task or action, or the presence of some artefact, person, or
information [13]. Examples of coordination mechanisms
applied at the individual team level include product backlogs and wall boards [24], daily stand-up meetings [19],
team-level specifications, wireframes [43], pair programming, and team-level domain specialists [13], to name a
few. Strode [13] developed a dependency taxonomy for agile teams with three categories and eight sub-categories:
• Knowledge dependencies refers to information required for an individual or a team to proceed and
it is comprised of requirement, expertise, historical,
and task-allocation dependencies.
• Process dependencies refer to the order in which
developmental or organizational tasks and activities must be completed and it consists of activity
and business process dependencies.
3
Resource dependencies refers to the need for specific objects, including an entity (a person, place,
or thing), and technical dependencies, including
software and architectural components.
Various coordination mechanisms are used to manage
these dependencies. For instance, knowledge dependencies can be managed by stand-up meetings or product
backlogs, process dependencies by burn down charts, and
resource dependencies by “done” checklists and informal
team communication [13]. Developed from research conducted within agile teams, this taxonomy provides an approach to coordination specific to agile development. Moving to the inter-team level calls for a further exploration of
coordination mechanisms used for coordination between
teams in large-scale agile.
•
2.3 Coordination Challenges in Large-Scale Agile
As the popularity of agile methods continues to grow, several challenges remain barriers to the success of large-scale
agile. The notion of autonomous teams lies at the core of
agile software development [30], [44]. However, in largescale agile, team autonomy must be balanced with the
larger organizational structures because of a greater need
for coordination and alignment between the system, the organization, and the product [1], [6], [45]. Product complexity and technical dependencies may further require careful
management in large systems, in particular those involving tightly coupled teams and architectures [5], [46]. These
and other challenges, such as coordinating between teams,
managing stakeholders, and keeping to the agile principles, seem to prevent the success of large-scale agile [1], [2],
[5]. Among these, inter-team coordination has been identified as a major challenge [1].
Inter-team coordination refers to coordination happening outside an individual team’s boundaries, either with
other teams or with roles operating between teams such as
architects and agile coaches [47]. In complex, large-scale
settings, ensuring optimal levels of inter-team coordination is far from straightforward as more teams, roles, and
technologies are introduced across teams. Inter-team coordination problems may stem from a lack of shared
knowledge about goals and prioritizations as well as inefficient communication [25], [48] and insufficient management of dependencies across teams [8], [10], [12].
In the face of such challenges, scaling frameworks attract practitioners’ attention, such as the Spotify model [2],
Large-Scale Scrum (LeSS) [49], and the Scaled Agile Framework (SAFe) [50]. Most large-scale frameworks propose
mechanisms to handle dependencies arising in the development process [3]. In LeSS, for instance, Scrum activities
such as sprint planning and backlog refinement are aggregated to the inter-team level [49]. In SAFe, the most widely
used scaling framework [31], coordination mechanisms include specialist and expert roles such as architects to manage technical dependencies across teams and provide expert support as well as the so-called agile release train to coordinate product delivery across teams [51].
Additionally, many organizations, including our case
organization, use a hybrid of methods or their own internal
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSE.2022.3160873, IEEE Transactions on Software Engineering
4
SUBMITTED TO IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
scaling methods [6], [25], [31]. A recent systematic literature review on large-scale agile showed that of 191 primary
studies on 134 large-scale organizations, 49 organizations
used a standard large-scale framework, such as SAFe,
while a total of 85 organizations had adapted and tailored
their approach to agile software development [2]. As empirical research on using large-scale frameworks develops,
a key finding is that context-based agile tailoring is vital to
capture and address each organization’s unique coordination context [2], [52] as well as changes in coordination
needs over time [35], [48]. Regardless of framework or approach, researchers and practitioners agree that coordination is key to the success of large-scale agile development.
2.4. Inter-team Coordination Mechanisms in Largescale Agile
Software development is a complex activity, and the larger
the project, the more dependencies there are likely to be
because most development work is conducted in parallel
by several teams [47]. In the large-scale agile context, dependencies constrain action across teams, requiring interteam coordination. In these situations, using inter-team coordination mechanisms is a way to manage these dependencies. These mechanisms are similar to team-level mechanisms, such as task boards and stand-up meetings, but
adapted for use at the inter-team level.
A central characteristic of large-scale software development is that agile tools and practices are often used alongside other approaches to project and organization management [6], [7], [48]. Previous research has shown that the
need for more and different forms of coordination is central to large-scale projects compared to smaller agile projects [5], [16]. Large-scale agile requires more communication arenas, extensive use of digital communication tools
[20], boundary-spanning coordinator roles such as project
managers [53], and expert roles operating at the inter-team
level, such as project or program architects [47], [51].
Previous research on large-scale agile development
practices has identified and described several individual
inter-team coordination mechanisms. Examples include
planned and unplanned meetings [15], [47], [48], communication platforms and tools such as Slack and JIRA [20],
groups of representatives (often referred to as communities
of practice) [3], [21]–[23] boundary-spanner roles such as
product owners and architects [24], [54], and open spaces
for inter-team coordination [5]. We revisit existing research
on inter-team coordination mechanisms in Section 5.
While studies recognize that coordination mechanisms
can be used for several purposes [14], [35], [48], research
has yet to examine the underlying categories and characteristics of coordination mechanisms in large-scale agile.
Large-scale software development is a complex socio-technical activity, where several possible solutions to development problems are possible [55]. As such, there are many
ways to design and implement technical software systems,
some better than others. The same applies to the social organization of software projects or programs, which is arguably the reason agile approaches are popular today. This
relates to an idea shared with the seminal literature on
coordination, namely that there is no one best way to organize for optimal coordination [8]. Different coordination
mechanisms may be used to manage dependencies in more
or less efficient ways, depending on the situation [35].
Therefore, it made sense to approach our study from the
basis of understanding both agile software development
and inter-team coordination as socio-technical activities.
Although previous research has identified and described several individual coordination mechanisms used
in large-scale agile, there is no collection or categorization
of inter-team coordination mechanisms. As such, while
there exist several accounts of individual coordination
mechanisms, tools for identifying and evaluating mechanisms are lacking. Such tools would benefit both researchers in structuring the further study of inter-team coordination and practitioners in selecting appropriate mechanisms
to manage their specific dependencies. With this study, we
seek to begin this work by developing a taxonomy of interteam coordination mechanisms in large-scale agile.
Taxonomies provide ways of systematically organizing
knowledge in a domain of interest to allow the identification of a class of phenomena, and to compare and contradict classes [56]. Taxonomies are used to describe novel
topics where concepts need to be identified, and when
much is known about a topic, but that knowledge is yet to
be meaningfully organized [56], [57]. They are useful in
mapping knowledge gaps, directing future research within
a field or topic of research and serving as basis for later development of process theories [56]. Within software engineering, examples include taxonomies for large-scale agile
projects [58], software testing skills [59], and global software engineering [60]. To assess their appropriateness and
relevance, taxonomies should be evaluated against predetermined quality criteria. We return to this in Section 5.
3 RESEARCH DESIGN
In this section, we present details of our case organization,
the data collection, and analytical procedures. We conducted a case study in a large-scale public sector IT organization in Norway. We chose a case study approach because we wanted to gain a deep understanding of coordination mechanisms within a real-life context. Case studies
are suitable to answer research questions requiring substantial depth and level of detail, in particular when the
boundaries between the topic of study and its context is
not clear [61], [62], such as the complex socio-technical activities involved in the coordination of large-scale software
development. Our access to the case over 1.5 years provided ample opportunity to study the topic in depth. In
our case study, we applied an ethnographic approach to
the data collection procedures and a thematic analysis approach to the data analysis. Our presentation of the findings follows a style common to reporting the findings of
similar case studies in software engineering, e.g. [6],
[63]. Details on the data collection and analysis are presented in sections 3.2 and 3.3.
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSE.2022.3160873, IEEE Transactions on Software Engineering
BERNTZEN ET AL., THE TOPS FRAMEWORK
3.1 Case Description
Our case company, Entur, is a public sector IT organization
established in 2016, following a public transportation reform initiated by the Norwegian Ministry of Public Transportation. We chose this case because it is an ongoing development program with a complex product and many dependencies across teams, making it an interesting case for
studying inter-team coordination. The case has been regarded as a successful large-scale public software development program by the Digitization Council of Norway, a
professionally independent body appointed by the Ministry of Local Government and Modernization
(https://www.digdir.no/digdir/about-norwegian-digitalisation-agency/887). The program is further recognized
as a mature agile program by practitioners within their national context.
Access was arranged through the third and fourth authors, who were first connected to the organization in 2017
through a funded research project. It became clear during
this initial contact that this case represented a unique opportunity to study coordination in a fast-growing, largescale agile company with a complex external environment
and a diverse stakeholder group, stretching from end users
of the product to governmental departments.
When the opportunity arose to conduct a case study in
early fall 2018, three of the four authors met with Entur
representatives to set up arrangements. During these initial meetings, we learned more about the organization, the
team organization, and their challenging areas. Following
these meetings, the first author commenced the data collection from August 2018 through January 2020.
3.1.1 Case Context
Entur’s main goal is to develop and maintain a digital platform for public transportation in response to a political reform. Thus far, they have been successful in meeting the
reform goals. Some of Entur’s services include a travel
planning application and online as well as physical systems for selling and distributing tickets. Its customers and
users include public transportation operators in Norway
that use its APIs and sales systems as well as individual
travelers using the platform and its services. A vital part of
the transportation reform was onboarding new transportation operators on Entur’s platform and continuously developing the relationship with these operators. Therefore,
Entur frequently held workshops, retrospectives, and
meetings, and participated in a change advisory board
with the major customers.
While the new platform was under development, the
old system was maintained. The new cloud-based platform is built on modern architectural principles and is
based on microservices, whereas the old system has a monolithic structure. The new platform runs on Google Cloud
Platform with Kubernetes and Firebase. During the course
of our data collection, Entur was still dependent on the old
system to provide its services, but the company was working towards making it redundant. Many languages and
tools were used to develop the new platform, and Entur
adopted new technologies as needed. Some central
5
languages included Kotlin, Java, and Scala for back-end,
and JavaScript (Node.js) and React-Native for front-end.
Additionally, they used support tools such as Grafana, Prometheus, JIRA, Confluence, and Slack.
The relatively complex internal and external environment surrounding the development program led to a range
of dependencies across teams. Examples of dependencies
include technical dependencies between the old and new
software platforms and between the development teams as
well as knowledge dependencies due to a shortage of expert resources and the distribution of knowledge between
teams. Process dependencies also resulted from autonomous teams with different development routines as well as
from the surrounding organization. We return to these and
other dependencies in Section 4.
3.1.2 The Large-Scale Agile Environment
Entur has worked with agile methods since it was established in 2016. The company does not subscribe to any specific large-scale framework but uses a hybrid of methods
and practices based on the current development needs.
Practices were subject to change as the organization scaled
and new needs arose. From August 2018 to January 2020,
the number of development teams grew from 13 to 17, and
the number continued to grow after we concluded our data
collection. As such, the use of agile practices in the program was not static but changed over time.
Overall, the teams had the autonomy to choose how to
organize themselves and which agile practices, tools, and
techniques to use in solving their team-specific development goals. Practices from Scrum and Kanban, such as
stand-ups, retrospectives, product backlogs, and visual
task boards, were commonly used. An important factor for
the use of agile methods in the program was the support
of top management and the board of directors to work in
this way. Another was their ability to test and experiment
with their ways of working to respond to their internal and
external environment while simultaneously keeping up to
speed delivering services to their clients and the public.
This meant some practices emerged as the program scaled,
whereas others disappeared. This ability to sense and respond was one of the large-scale agile program’s strengths.
Entur organized its developers into teams that each had
areas of responsibility towards the overall product. On average, the teams spent 40% of their time developing new
features and 60% on maintenance, bug fixing, and improving the code (i.e., reducing technical debt). Each development team had a team leader, product owner, tech lead,
and developers. Some team leaders and product owners
were responsible for more than one team. The number of
members per team ranged from five to 17. In addition to
the team roles, there were roles at the inter-team level, such
as program managers and architects, as well as customer
managers (see Table 4). The teams worked in an open office
landscape that was also used for open space sessions as
well as for displaying inter-team tools and artefacts (see
Section 4 for more details).
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSE.2022.3160873, IEEE Transactions on Software Engineering
6
SUBMITTED TO IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
Fig. 1. Overview of the data collection from August 2018 to January 2020
Although keeping an agile mindset and providing the
teams with the autonomy to self-organize was considered
a strength in the program, its size and complexity also led
to coordination challenges that warranted the need for
shared routines and mechanisms across teams. During the
course of our study, several such initiatives were taken, including using inter-team backlogs and prioritization documents, establishing more inter-team meetings such as communities of practice, and hiring a delivery process specialist responsible for implementing a shared delivery process
that would better support future continuous integration
and DevOps initiatives. These and other practices to be further described in Section 4 and Section 5.1.1., supported the
program in balancing autonomy and alignment in the
large-scale environment.
TABLE 1
DATA COLLECTION DETAILS
MEETING
OBSERVATIONS
INTERVIEWS
3.2 Data Collection
Our data consist of 113 hours of meeting observation across
62 days on site, 31 in-depth interviews, and a range of supplemental documentation. Data were collected from August 2018 through January 2020. Figure 1 provides an overview of main events during the data collection period.
Within our overarching case study approach, we collected
data using a variety of sources and techniques, including
interviews, project documentation and chats, and an ethnographic approach to the data collection [64]. We chose
ethnographic data collection procedures such as participative observation and detailed note-taking as data collection
mechanisms because it suited our aims of understanding
people’s practices as they unfold in a natural setting [65].
Ethnographic approaches to data collection are typically
defined by researcher immersion in the context of the participants and it traditionally involves long-term fieldwork
where the researcher spends considerable time with the research participants, observing and documenting their everyday situations [64], [65]. Within software engineering, an
ethnographic approach to data collection can “provide an
in-depth understanding of the socio-technical realities surrounding everyday software development practice” [64, p.
786]. We considered this appropriate to our overall research question due to the opportunities for deep understanding provided.
Another defining characteristic of an ethnographic approach to data collection is extensive notetaking. During
our time on-site, field notes were written following an observation protocol specifying the contents of the record,
participants present, description of activities, direct quotes,
DOCUMENTATION
113 hours of observation across 62 days onsite, including:
• 10 prioritization meetings
• 7 tech lead forums
• 7 program demos
• 6 product owner meetings
• 6 inter-team stand-up meetings
• 4 inter-team retrospectives
• 2 OKR workshops
• 26 ad hoc inter-team meetings
• 26 intra-team meetings
31 interviews with 25 participants (mean
length 51 minutes).
Participants included:
• 10 product owners (6 male, mean IT
tenure 11.5 years, mean company tenure 1.8 years)
• 5 program managers (4 male, mean IT
tenure 18 years, mean company tenure
1.6 years)
• 4 program architects (4 male, mean IT
tenure 19 years, mean company tenure
1.4 years)
• 4 tech leads (3 male, mean IT tenure 7
years, mean company tenure 2.4 years)
• 2 team leaders (2 male mean IT tenure
9 years, mean company tenure 1.5
years)
Slack logs, Confluence documentation, emails, internal and external company documents (e.g., presentations, reports)
snippets of conversations, researcher reflections on the observations, and any follow-up questions or concerns [65].
Notes were jotted down during meetings and observations
and were refined at the end of each observation day. The
field notes correspond to 216 pages of text (with standard
MS Word margins, 11-point Calibri font). The in-depth descriptions resulting from the fieldwork, combined with the
extensive field notes, resulted in a large and diverse data
material that allowed for a detailed analysis. Table 1 provides an overview of the data, and the following sections
provide more details.
Observations. The first author conducted the observations
on an even basis throughout the data collection period (see
Figure 1). We observed inter-team meetings where all
teams were represented, including inter-team stand-ups
and retrospectives, tech lead forums, and program demos.
In addition, we observed ad hoc inter-team meetings
where two or more teams were represented. We also
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSE.2022.3160873, IEEE Transactions on Software Engineering
BERNTZEN ET AL., THE TOPS FRAMEWORK
Meeting observation
Raw data: Team leader retrospective.
Date: Tuesday, October 9, 2018, 8:25 AM.
Place: [Entur site, large meeting room with whiteboard and whiteboard pens.]
Participants: 13 participants, excluding the researcher. Present
were team leaders and representatives of the teams, retrospective
facilitator, a project manager, and development manager.
“We are sitting in a large meeting room downstairs, people sitting
around a table. On one side of the room is a whiteboard, some
sitting with their backs to it, but they can easily turn the chairs to
see the board. The team leaders have stand-ups every Monday,
and occasionally (the facilitator told me last time was during this
summer) they have retrospectives focusing on inter-team collaboration from the team leader perspective. […] Therefore, they did
not have an ordinary stand-up this week.”
Code1: Inter-team meeting
Code2: Team leader retrospective
Code3: Physical set-up
Fig. 2. Field notes extract of a meeting observation
observed intra-team meetings within the development
teams. The intra-team meetings almost always covered inter-team aspects, which made them relevant to our analyses. In addition to the meetings, we also observed the development teams’ everyday work practices and engaged
informally with the developers and other employees. In
line with our ethnographic approach, we took detailed
notes following all types of observation as well as after
each day of fieldwork. Notetaking involved describing the
physical setting, the artefacts used, and people involved,
as opposed to focusing only on what appeared salient in
any given situation [65]. We did this to capture the richness
of the coordination activities conducted. Figure 2 shows a
sample note from a retrospective meeting.
Interviews. In addition to the extensive field observations,
we conducted 31 semi-structured interviews. Twelve interviews were conducted in October 2018, two during AprilJuly 2019, ten in October and November 2019, and seven in
January 2020. On average, the interviews were 51 minutes
long, on average. Informants held various roles relevant to
inter-team coordination in Entur, such as team leaders, tech
leads, and product owners, as well as the program architects and managers, and specialist roles such as the method
and process specialist. Six of the participants were interviewed twice with one year in between.
Although the interviews were largely conversation
driven, we used an interview guide to direct the conversation. The full interview guide is provided in Appendix A.
Some standard questions asked were:
• Can you tell me about your role on the project?
• What challenges do you see in this development program?
• How is information shared across teams?
• How is coordination conducted across teams?
The interviews were recorded with the participants’ consent and the first author transcribed them verbatim. Figure
3 provides a short excerpt from an interview transcript.
7
Interview transcript
Interview with: [Participant I15]
Date: October 2019
Place: [Entur site, small meeting room with whiteboard and
whiteboard pens.]
Interviewer: Please, tell me about your role in the program?
I15: [excerpt only] “I’m here to work with the deliveries in Entur
across teams and make them more coherent.”
Code1: Inter-team role
Code2: Deliveries across teams
Fig. 3. Interview transcript extract
Supplemental material. As a final data source, we supplemented the observations and interviews with program
documentation such as Slack logs, JIRA and Confluence
documentation, and other resources such as meeting
minutes and company presentations. Supplemental material was selected to reflect the period of the data collection.
We had access to Slack, JIRA, and Confluence throughout
the data collection period. For the purposes of the analyses,
we only included material where aspects that are relevant
inter-team coordination were discussed. As another example, we collected all available company presentations, as
this material was less substantial than the chat logs and
project documentation.
Examining these sources provided us with additional
context related to, for instance, the use of coordination
mechanisms, information about team organization, and inter-team documentation routines. For example, field notes
from meeting observations were checked against meeting
agendas when these were posted on Confluence, or Slack
logs provided context to statements from interviews. Figure 4 provides a short extract from a Slack chat log.
Slack log
Date: April 2019
Channel: Open-general
Topic: Discussion of new guidelines for channel names
Person1 [9:31 AM]: Great work on the new channel names.
We still miss input from some teams but we’re getting there
:slightly_smiling_face:
Person2 [9:34 AM]: What about internal channels, how do we
name those?
Person3 [9:53 AM]: You can use <teamname><app> [i.e.,
name template for private channel], if you don’t mind
Person 2 [9:43 AM]: Maybe I’d rather use <openname> [i.e.,
name template for open channel]… The channel is not just for
the team…
Person 3 [9:45 AM]: ok, team or open, you know which best
yourself :slightly_smiling_face:
Code1: Inter-team coordination
Code2: Digital communication tool
Fig. 4. Supplemental documentation extract: Slack log
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSE.2022.3160873, IEEE Transactions on Software Engineering
8
SUBMITTED TO IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
TABLE 2
PHASES OF THEMATIC ANALYSIS [23], [24]
Phases
1. Familiarizing
with the data
2. Generating
initial codes
3. Searching for
themes
4. Reviewing
themes
5. Defining and
naming themes
6. Producing the
report
How the phases were conducted
We transcribed, read, and reread the material and noted down initial ideas on a regular basis throughout the
data collection period. This familiarized us with the data to make initial analytical reflections on how inter-team
coordination was performed. The 1st, 3rd and 4th authors were involved in this phase.
Initial codes were generated iteratively as data was collected. Figures 2-4 provide examples. During initial coding it is better to be too inclusive over too exclusive, as codes will be refined in later phases. From this, 59
potential inter-team coordination mechanisms were identified. The 1st, 3rd and 4th authors were involved.
Codes were reviewed and refined to identify themes. The full data corpus was re-examined. Themes were
related to the categories of inter-team coordination mechanisms as well as to the underlying characteristics of
the coordination mechanisms. The 1st and 2nd authors were involved in this phase.
Themes were checked in relation to the coded extracts and the entire data corpus. All identified inter-team
coordination mechanisms were examined according to category and key characteristics. Their uniqueness was
re-examined, and similar and overlapping mechanisms were identified. The number of mechanisms was reduced from 59 to 27. The 1st and 2nd authors were involved in this phase.
The specifics of each theme where refined and checked for coherence. Definitions and names were generated
for each theme (see Table 3 and Figure 5). The 1st and 2nd authors were involved in this phase.
Writing up the study provided a final opportunity to relate the analysis to the research questions and the literature, by the selection of compelling examples and illustrative quotes and iterating on the study presentation. All
four authors were involved in this phase.
3.3 Data Analysis
We analyzed the underlying data using thematic analysis
[26], [27]. Thematic analysis is a method for systematically
identifying and analyzing patterns across a data corpus, referring to all data collected for a project. Thematic analysis
is suitable for handling large amounts of data, and therefore represented a suitable approach to handling the large
data material resulting from the ethnographic approach to
the data collection, including 113 hours of observation
across 62 days of fieldwork, 31 interviews, and various
forms of supplemental documentation.
Thematic analysis allows the researcher to identify commonalities across data items (e.g., an interview transcript
or field note record) that are coded for meaning. The coded
pieces of data are referred to as data extracts. These form
the basis for the later identification of themes [26]. Figures
2-4 provide examples of extracts from each of the three
data sources with codes.
Thematic analysis can be both inductively and deductively guided. When the analysis is inductively driven,
themes have strong links to the data, whereas with the deductive approach, the existing literature guides the
themes. Using a combination of both is common [27]. Both
approaches guided our thematic analysis. During early analytical phases, we focused on the empirical data to derive
the individual coordination mechanisms and group them
into themes and patterns. During later phases, we focused
on our understanding of coordination mechanisms from
the existing literature, described in Sections 2 and 5.
We used the qualitative data analysis software NVivo 12
for coding, and we kept a list of the coordination mechanisms identified in a spreadsheet that was later expanded
to include the emerging framework. While sharing the full
coding spreadsheet is not possible due to the underlying
confidentiality clauses, we have shared several examples
throughout the manuscript, summarized in Table 4.
3.3.1 Conducting the Thematic Analysis
Thematic analysis consists of six phases [26]: (1) familiarizing with the data, (2) generating initial codes, (3) searching
for themes, (4) reviewing potential themes, (5) defining
and naming themes, and (6) producing a report. Table 2 illustrates how we moved through the six analytical phases.
A theme “captures something important about the data
in relation to the research question, and represents some
level of patterned response or meaning within the data set”
[26, p. 82]. A pattern relates to recurring instances of a similar type that are prevalent enough to be considered a
theme. When a pattern or type is “enough” to constitute a
theme is a judgment call on behalf of the researchers [26]
based on questions such as, “What does this theme include
and exclude?” and “Does this theme tell us something useful about the data set and the research question?” [27]. In
this study, we considered the categories and the characteristics of inter-team coordination mechanisms as themes.
Importantly, the thematic analysis process is iterative
rather than linear, and moving back and forth through
phases to ensure themes and patterns are related is encouraged [26], [27]. As such, elements of previous phases were
involved in the later stages of the analysis. For instance, the
full material was re-examined during Phases 4 and 5 to update themes and codes identified during previous phases.
3.3.2 Defining and Naming Themes
The first and second authors identified, reviewed, and defined the themes during Phases 3 to 5. One set of themes
related to categories of inter-team coordination mechanisms. Through iterative discussions, the initial 59 coordination mechanisms were combined and reduced, resulting
in 27 mechanisms. Among those, many shared similar features (i.e., they were of the same category). We therefore
categorized the inter-team coordination mechanisms in
three themes according to the category of the mechanism:
meetings, roles, or tools and artefacts. More details on
these categories are provided in Section 4.
A second set of themes related to the key characteristics
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSE.2022.3160873, IEEE Transactions on Software Engineering
BERNTZEN ET AL., THE TOPS FRAMEWORK
TABLE 3
THE TOPS CHARACTERISTICS
TECHNICAL
ORGANIZATIONAL
PHYSICAL
SOCIAL
A characteristic of the coordination mechanism related to managing dependencies related to the software product itself. Also applies to digital tools or platforms supporting
the development process. For example, the
architect role or the tool Slack.
A characteristic of the coordination mechanism that captures the wider structural context of the development organization, managing business process dependencies in
particular. For instance, team design and
organizational design.
A spatial or tangible characteristic of the coordination mechanism. For instance, intangible mechanisms with spatial dependencies and physical artefacts and objects
such as task boards.
An interpersonal or community-based characteristic of the coordination mechanism,
related to the management of interpersonal
dependencies. For example, roles or activities that enable coordination through
groups, typically a meeting.
of the coordination mechanisms. The socio-technical perspective on software engineering served well to capture
the social and technical nature of inter-team coordination
mechanisms. Through ongoing and iterative discussions,
the first two authors examined each coordination mechanisms in detail, discussing what made them social and
technical based on how they worked to support inter-team
coordination. All mechanisms were technical and social in
nature. Technical, because all mechanisms related to either
the software product or were technological tools or artefacts used to support software development, and social, because all mechanisms were interpersonal or community
based. However, our case observations and analyses
strongly indicated additional aspects that could not be explained using social and technical perspectives alone.
From these secondary analyses, two additional characteristics emerged; that is, the organizational and physical.
Some mechanisms displayed characteristics that captured the wider organizational context of the development
process and activities. For example, the delivery process
specialist role had as its primary goal to improve the interteam delivery process, thereby managing process dependencies. Further, several mechanisms appeared to have spatial or tangible characteristics related to size-related or
physical dependencies in the large-scale setting. For example, the platform and test teams would occasionally sit
with the development teams to solve the relevant tasks.
Further, most meetings ideally required appropriate meetings rooms. We therefore included a category to capture
these physical characteristics. Definitions of the technical,
organizational, physical, and social (TOPS) characteristics
are presented in Table 3.
During the analyses, we also observed that most mechanisms could be placed under multiple TOPS characteristics. The first and second authors discussed all such occurrences to reach agreement on the mechanism’s primary
and secondary characteristics. Decisions were based on
9
how the mechanism was used to manage inter-team dependencies and how it was represented in the data by the
strongest evidence. For example, the weekly Friday Demo
(see Table 4 and Figure 5) is an inter-team meeting that primarily serves a social purpose (demonstrated by an R
icon) and primarily manages knowledge dependencies
(captured in the last ‘description’ column) in that teams
take turns showcasing their work to all other teams. Another aspect reinforcing the social characteristic was the informal socializing following the demos. From seven demo
observations, we could see how the demo often ended with
casual conversations accompanied by some Friday snacks,
providing people with an end-of-week break, and satisfying their informal socializing needs. Based on these observations, and because the demo’s primary function was described in interviews as an informal arena for bringing
people together before the weekend, we deemed the primary characteristic of the demos as being social. The demos also have technical characteristics in that they focused
on the product and physical characteristics because they
had to be conducted in the open office space to ensure
room for all participants.
Fig. 5. The technical-organisational-physical-social (TOPS)
framework, illustrated by the Friday Demo
4 CASE STUDY RESULTS
In this case study, we set out to investigate how inter-team
coordination mechanisms are used in large-scale agile software development and how these mechanisms support inter-team coordination. This section presents our findings.
From our analyses, we identified 27 inter-team coordination mechanisms across three categories: meetings,
roles, and tools and artefacts. These form the taxonomy of
inter-team coordination mechanisms, displayed in Figure
6. The three categories are further divided into six subcategories: (a) schedule meetings, (b) unscheduled meetings,
(c) individuals playing specific roles, (d) teams playing
specific roles, (e) tangible tools and artefacts, and (f) intangible tools and artefacts. The following sections are structured according to these categories. Table 4 provides brief
details on all 27 mechanisms, their TOPS characteristics,
and the ways they support inter-team coordination by relating them to the knowledge, process, and resource dependency categories [13] outlined in section 2.4.
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSE.2022.3160873, IEEE Transactions on Software Engineering
10
SUBMITTED TO IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
Fig. 6. A taxonomy of inter-team coordination mechanisms
4.1 Inter-team Coordination Meetings
Inter-team coordination meetings are meetings where
team representatives and/or roles operating at the interteam level discuss, coordinate, and share knowledge relevant across teams or to the development program as a
whole. Inter-team meetings held at Entur included regularly scheduled meetings such as the team leader standups, prioritization meetings, product owner meetings, program architect meetings, Friday demos, and the tech lead
forum, which was the regular meeting of the tech lead
community of practice. There were also retrospectives for
team leaders, product owners, and tech leads, respectively
(presented collectively in Table 4); quarterly product
owner workshops; and Objectives and Key Results (OKR)
workshops (to be explained in Section 4.3), where team
representatives, program-level architects, and managers
were present. In addition, there were various ad hoc coordination meetings. We therefore include both scheduled
and unscheduled meetings in the taxonomy.
Table 4 describes the 10 inter-team meetings, their TOPS
characteristics, and how they support inter-team coordination. All the meetings served to manage knowledge dependencies by enabling information sharing between
teams, and fulfilling social needs, thereby displaying social
characteristics. All meetings further served to address
technical dependencies related to tasks or activities in
terms of product features and/or requirements, development technologies, architecture, or similar. Some of the
meetings also had an organizational purpose in that they
served to manage dependencies related to the development process or business processes. Finally, all meetings
had some physical requirements due to size and/or due to
some physical artefact (e.g., a task board) that dictated
where the meetings were held. To illustrate, we describe
the team leader stand-ups and unscheduled meetings.
Team leader stand-up. Every week, the development, platform, and test team leaders gathered for a stand-up. The
development manager, customer managers, and other
managers also attended on an irregular basis to stay up to
date, making for about 20 participants, on average, in each
meeting. Facilitated by the agile method specialist, the
meeting was focused on gaining an overview to identify
current and upcoming dependencies that could cause
blockages or delays across teams. The primary focus of
these meetings was feature- or product-related progress
across the teams; therefore, the meetings were characterized primarily as technical inter-team coordination mechanisms. One example was observed in March 2019, when a
team leader raised the issue that the alerts that came into a
dedicated Slack channel about technical issues in the production environment were “not very clear.” The team leader
complained that many incoming alerts were difficult to understand, and accordingly were hard to prioritize. The
question “What are production errors, what are only alerts, and
what can be ignored?” was posed, followed by other team
leaders joining in, starting a technical discussion about
alerts’ definitions and framing.
The social characteristic can be illustrated by the community-based features, in that team leaders meet regularly
to connect and update each other across teams, thereby
managing knowledge dependencies and serving a social
purpose by connecting team leaders. Because the scope of
the stand-up was brief and focused, topics of structural or
wider organizational nature typically were not discussed.
Finally, there were also physical requirements connected to
the meeting, in that the number of participants created a
requirement for enough open office space for about 20 people to stand in a circle and at the same time not interfere
with the developers’ work.
Unscheduled meetings and ad hoc coordination. In addition to the many scheduled meetings, unscheduled meetings were used extensively to resolve day-to-day interteam dependencies. “Oftentimes, we solve things by walking
over and talking to each other. I really like that. Not everything
needs to be a meeting” [I01, Product Owner]. At other times,
it was necessary to assemble more people.
During our 62 days on-site, we observed many instances of unscheduled meetings, and we were invited to
join several of these. As an example, on one occasion in
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSE.2022.3160873, IEEE Transactions on Software Engineering
BERNTZEN ET AL., THE TOPS FRAMEWORK
11
TABLE 4
INTER-TEAM COORDINATION MECHANISMS, PER TAXONOMY CATEGORY AND TOPS CHARACTERISTIC
Coordination
Mechanism
T
O
P
S
Description of the mechanism and how it supports inter-team coordination
COORDINATION MEETINGS (n= 10)
Community of
practice meetings*
Friday demos
R P P
P
P
Inter-team
retrospectives*
P
OKR workshops
R P P
P
P
Prioritization
meetings
PO weekly
meetings
PO
workshops
R
Program architect meeting
Team-leader
stand-ups
Unscheduled
meetings
R P P
Customer
managers
Development
manager
Agile method
specialist
Platform team
R
P
P
P
P
R P P
R
P
R
P
Team representatives meet bi-weekly to share topic-specific knowledge across teams, such as technical
P coordination, thus managing knowledge, process, and resource dependencies. Due to many participants, a large meeting room with many seats and audio-visual set-up is required.
A weekly demo for all employees. Teams take turn showcasing their work, demonstrating new features
R or ideas, thereby managing knowledge dependencies across all teams. An informal arena for socializing,
often with snacks provided. Conducted in a large open space with audio-visual arrangements.
Held approximately quarterly for discussing improvements of inter-team work processes, but also techR nical (product) or organizational aspects. As such, process as well as resource and knowledge dependencies are managed. Requires a room and tools suitable for retrospectives.
Held quarterly at an off-site location to discuss, align, set, and share inter- and intra-team OKRs, thereby
P managing knowledge dependencies. OKRs primarily relate to technical (product) progress, but can also
be related to organizational outcomes, thus also managing process dependencies.
Bi-weekly, conducted in front of a prioritization task board. Focused on product and technical requireP
ments, thus managing knowledge and resource dependencies.
POs meet bi-weekly during lunch hours in a meeting room close to the cantina. Discussion of technical
R
product, as well as organizational topics, managing resource, process, and knowledge dependencies.
POs meet quarterly to plan and discuss longer-term technical product-related areas. Organizational isP sues, such as team structure, are also discussed. Held at an off-site location and includes retrospectives
and informal socializing. The workshop thus manages resource, process, and knowledge dependencies.
Weekly meeting where product technical and architectural quality are recurring themes. Organizational
P
aspects can also be discussed, thereby managing primarily resource, but also process dependencies.
Weekly stand-up for sharing status across teams, with a focus on product, thus managing knowledge
P
and resource dependencies. Conducted in open space.
Conducted ad hoc, as needed, across relevant teams. Typically focus on product feature and deliveries,
P
thus managing knowledge and resource dependencies. Held in open office space or meeting rooms.
COORDINATION ROLES (n = 9)
One per major customer, this role attends meetings at the clients’ sites. Brings information on e.g., requirements and specification back to the teams, thus managing knowledge and resource dependencies.
Responsible for team leaders, has a high-level overview of teams’ major tasks and prioritizations. Also
P R
P
responsible for staffing, thus involved in managing resource (entity) and business process dependencies.
Responsible for agile methods and has overview of requirements, tasks, and prioritizations across
P
R P
teams, thus managing process and technical resource dependencies.
Internal service team that manages technical resource dependencies by facilitating the teams’ technical
P P
R
environment, providing a common platform. Some facilitation requires sitting with development teams.
Delivery proImplements an inter-team delivery process with the goal of aligning and improving inter-team product
P R
P
cess specialist
deliveries, thus managing primarily process but also resource, dependencies.
Program
Concerned with the inter-team software, product, and organizational architecture. Involved in technical
P
R P
architects
and structural discussions, thus managing resource, business process, and knowledge dependencies.
Product
Responsible for POs, has overview of requirements and prioritizations across teams and clients. Involved
P R
P
manager
in structural discussions, thus managing entity resource and business process dependencies.
Task force
Temporary teams consisting of members from permanent teams used to implement interdependent feaP P tures of high priority, thus primarily managing resource (technical and entity) dependencies. The team is
teams
R
co-located while working together, and dissolves after feature completion.
Test team
Performs testing across teams and coordinate inter-team testing efforts, thus managing process and
P P
R
resource dependencies. Some testing requires sitting with the development teams.
COORDINATION TOOLS AND ARTEFACTS (n = 8)
CommunicaTools such as e-mail and Slack, enabling digital communication and information sharing across teams,
P
R
tion tools*
thus managing resource (technical) and knowledge dependencies.
DocumentaTools such as JIRA and Confluence, supporting the development process and enabling information
P
R
tion tools*
sharing across teams, thus managing resource (technical) and knowledge dependencies.
OKRsa
Conveys information on both technical (product) and organizational objectives and outcomes across
P
P
P
R
teams, thus managing primarily resource, but also business process and knowledge dependencies.
Burndown
Digital, displays information related to completion of product-related development tasks and activities
P
R
charta
across teams, thereby managing resource (technical) and knowledge dependencies.
Prioritization
Digital, displays information on overall development priorities, across teams and clients. Enables comP
R
documenta
munication and information sharing, thus managing knowledge, but also resource dependencies.
Roadmap
Enables communication and information sharing related to overall product delivery milestones across
P
R
(digital)a
teams, thus managing resource, process, and knowledge dependencies.
Roadmap
Similar as the above, but displayed in the open office space, thus containing less detail than the digital
P P
R
(physical)a
roadmap. People engage with it physically, e.g., by updating tasks.
Task boarda
Similar characteristics as the prioritization document but displayed in the open office space therefore
P
P
R
showing top prioritizations only. People engage with it physically, e.g., by updating tasks.
Notes. An asterisk (*) indicates that similar mechanisms were collapsed into one. PO = Product Owner. Primary characteristic, indicated
by R, is set based on which type of dependency is primarily managed. Artefacts are indicated by a. The types of dependencies, following
[13], are described in section 2.3.
P
P
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSE.2022.3160873, IEEE Transactions on Software Engineering
12
SUBMITTED TO IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
April 2019, we witnessed over the course of a day how one
team needed to coordinate with three other teams they depended on for completing a feature (i.e., resource dependencies). Early in the day, the team leader talked to his team
to gain an overview of issues that needed to be resolved
and to identify any dependencies on other teams that could
delay the work. Following this, the team leader disappeared for a while, to come back having gathered representatives for the relevant teams for a meeting to address
the technical dependency across the three teams that had
blocked the developers’ progress.
The technical characteristics of unscheduled meetings
are evident in that their primary purpose was to manage
technical dependencies by quick product- and task-related
coordination. These meetings further bear a strong social
characteristic due to the interpersonal nature of such meetings. Physical aspects were also evident. While coordination may be performed digitally, having people nearby was
considered valuable for swift dependency management.
“You achieve much more by just talking to people face-to-face
than spending time writing on Slack or sending e-mails” [I08,
Product Owner]. Moreover, ad hoc physical coordination
required suitable spaces (see Figure 7).
Fig. 7. A multi-purpose room at Entur, used for ad hoc coordination,
socializing, and for meetings including a physical task board.
4.2 Inter-team Coordination Roles
Inter-team coordination roles were regarded as roles external to the development teams. Table 4 presents these nine
roles and their TOPS characteristics. We include both individual roles (i.e., the expert and manager roles) and team
roles in our taxonomy. All roles are performed by people
coordinating with other people at an inter-team level,
thereby serving to manage knowledge dependencies and
holding social characteristics. However, they also had different purposes. In the following, we describe the nine
roles and their characteristics in more detail.
The expert roles. While all inter-team roles contributed to
managing knowledge dependencies, expert roles were primarily important for managing technical dependencies.
These roles included the program architects, the agile
method specialist, and the delivery process specialist.
The program architects were senior architects who held
detailed knowledge about Entur’s technical and organizational architecture. As such, they were important for managing knowledge expertise dependencies, for instance, by
sharing information across teams regularly during the tech
lead forum (one of the communities of practice) meeting
and in the tech lead Slack channel and Confluence page.
While the program architect role was primarily technical,
they also had a wider organizational purpose: “My role includes having an overview of questions like, ‘How are we organized?’ ‘What do we measure?’ ‘Are we data-driven in our
work?’ And one of my earliest initiatives when starting here was
establishing an architecture group to achieve more than each individual [architect] can do alone” [I19, Program Architect].
The method specialist, responsible for agile methods
and practices, was important for managing dependencies
across the program. The role was described as “a jack of all
trades, really, who see needs and I try to fill them” [I20, Manager]. For instance, the method specialist implemented artefacts (e.g., the inter-team backlog), facilitated inter-team
meetings (e.g., stand-ups and retrospectives), and introduced the Friday demos exemplified in Section 3.2.2. Finally, primary goal of the delivery process specialist was
improving the inter-team delivery process, thereby attaining organizational needs and managing process dependencies by “making the deliveries more aligned and contribute to
improved predictability” [I15, Manager].
The manager roles. The product manager, development
manager, and customer managers were important for managing entity and business process dependencies, and primarily held organizational characteristics.
The development and product managers each had personnel responsibility for the team leaders and product
owners, respectively, and were responsible for coordinating these groups. As such, they both managed resource dependencies. “They work to get more resources, recruit their own
people [i.e., team leaders], and make sure they are developed”
[I12, Manager]. Perhaps more importantly, they were part
of organizational discussions and decision-making, making them important in relation to business process dependency management “to look at processes and routines so that
everyone can work effectively. The goal is to make the hottest development environment in the country!” [I12, Manager].
The customer managers were considered primarily important in relation to technical dependencies, but also
knowledge dependencies, in that they collected and shared
technical information between the customers and the
teams. “In practice, they are part of defining what we promise
the customers” [I20, Manager]. The physical characteristic
also applied to the customer managers because they were
required to spend time at the clients’ offices.
The team roles. Both internal support teams such as the
platform and test teams and the temporary task force
teams were important for managing technical dependencies. These teams specifically targeted development activities across teams and contributed to coordinating productrelated issues above and beyond the single teams.
The test team “coordinate[d] test runs and supports the
teams with test automation” [I09, Product Owner], while the
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSE.2022.3160873, IEEE Transactions on Software Engineering
BERNTZEN ET AL., THE TOPS FRAMEWORK
platform team provided various shared services and infrastructure across the development teams. As Entur continued to scale, the platform team was central to technical dependency management as “almost everything runs through
the platform team” [I22, Tech Lead]. The team leader of the
platform team explained: “We’re a bit all over the place because of our position. We work across teams, and we’re a technically heavy team, which means that we notice a few things that
need to be coordinated across teams” [I25, Team Leader]. In
addition to managing technical inter-team dependencies,
there were physical characteristics related to both teams, as
team representatives would often sit with the relevant development teams they were supporting.
As a third type of team role, Entur used temporary
teams as needed. These were known as “task force teams”
and consisted of members from different development
teams who were assembled to implement inter-dependent
product features of high priority. As such, the technical
characteristics are illustrated by the teams’ focus on addressing product-related needs and requirements. The task
force teams were co-located and held their own agile routines. “Once we have established shared priorities, there’s a
pretty good flow. We set up stand-ups and arenas to coordinate,
and there is a lot of communication” [I22, Tech Lead]. When
their tasks were completed, the task force teams dissolved,
and the members returned to their original teams.
4.3 Inter-team Coordination Tools and Artefacts
We consider inter-team coordination tools and artefacts as
objects that serve to manage dependencies between development activities across teams. At the inter-team level
these are broad, and a bit distant from the primary development activity of writing code (as this primarily happens
at the team level). We identified two types of tools and six
artefacts specifically used for coordination across teams in
Entur (see Table 4). In the taxonomy, we categorize these as
tangible, material entities, and intangible, digital entities.
In software engineering, a tool, broadly speaking, is
used to support development-related activities. Two types
were used: communication tools, such as Microsoft Teams,
Google Workspace, and Slack, and documentation tools
such as JIRA and Confluence. An artefact is typically considered a tangible by-product of the software development
process, such as a task board on a wall (see Figure 7). Artefacts can also be digitally represented, as is often the case
with program documentation. We included the inter-team
task board, physical and digital roadmaps, prioritization
document, burndown chart, and OKRs as artefacts.
All identified tools and artefacts supported coordination across teams by managing technical resource dependencies as their use was connected to developing the technical product (six of these mechanisms were also technologies in themselves). They also served to manage
knowledge dependencies in light of their social characteristics as collaborative tools. Additionally, some tools and
artefacts were physical entities, such as the various task
boards that people engaged with as well as a physical
roadmap that was displayed in the open office space. A few
of these tools and artefacts were used to manage business
13
process dependencies, however, OKRs held such organizational characteristics as they were related to process dependencies as well as technical dependencies. We now present two illustrative examples, Slack, and OKRs.
Communication Tools: Slack. While there were several
options for digital communication available at Entur, Slack
was allegedly by far the most used communication platform. Slack is a digital collaboration tool that allows users
to communicate in public or private group channels as well
as with private direct messages [20]. Slack’s overall purpose at Entur was enabling swift and timely digital communication among individuals and teams working together in the development program, thereby contributing
to managing knowledge dependencies. During an interview, a team leader who had been with the program since
the outset explained that they had “always used Slack,” at
first mostly within the teams, but that “now you have a lot of
channels across teams. All teams have their own open channel
that others external to the team can use, and there is a lot of activity in those channels” [I13, Team Leader].
Primarily used for written communication, Slack also
allows for video chats, file sharing, and the set-up of bots
known as Slackbots that perform various tasks, such as
giving production error alerts, but also “bots to notify people
‘now it’s stand-up!’ or ‘now’s demo time!’ [I13, Team Leader].
Slack was primarily used to resolve technical dependencies by means of written communication. In addition to the
open team-channels, there were specific channels set up for
inter-team coordination. For instance, the tech leads had
their own channel, as did the team leaders and product
owners. In addition, there were several topic-specific interteam channels, such as the open discussion channels
“techtalk” and “ux-design” that effectively provided a
means for coordinating across teams.
In the TOPS framework, Slack is primarily characterized as technical, as most communication (be it human or
bot-driven) is focused on product development. However,
Slack also served to fulfill social needs by connecting people, particularly if someone was working off-site.
Objectives and Key Results. In short, OKR refers to a goalsetting process framework focusing on creating attainable
goals and outcomes, emphasizing employee involvement
and bottom-up participation [66]. The result of this process
was that specific OKRs that summarize the objectives (i.e.,
a description of some qualitative goal) and key results (i.e.,
quantitative goal statements) set for a certain period [67].
In our findings, we consider the OKR framework as a coordination tool, and the specific OKRs, that is, the output
of the framework, as coordination artefacts.
Entur started using the OKR framework in 2019. “We
needed a fresh start. To do something differently, structurally,
than the former goal metric. What I like about OKR is that it
breaks goals down from strategies to tasks” [I03, Manager].
They implemented the framework iteratively, starting with
the product owners and managers in a pilot run during
spring 2019, and included the team leaders from fall 2019.
Using OKRs served to coordinate goals across teams. “You
can see it through the synergies resulting from sharing objectives
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSE.2022.3160873, IEEE Transactions on Software Engineering
14
SUBMITTED TO IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
and key results between teams” [I03, Manager].
The OKRs’ primarily related to managing technical dependencies. “In the architect group, we have an OKR that is ‘to
make the technical state across teams known’. This represents a
way to capture technical issues and respond to them” [I14, Program architect]. The OKR framework also served to manage knowledge dependencies and has social characteristics
because representatives from the different teams work
with developing OKRs collectively. Further, some OKRs,
such as the managers’, were directed at organizational purposes by managing business process dependencies.
While the OKRs in themselves are intangible artefacts,
there were physical requirements related to their formation
and use. The OKR workshops needed to be held off-site, as
there was not enough office space available to host all participants (more than 30 in each workshop). Furthermore, to
effectively serve to manage knowledge dependencies, and
to be followed up on, the OKRs should be visible. This was
also related to physical aspects in that “we must acknowledge
that we do not give them enough day-to-day focus […] I think
we need to place them on a wall to be reminded that ‘This is what
I’m supposed to work on’” [I06, Manager].
5 DISCUSSION
Coordination and coordination mechanisms have been
subject to much research scrutiny within software engineering in both distributed and co-located settings. Previous research has shown that dependency awareness is crucial to the success of inter-team coordination in large-scale
agile, by allowing teams to plan and align their development activities [6] and to handle the many coordination
challenges in large-scale agile [1], [9]. In this study, we have
continued this line of research by investigating the research
question “Which inter-team coordination mechanisms are used
in large-scale agile software development, and how do these
mechanisms support inter-team coordination?” This investigation resulted in a description of 27 inter-team coordination
mechanisms (Table 4), that were used to develop a taxonomy of inter-team coordination mechanisms (Figure 6) and
a framework for describing the characteristics of these
mechanisms (Table 3, Figures 5 and 8).
Our research was motivated by the notion that although
previous research has focused on describing the coordination process and through this has identified and described
coordination mechanisms in use, there exists no comprehensive collection of inter-team coordination mechanisms
to guide research and practice. Additionally, our understanding of the underlying characteristics of such mechanisms that dictate their practical implementation remains
limited. With this study, we contribute to filling these gaps.
5.1 A Taxonomy of Inter-Team Coordination
Mechanisms
As the first contribution, we propose a taxonomy of interteam coordination mechanisms. By this, we provide a tool
for identifying and evaluating mechanisms to guide research and practice on inter-team coordination. The taxonomy includes three main categories that includes a total of
six sub-categories: scheduled and un-scheduled meetings; individual and team roles; and tangible and intangible tools and
artefacts (see Figure 6).
Taxonomies provide value by their ability for sensemaking in relation to the meta-category, the extent to which inferences can be made from it, and the extent to which it is
useful within its domain [56]. The taxonomy of inter-team
coordination mechanisms contributes to earlier taxonomies on dependencies and coordination mechanisms [8],
[13] by extending the focus to the inter-team level, and to
the knowledge domain of large-scale agile. However, empirically derived taxonomies should be evaluated against
existing quality criteria, and compared against existing literature [56]. Therefore, we will first assess our taxonomy
against existing evaluation criteria before we relate our
findings to the existing research on inter-team coordination
mechanisms outlined in Section 2.
5.1.1 Assessing the taxonomy against existing criteria
As an overall criterion, taxonomies should be organized
around a single meta-category [57]. Our proposed taxonomy meets this criterion with its focus on inter-team coordination mechanisms. Taxonomies should further be evaluated against predetermined quality criteria to assess their
appropriateness and relevance [56], [57]. In the following,
we evaluate the taxonomy against Nickerson et al.’s criteria of conciseness, robustness, comprehensiveness, extendibility, explanatory ability and usability [56].
Because the taxonomy contains a limited number
of dimensions, i.e., the four categories with a total of six
sub-categories, it meets the criterion of conciseness. The included categories appear sufficient to capture all interteam coordination mechanisms observed from our data.
The categories are further mutually exclusive, i.e., a meeting is sufficiently different from a tool. Thus, the robustness
criterion is met. While our categories can contain all objects
in the empirical case, it is possible that future research will
discover additional categories. More research using the
taxonomy is needed to meet the comprehensiveness criterion. Related to the above point, the extensibility criterion
holds that the taxonomy must allow for the extension and
addition of new categories as research progresses. Should
new categories be needed based on new empirical observations or studies, there is room to add these as applicable.
The taxonomy is thus extendible. Our categories show explanatory ability as they are intuitive enough so that others
may readily use them to classify coordination mechanisms
observed in other cases. However, this criterion will be
fully met once other studies have been conducted using the
taxonomy. The final criterion, usability, is met if, over time,
the taxonomy is used by others within the domain. As
such, while we hope the taxonomy proves usable, future
research on inter-team coordination will demonstrate
whether this criterion is met over time.
5.1.2 Relating the taxonomy to existing studies
To illustrate how the taxonomy can be used to with existing research, we relate the taxonomy categories to a
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSE.2022.3160873, IEEE Transactions on Software Engineering
BERNTZEN ET AL., THE TOPS FRAMEWORK
selection of studies of inter-team coordination in largescale agile, summarized in Table 5. For the purposes of this
illustration, we narrowed our focus to studies published in
peer-reviewed journals no earlier than 2015. As such, this
list is non-exhaustive.
Meetings. In our findings, both scheduled and unscheduled meetings contributed to managing inter-team dependencies. Inter-team meetings supported inter-team coordination by managing knowledge dependencies and
process dependencies, as the meetings contributed to sharing information and knowledge about the product and the
development process across teams. Meetings further provided inter-team representatives with access to the information held by expert roles, thus managing resource dependencies related to the availability of these roles.
Table 5 shows previous research that has focused on
meetings in inter-team coordination. For example, a study
by Dingsøyr and colleagues on coordination in multi-team
development programs [48] found that meetings such as
demos, retrospectives and board discussions (similar to the
task board meetings in our results) contributed to managing dependencies in the large-scale program by enabling
knowledge sharing and promoting overview across teams,
for instance by avoiding teams working on the same part
of the codebase [48]. In their research on large-scale agile
frameworks in Ericsson, Paasivaara and colleagues [3],
[21], and Smite and colleagues [23], show how communities of practice can be used to support inter-team coordination across a wide range of purposes. In line with how Entur used their communities of practice, Ericsson used such
to learn and share knowledge between inter-team roles [3],
to coordinate technical work and for developing the organization [21].
Unscheduled meetings have also been demonstrated to
facilitate inter-team coordination. A second study by
Dingsøyr et al., [5] showed how a large-scale program increasingly used such informal coordination arenas to resolve emerging coordination needs. Similar results were
found in another study on scheduled and unscheduled
meetings, where the category of meeting used depended
on the maturity of the development organization and the
experience of the participants [15].
Coordinator roles. Our results show that both individual
and team roles perform important functions for inter-team
coordination. Both expert and manager roles contribute to
managing entity resource dependencies, as their overview
of technical and business process dependencies make them
important inter-team roles, and developers’ access to these
roles are important for resolving dependencies across
teams. Table 5 displays previous research that has focused
on roles in inter-team coordination.
Manager roles are characteristic at the inter-team level
in large-scale agile. In our data, the product manager, development manager and customer managers were important for managing dependencies at the inter-team level.
Large-scale agile projects differ, and which roles operate at
the inter-team level may vary. For example, Shastri et al.,
[53] describe the project manager role in coordinating
15
TABLE 5
SELECTION OF STUDIES ON INTER-TEAM
COORDINATION IN LARGE-SCALE AGILE
(M= Meetings; R=Roles; T&A=Tools and Artefacts)
M
R
Bass, 2015 [54]
Bass & Haxby, 2019 [68]
Dingsøyr et al., 2017 [5]
Dingsøyr et al., 2018 [48]
Kettunen & Laanti, 2017 [51]
Moe et al., 2018 [15]
Paasivaara et al., 2018 [3]
Paasivaara & Lassenius, 2019 [21]
Sablis et al., 2020 [47]
Shastri et al., 2021 [53]
Smite et al., 2019 [23]
Stray & Moe, 2020 [20]
Our study
T&A
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
between agile teams [53]. Bass focused on the functions
[54] and activities [68] performed by product owners,
showing how this role is an important role for inter-team
coordination. In our case organization, product owners
were considered part of the development teams and were
therefore not included as inter-team coordination mechanisms. However, in other organizations, the product owner
role may be external to the teams [54]. The taxonomy is
flexible enough to handle such context-specific aspects.
Sablis et al. [47] and Kettunen and Laanti [51] both point
to the importance of expert roles for team-external coordination. In their studies, the architect role was highlighted
as particularly important for managing dependencies related to technical coordination across teams. This is in line
with our results, where the expert and manager roles were
found closely linked to dependency management, in particular related to the availability of their knowledge.
In addition to conceptualizing roles as an inter-team
mechanism, our taxonomy contributes with the category
of team roles such as platform and test teams. Team roles
are not included as coordination mechanisms in any of the
selected studies. Our results show that such teams are important for example in managing dependencies in assuring
technical alignment across teams, and that they should
therefore be included as coordination mechanisms. Future
research should aim at uncovering more knowledge about
these types of teams.
Tools and artefacts. In addition to meetings and roles, we
found that both tangible and intangible tools and artefacts
were important for managing dependencies related to the
development process. Knowledge dependencies between
teams were managed for instance by shared task boards
and roach maps enabling overview. The use of OKRs, as
well as shared collaboration and documentation tools,
such as Slack and Confluence, contributed to alignment
across teams, thereby managing technical dependencies
arising from the development process. The final column in
Table 5 shows that tools and artefacts have also been in focus in existing research.
Dingsøyr and colleagues [5], [48] report that the use of
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSE.2022.3160873, IEEE Transactions on Software Engineering
16
SUBMITTED TO IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
instant messaging, masterplans, guidelines and wikis were
important impersonal coordination mechanisms. These
compared to the roadmaps, prioritization documents and
documentation tools used in our case. In line with their
findings, we found that these tools and artefacts needed to
be flexible and adaptable to reflect the fast-paced development process [48]. Further, the use of instant messaging
tools were used for knowledge sharing across teams, in
particular related to technical issues, but also process-related and even informal communication [5].
Among existing communication tools, Slack has received recent research attention as a useful coordination
mechanism. A recent study shows that Slack enables frequent and timely knowledge sharing, but that its efficiency
as a coordination mechanism depended on a shared understanding about how to use the tool across teams [20]. Our
results show that the use of Slack’s features, such as dedicated channels and Slackbots successfully supported
knowledge sharing and communication across teams, indicating that such practices may be success factors for digital coordination.
None of the selected studies include the use of OKRs.
This may be because OKR is a relatively new framework.
In our findings, OKRs represent both tools and artefacts, in
that the OKR framework provides a coordination tool for
efficiently managing dependencies across teams both by
the OKR framework itself and by the specific artefacts (i.e.,
the specific OKRs) resulting from using the tool. As the
popularity of the framework is growing [67], future studies
should further explore OKRs in relation to coordination in
agile organizations.
5.2 Extending the Socio-Technical Perspective
A second contribution of our study is a framework describing key characteristics of inter-team coordination mechanisms. The TOPS framework, presented in Table 3 and Figures 5 and 8, is inspired from ideas of software engineering
as a socio-technical practice which has a long historical
context [69]–[71]. We believe the TOPS framework can be
used as a guiding lens for research to analyze the coordination mechanisms used in any large-scale setting (i.e., colocated, distributed or a hybrid) to better understand the
coordination practices used in the specific organization.
5.2.1 The TOPS characteristics
This study was conducted with the awareness that coordination in software development is performed using mechanisms that are socio-technical in nature. Indeed, in most
contemporary organizations, the interactions between human, and thus social, and technological aspects are interlinked to such an extent that it is increasingly difficult to
study one aspect without the other [71], [72]. The sociotechnical perspective offered a lens that enabled studying
software development including both the technical details
of the tasks and technologies and the social and human
characteristics of the people involved.
A key finding is that these mechanisms were not limited
to “social” and “technical” aspects. Our results indicate
that these two characteristics may be too narrow to capture
the complexity and level of detail of modern organizations
[73]–[76], in particular in large-scale agile software development. This is demonstrated by the 27 inter-team mechanisms displaying at least two, often more characteristics,
including organizational and physical.
Some authors have suggested a socio-technical matrix
dividing the social subsystem into “people” and “structure,” and the technical subsystem into “tasks” and “technology” [74]. Others have suggested including cultural, organizational, and collaborative perspectives to the sociotechnical analysis [76]. In a related vein, our findings suggest that to understand coordination in large-scale software development, there may also be a need to understand
the complex interplay between technical, organizational,
physical, and social aspects of coordination. Based on our
analysis, the majority (i.e., 21 out of 27) of mechanisms primarily held technical characteristics. This is not surprising,
given that the case’s overall purpose was developing software. As such, the purpose of most coordination mechanisms was to manage technical dependencies, requirements and needs across teams. The social characteristics
were most evident in mechanisms that managed
knowledge dependencies. Additionally, mechanisms such
as meetings and collaborative tools also served to fulfill
peoples’ social needs, thus reinforcing the social characteristic. In addition to the social and technical, another two
characteristics, organizational and physical, could be associated with the inter-team coordination mechanisms.
The organizational characteristic relates to properties
(i.e., requirements or purposes) of a mechanism that captures the development activity’s wider structural context.
In our results, this characteristic was often associated with
mechanisms that managed process dependencies. This applied in particular to manager roles directly involved in
structural discussions. Their primary purpose was to provide a formal structure and make decisions on team organization, including deciding whether new teams should be
formed or assessing the existing team set-up. However,
most mechanisms held it as a secondary characteristic. For
example, we observed inter-team retrospectives where organizational issues such as how to arrange the teams for
optimal delivery or collaboration with the other business
areas in the organization were discussed and resolved.
The high number of people involved in our large-scale
case organization required managing size-related dependencies. As such, several mechanisms appeared to have
physical, that is, spatial or tangible characteristics. In our results, this often related to meetings in the form of spatial
requirements to fit all participants, or to the platform and
test teams physically sitting with the teams they were supporting. In line with previous research on coordination in
large-scale agile, open spaces and meeting rooms appeared
key to enabling ad hoc coordination [5], [48]. The physical
characteristic also related to the tangible nature of artefacts, such as inter-team task boards and visual representations of roadmaps and prioritization lists, important for
managing knowledge dependencies across teams.
Large-scale software development encompasses not
only human and technical aspects, but also aspects of the
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSE.2022.3160873, IEEE Transactions on Software Engineering
BERNTZEN ET AL., THE TOPS FRAMEWORK
17
surrounding organization in which software development
takes place [55]. As such, social, technical, organizational,
and physical characteristics may intertwine. Further, coordination mechanisms are not static, stable entities. Rather,
they are formed and re-shaped as they are used to fit the
given coordination needs present in a given situation [35],
as research on inter-team coordination in large-scale agile
indicates [14], [48]. Accordingly, the TOPS characteristics
are also conceivable to change and evolve over time. This
constitutes an interesting avenue for future research.
5.2.2 The TOPS framework and “Work from
anywhere.”
We concluded our data collection in January 2020. The
TOPS characteristics are based on how the mechanisms appeared at the time in the co-located development program.
Shortly thereafter, the global outbreak of COVID-19 forced
organizations worldwide to go digital “overnight.” As a
consequence, the digital office first replaced then later
complemented the physical [77]–[79].
We believe the current “work from anywhere” (WFX)
situation presents an opportunity to illustrate how the
TOPS characteristics reflect the changing and dynamic nature of coordination mechanisms and their underlying
characteristics. For example, WFX resembles the setup of
distributed teams. Research conducted prior to the pandemic indicates that coordination is more challenging in
distributed compared to co-located settings [80]–[82]. The
TOPS characteristics – especially the physical – can enable
focused research investigations into how inter-team coordination may change in WFX contexts. With respect to
technical coordination, prior work suggests that working
digitally does not have significant detrimental effects on
coordination effectiveness. Most tools and artefacts can be
digitally represented, and developers are accustomed to
coordinating with digital tools [20]. While research conducted early during the pandemic showed negative effects
between well-being and productivity [77], software engineers are still able to perform their work and coordinate
with others [79]. Indeed, relating to the technical characteristics, a recent study showed that the interest in and use of
pair programming practices increased during the first year
of working from home, due to the practice’s technical and
social characteristics [78].
We believe the physical characteristic can be particularly important in the current work environment. Relating
to the social and organizational characteristics, most meetings can be held via virtual means. Further, mechanisms
with clear organizational and physical features, such as
OKR workshops requiring large meeting spaces, can be
conducted digitally. While social contact and work coordination can be carried out via digital tools such as Microsoft
Teams and Zoom, spending hours in digital meetings leads
to increased fatigue [83], and a lack of social contact with
colleagues can lead to negative psychological and well-being issues [77], [79]. As such, the physical characteristics
are most prominently felt in their absence.
Fig. 8. The TOPS visual template
5.3 Implications for Practice
As a third contribution, the proposed taxonomy of interteam coordination mechanisms and the TOPS framework
provide a knowledge base and a structured approach for
software practitioners to understand and improve interteam coordination mechanisms in large-scale agile.
The taxonomy and the TOPS framework are sensitive to
context, as the list of coordination mechanisms included in
our analyses (i.e., the 27 mechanisms Entur used) are not
the only possible mechanisms for large-scale agile coordination. The taxonomy’s three categories and six sub-categories provide a robust structure to understand and further investigate coordination mechanisms used in most
software development organizations. For instance, organizations following SAFe will use specific inter-team coordination mechanisms such as the agile release train (a process
tool) and the release train engineer (a role) [51]. Other largescale programs following a more hybrid approach may not
have the same labels on their coordination mechanisms,
but still have the same functions performed. The taxonomy
and the TOPS framework may be particularly relevant in
the current global WFX situation where many inter-personal meeting arenas have been replaced with virtual
spaces. Our taxonomy can thus be extended to include
more relevant inter-team coordination mechanisms.
Practitioners can use the taxonomy in Figure 6 to identify which mechanisms are used for inter-team coordination. From this, it is possible to identify the applicable
TOPS characteristics following the definitions in Table 3.
For example, inter-team representatives could map areas
where there are coordination needs, what coordination
meetings are used, which roles are involved, and which
tools and artefacts are being used. This could be categorized in the taxonomy of inter-team mechanisms,
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSE.2022.3160873, IEEE Transactions on Software Engineering
18
SUBMITTED TO IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
providing the organization with a structured overview of
their coordination situation. From this, representatives
could further assess the underlying characteristics with the
TOPS framework, as illustrated in Figures 5 and 8. Such an
assessment could result in a detailed picture of the mix and
balance coordination mechanisms and characteristics, and
an overview of the organization’s current coordination
strategies. The organization could further evaluate
whether this picture appears well-suited for addressing the
organization’s coordination needs. For instance, having a
large portion of mechanisms requiring physical coordination would perhaps not be optimal in a distributed environment. Figure 8 provides a visual template that can be
used as a tool to support this process.
We believe that the TOPS framework can offer practitioners a useful thinking and visualization tool for assessing and improving coordination practices. Our study
indicates that visualizing which mechanisms are in use, as
well as their defining characteristics, can help to provide
an overview of the coordination setting and which mechanisms are being used for each purpose. We further believe
the visual template can serve to illustrate situations where
dependency management is lacking by the absence of
mechanisms with the desired characteristics.
6 LIMITATIONS AND EVALUATION
Our study is a qualitative, single-case study, and we therefore consider the study’s limitations in relation to criteria
applicable to such studies [62], [84], [85]. Case studies can
adopt different philosophies, including an interpretivist
stance [61], [62], as in this study. Interpretive case studies
provide rich opportunities for describing real-life phenomena [62], and serve well as the basis for taxonomy building,
because of the closeness to the data required of such studies [56]. To ensure a systematic and rigorous research process, we employed a range of quality assurance procedures. In the following, we review some of the study’s potential limitations in relation to the quality criteria of credibility, transferability, and confirmability [84] that is much
used in interpretive and constructivist qualitative research,
including in the software engineering field, e.g., [63], [86].
Credibility. The ethnographic approach to collecting
the data served well to generate a rich and diverse data
material, carefully collected over a relatively long period of
time [64], [65]. In collecting our data, we relied on observational protocols and semi-structured interviews. The reliance on several data sources (i.e., data triangulation) further strengthen the credibility of our analyses [61], [85].
While the application of the ethnographic approach was
limited to the data collection procedures, the thematic analytical process ensured a rigorous, yet flexible analysis to
generate the findings. To ensure rich data collection and
triangulation of interpretations, the first, third, and fourth
authors engaged in ongoing discussions of insights gained
during field work and involved the second author in the
data analysis and the taxonomy and framework development. Finally, we conducted member checks with Entur
representatives, providing additional trustworthiness to
our findings [65], [85].
Confirmability. The primary advantage of interpretive
case studies is that they encourage deep immersion in the
data. While this may protect researchers from missing or
oversimplifying instances and processes [56], it also makes
it difficult for others to repeat the process to obtain the
same results [84]. Another aspect of confirmability relates
to the taxonomy evaluation in Section 5.1. Future research
is needed in order to further assess the taxonomy’s value
[56], [57]. Here, the detailed descriptions of the data collection and analytical procedures in Section 3 and the taxonomy evaluation criteria will support researchers on using
the taxonomy and the TOPS characteristics.
Transferability. Another potential limitation is that this
research was conducted within a single organization. As
such, we do not claim the findings are transferable to all
other settings. Neither do we claim the list of coordination
mechanisms to be exhaustive. Other organizations may
use other mechanisms, depending on their unique coordination needs. It is also possible that the focus on inter-team
coordination may have blinded us to the influence of teamlevel mechanisms and practices. However, the categories
in the taxonomy and the TOPS characteristics are theoretically generalizable [65], because they are likely to be found
also in other large-scale agile organizations [57]. However,
different specific mechanisms may be identified from the
literature and from other empirical settings [56], [57].
7 CONCLUSIONS
In this study, we addressed the research question, ”Which
inter-team coordination mechanisms are used in large-scale agile
software development, and how do these mechanisms support inter-team coordination?” This is among the top concerns for
researchers and practitioners in large-scale agile. We have
analyzed data from 113 hours of observation and 31 interviews from a large-scale agile organization. From our findings, we make three contributions to the literature on coordination in large-scale software development.
First, we propose a taxonomy of inter-team coordination mechanisms with a total of 27 coordination mechanisms across three categories: Meetings, roles, tools, and artefacts. Second, we propose four key characteristics of coordination mechanisms that display a combination of social,
technical, organizational, and physical characteristics. This resulted in the TOPS framework, which represents a novel
approach to categorizing coordination mechanisms inspired from ideas of software engineering as a socio-technical practice. The framework builds on and extends previous research on coordination in agile software development. Third, we have provided an actionable approach to
using the TOPS framework by introducing a visual template that can guide the practical mapping of inter-team coordination practices.
With these contributions we hope to advance
knowledge on inter-team coordination in large-scale agile
software development, and to support practitioners with
coordination in our volatile, uncertain, and ever-changing
contemporary business environments. The taxonomy and
the TOPS framework are flexible approaches to inter-team
coordination that take into account that coordination needs
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSE.2022.3160873, IEEE Transactions on Software Engineering
BERNTZEN ET AL., THE TOPS FRAMEWORK
are changing. New mechanisms may easily be added as
new coordination needs arise and new agile practices form.
We encourage future research to use the taxonomy and the
framework to provide rich descriptions of how coordination mechanisms are used to support inter-team coordination in large-scale agile.
Further, the TOPS framework may support researchers
in tracking coordination changes over time by reassessing
the mechanism’s key characteristics at regular intervals.
Future research should apply the TOPS framework in
other large-scale settings to validate our findings in other
large-scale settings. Finally, we believe it is important to
recognize that a static view of coordination mechanisms
may lead us to miss important insights. We therefore encourage future research on not only the change in using coordination mechanisms, but also on their changing characteristics in response to changing work conditions.
ACKNOWLEDGMENTS
The authors wish to thank Entur and the informants for
their willingness to share their experiences. We also thank
the three anonymous reviewers for their valuable comments to earlier drafts of this paper. This research was supported in part by the Research Council of Norway through
the research project Autonomous teams (A-teams) project,
Grant Number 267704.
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
K. Dikert, M. Paasivaara, and C. Lassenius, “Challenges and success factors for large-scale agile transformations: A systematic literature review,”
Journal of Systems and Software, vol. 119, pp. 87–108, Sep. 2016.
H. Edison, X. Wang, and K. Conboy, “Comparing Methods for LargeScale Agile Software Development: A Systematic Literature Review,”
IEEE Transactions on Software Engineering, 2021.
M. Paasivaara, B. Behm, C. Lassenius, and M. Hallikainen, “Large-scale
agile transformation at Ericsson: a case study,” Empirical Software Engineering, vol. 23, no. 5, pp. 2550–2596, 2018.
T. Dingsøyr, D. Falessi, and K. Power, “Agile development at scale: the
next frontier,” IEEE Software, vol. 36, no. 2, pp. 30–38, 2019.
T. Dingsøyr, N. B. Moe, T. E. Fægri, and E. A. Seim, “Exploring software
development at the very large-scale: a revelatory case study and research
agenda for agile method adaptation,” Empirical Software Engineering,
pp. 1–31, 2017.
S. Bick, K. Spohrer, R. Hoda, A. Scheerer, and A. Heinzl, “Coordination
challenges in large-scale software development: a case study of planning
misalignment in hybrid settings,” IEEE Transactions on Software Engineering, vol. 44, no. 10, pp. 932–950, 2018.
D. Batra, W. Xia, D. E. VanderMeer, and K. Dutta, “Balancing agile and
structured development approaches to successfully manage large distributed software projects: A case study from the cruise line industry.,”
CAIS, vol. 27, p. 21, 2010.
T. W. Malone and K. Crowston, “The interdisciplinary study of coordination,” ACM Computing Surveys (CSUR), vol. 26, no. 1, pp. 87–119,
1994.
M. Kalenda, P. Hyna, and B. Rossi, “Scaling agile in large organizations:
Practices, challenges, and success factors,” Journal of Software: Evolution
and Process, vol. 30, no. 10, p. e1954, 2018.
19
[10] T. W. Malone et al., “Tools for inventing organizations: Toward a handbook of organizational processes,” Management Science, vol. 45, no. 3,
pp. 425–443, 1999.
[11] J. Howison, J. Rubleske, and K. Crowston, “Coordination Theory: A TenYear Retrospective,” in Human-computer Interaction and Management
Information Systems: Foundations, Routledge, 2015, pp. 134–152.
[12] K. Crowston and C. S. Osborn, “A coordination theory approach to process description and redesign,” in Organizing business knowledge: The
MIT process handbook, T. W. Malone, K. Crowston, and G. A. Herman,
Eds. MIT press, 2003.
[13] D. E. Strode, “A dependency taxonomy for agile software development
projects,” Information Systems Frontiers, vol. 18, no. 1, pp. 23–46, 2016.
[14] M. Berntzen, V. Stray, and N. B. Moe, “Coordination Strategies: Managing Inter-team Coordination Challenges in Large-Scale Agile,” in Agile
Processes in Software Engineering and Extreme Programming, Cham,
2021, pp. 140–156.
[15] N. B. Moe, T. Dingsøyr, and K. Rolland, “To schedule or not to schedule?
An investigation of meetings as an inter-team coordination mechanism
in large-scale agile software development,” International Journal of Information Systems and Project Management, vol. 6, no. 3, pp. 45–59,
2018.
[16] M. Cataldo and J. D. Herbsleb, “Coordination breakdowns and their impact on development productivity and software failures,” IEEE Transactions on Software Engineering, vol. 39, no. 3, pp. 343–360, 2012.
[17] G. A. Okhuysen and B. A. Bechky, “10 coordination in organizations: An
integrative perspective,” Academy of Management annals, vol. 3, no. 1,
pp. 463–502, 2009.
[18] K. Schmidt and C. Simonee, “Coordination mechanisms: Towards a conceptual foundation of CSCW systems design,” Computer Supported
Cooperative Work (CSCW), vol. 5, no. 2–3, pp. 155–200, 1996.
[19] V. Stray, D. I. Sjøberg, and T. Dybå, “The daily stand-up meeting: A
grounded theory study,” Journal of Systems and Software, vol. 114, pp.
101–124, 2016.
[20] V. Stray and N. B. Moe, “Understanding coordination in global software
engineering: A mixed-methods study on the use of meetings and Slack,”
Journal of Systems and Software, vol. 170, p. 110717, 2020.
[21] M. Paasivaara and C. Lassenius, “Empower Your Agile Organization:
Community-Based Decision Making in Large-Scale Agile Development
at Ericsson,” IEEE Software, vol. 36, no. 2, pp. 64–69, 2019.
[22] E. Wenger, R. A. McDermott, and W. Snyder, Cultivating communities of
practice: A guide to managing knowledge. Harvard business press, 2002.
[23] D. Smite, N. B. Moe, G. Levinta, and M. Floryan, “Spotify Guilds: How
to Succeed With Knowledge Sharing in Large-Scale Agile Organizations,” IEEE Software, vol. 36, no. 2, pp. 51–57, 2019.
[24] D. E. Strode, S. L. Huff, B. Hope, and S. Link, “Coordination in co-located
agile software development projects,” Journal of Systems and Software,
vol. 85, no. 6, pp. 1222–1238, Jun. 2012.
[25] M. Berntzen, N. B. Moe, and V. Stray, “The Product Owner in Large-Scale
Agile: An Empirical Study Through the Lens of Relational Coordination
Theory,” in Agile Processes in Software Engineering and Extreme Programming, Cham, 2019, pp. 121–136.
[26] V. Braun and V. Clarke, “Using thematic analysis in psychology,” Qualitative research in psychology, vol. 3, no. 2, pp. 77–101, 2006.
[27] V. Braun and V. Clarke, “Thematic analysis.,” in APA handbook of research methods in psychology, Vol 2: Research designs: Quantitative,
qualitative, neuropsychological, and biological., Washington, DC, US:
American Psychological Association, 2012, pp. 57–71.
[28] M. Fowler and J. Highsmith, “The Agile Manifesto,” 2001. [Online].
Available: http://agilemanifesto.org/
[29] D. K. Rigby, J. Sutherland, and A. Noble, “Agile at scale: How to go from
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSE.2022.3160873, IEEE Transactions on Software Engineering
20
[30]
[31]
[32]
[33]
[34]
[35]
[36]
[37]
[38]
[39]
[40]
[41]
[42]
[43]
[44]
[45]
[46]
[47]
[48]
SUBMITTED TO IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
a few team to hundreds,” Harvard Business Review, vol. 96, no. 3, pp.
88–96, 2018.
L. Williams and A. Cockburn, “Guest Editors’ Introduction: Agile Software Development: It’s about Feedback and Change,” Computer, vol.
36, no. 6, pp. 39–43, 2003.
Digital.ai, “15th Annual State of Agile Report (2020),” 2021. [Online].
Available: https://digital.ai/resource-center/analyst-reports/state-ofagile-report
A. H. Van de Ven, A. L. Delbecq, and R. Koenig Jr, “Determinants of coordination modes within organizations,” American sociological review,
pp. 322–338, 1976.
J. D. Thompson, Organizations in action: Social science bases of administrative theory. McGraw-Hill, 1967.
J. A. Espinosa, F. J. Lerch, and R. E. Kraut, “Explicit versus implicit coordination mechanisms and task dependencies: One size does not fit all.,”
in Team cognition: Understanding the factors that drive process and performance., Washington, DC, US: American Psychological Association,
2004, pp. 107–129.
P. A. Jarzabkowski, J. K. Lê, and M. S. Feldman, “Toward a Theory of Coordinating: Creating Coordinating Mechanisms in Practice,” Organization Science, vol. 23, no. 4, pp. 907–927, 2012.
J. H. Gittell, “Relational coordination: Coordinating work through relationships of shared goals, shared knowledge and mutual respect,” Relational perspectives in organizational studies: A research companion, pp.
74–94, 2006.
R. Rico, M. Sánchez-Manzanares, F. Gil, and C. Gibson, “Team Implicit
Coordination Processes: A Team Knowledge–Based Approach,” Academy of Management Review, vol. 33, no. 1, pp. 163–184, 2008.
K. Lewis, “Measuring transactive memory systems in the field: Scale development and validation,” Journal of Applied Psychology, vol. 88, no. 4,
pp. 587–604, 2003.
E. Salas, D. E. Sims, and C. S. Burke, “Is there a ‘big five’ in teamwork?,”
Small group research, vol. 36, no. 5, pp. 555–599, 2005.
P. H. Carstensen and C. Sørensen, “From the social to the systematic,”
Computer Supported Cooperative Work (CSCW), vol. 5, no. 4, pp. 387–
413, 1996.
R. Giuffrida and Y. Dittrich, “A conceptual framework to study the role
of communication through social software for coordination in globallydistributed software teams,” Information and Software Technology, vol.
63, pp. 11–30, 2015.
I. R. McChesney and S. Gallagher, “Communication and co-ordination
practices in software engineering projects,” Information and Software
Technology, vol. 46, no. 7, pp. 473–489, 2004.
A. Zaitsev, U. Gal, and B. Tan, “Coordination artifacts in agile software
development,” Information and Organization, vol. 30, no. 2, p. 100288,
2020.
R. Hoda, J. Noble, and S. Marshall, “Self-Organizing Roles on Agile Software Development Teams,” IEEE Transactions on Software Engineering,
vol. 39, no. 3, pp. 422–444, Mar. 2013.
M. Govers and P. van Amelsvoort, “A socio-technical perspective on the
design of IT architectures: The lowlands lens,” Management Studies, vol.
6, no. 3, pp. 177–187, 2018.
C. Yang, P. Liang, and P. Avgeriou, “A systematic mapping study on the
combination of software architecture and agile development,” Journal of
Systems and Software, vol. 111, pp. 157–184, 2016.
A. Sablis, D. Smite, and N. Moe, “Team-external coordination in largescale software development projects,” Journal of Software: Evolution
and Process, p. e2297, 2020.
T. Dingsøyr, N. B. Moe, and E. A. Seim, “Coordinating Knowledge Work
in Multi-Team Programs: Findings from a Large-Scale Agile
[49]
[50]
[51]
[52]
[53]
[54]
[55]
[56]
[57]
[58]
[59]
[60]
[61]
[62]
[63]
[64]
[65]
[66]
[67]
[68]
[69]
[70]
Development Program,” Project Management Journal, vol. 49, pp. 64–77,
2018.
C. Larman and B. Vodde, Large-scale scrum: More with LeSS. AddisonWesley Professional, 2016.
D. Leffingwell, SAFe 4.5 Reference Guide: Scaled Agile Framework for
Lean Enterprises. Addison-Wesley Professional, 2018.
P. Kettunen and M. Laanti, “Future software organizations – agile goals
and roles,” European Journal of Futures Research, vol. 5, no. 1, p. 16, Dec.
2017.
K. Conboy and N. Carroll, “Implementing large-scale agile frameworks:
challenges and recommendations,” IEEE Software, vol. 36, no. 2, pp. 44–
50, 2019.
Y. Shastri, R. Hoda, and R. Amor, “The role of the project manager in agile
software development projects,” Journal of Systems and Software, vol.
173, p. 110871, Mar. 2021.
J. M. Bass, “How product owner teams scale agile methods to large distributed enterprises,” Empirical Software Engineering, vol. 20, no. 6, pp.
1525–1557, 2015.
M. Petre, J. Buckley, L. Church, M.-A. Storey, and T. Zimmermann, “Behavioral science of software engineering,” IEEE Software, vol. 37, no. 6,
pp. 21–25, 2020.
P. Ralph, “Toward methodological guidelines for process theories and
taxonomies in software engineering,” IEEE Transactions on Software Engineering, vol. 45, no. 7, pp. 712–735, 2018.
R. C. Nickerson, U. Varshney, and J. Muntermann, “A method for taxonomy development and its application in information systems,” European Journal of Information Systems, vol. 22, no. 3, pp. 336–359, 2013.
T. Dingsøyr, T. E. Fægri, and J. Itkonen, “What is large in large-scale? A
taxonomy of scale for agile software development,” in International Conference on Product-Focused Software Process Improvement, Springer,
Cham, 2014, pp. 273–276.
R. Florea and V. Stray, “The skills that employers look for in software testers,” Software Quality Journal, vol. 27, no. 4, pp. 1449–1479, Dec. 2019.
D. Šmite, C. Wohlin, Z. Galviņa, and R. Prikladnicki, “An empirically
based terminology and taxonomy for global software engineering,” Empirical Software Engineering, vol. 19, no. 1, pp. 105–153, Feb. 2014.
P. Ralph et al., “ACM SIGSOFT empirical standards,” 2020.
G. Walsham, “Doing interpretive research,” European Journal of Information Systems, vol. 15, no. 3, pp. 320–330, Jun. 2006, doi: 10.1057/palgrave.ejis.3000589.
W. Hussain et al., “How Can Human Values Be Addressed in Agile
Methods A Case Study on SAFe,” IEEE Transactions on Software Engineering, 2022.
H. Sharp, Y. Dittrich, and C. R. B. de Souza, “The Role of Ethnographic
Studies in Empirical Software Engineering,” IEEE Transactions on Software Engineering, vol. 42, no. 8, pp. 786–804, Aug. 2016.
M. Crang and I. Cook, Doing ethnographies. Sage, 2007.
P. R. Niven and B. Lamorte, Objectives and key results: Driving focus,
alignment, and engagement with OKRs. John Wiley & Sons, 2016.
Stray, Viktoria, Moe, Nils Brede, Vedal, Henrik, and Berntzen, Marthe,
“Using Objectives and Key Results (OKRs) and Slack: A Case Study of
Coordination in Large-Scale Distributed Agile,” Techrxiv. Preprint, Nov.
2021, doi: 10.36227/techrxiv.16892161.v1.
J. M. Bass and A. Haxby, “Tailoring product ownership in large-scale agile projects: managing scale, distance, and governance,” IEEE Software,
vol. 36, no. 2, pp. 58–63, 2019.
T. Dybå, T. Dingsøyr, and N. B. Moe, “Agile project management,” in
Software project management in a changing world, Springer, 2014, pp.
277–300.
M.-A. Storey, N. A. Ernst, C. Williams, and E. Kalliamvakou, “The who,
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSE.2022.3160873, IEEE Transactions on Software Engineering
BERNTZEN ET AL., THE TOPS FRAMEWORK
[71]
[72]
[73]
[74]
[75]
[76]
[77]
[78]
[79]
[80]
[81]
[82]
[83]
[84]
[85]
[86]
what, how of software engineering research: a socio-technical framework,” Empirical Software Engineering, vol. 25, no. 5, pp. 4097–4129,
2020.
R. Hoda, “Socio-Technical Grounded Theory for Software Engineering,”
IEEE Transactions on Software Engineering, 2021, doi:
https://doi.org/10.1109/TSE.2021.3106280.
W. J. Orlikowski and S. V. Scott, “10 Sociomateriality: Challenging the
Separation of Technology, Work and Organization,” Academy of Management Annals, vol. 2, no. 1, pp. 433–474, 2008.
R. P. Bostrom and J. S. Heinen, “MIS problems and failures: A socio-technical perspective. Part I: The causes,” MIS quarterly, pp. 17–32, 1977.
I. Bider, “Is People-Structure-Tasks-Technology Matrix Outdated?,” in
3rd International Workshop on Socio-Technical Perspective in IS development (STPIS’17), CEUR-WS. org, 2017, pp. 90–97.
S. Alter, “Applying Socio-technical Thinking in the Competitive, Agile,
Lean, Data-Driven World of Knowledge Work and Smart, Service-Oriented, Customer-Centric Value Creation Ecosystems,” Complex Systems Informatics and Modeling Quarterly, no. 18, pp. 1–22, 2019.
H. Kim, D.-H. Shin, and D. Lee, “A socio-technical analysis of software
policy in Korea: Towards a central role for building ICT ecosystems,” Telecommunications Policy, vol. 39, no. 11, pp. 944–956, 2015.
P. Ralph et al., “Pandemic programming,” Empirical Software Engineering, vol. 25, no. 6, pp. 4927–4961, 2020.
D. Smite, M. Mikalsen, N. B. Moe, V. Stray, and E. Klotins, “From Collaboration to Solitude and Back: Remote Pair Programming During
COVID-19,” in International Conference on Agile Software Development, Springer, Cham, 2021, pp. 3–18.
D. Russo, P. H. Hanel, S. Altnickel, and N. van Berkel, “Predictors of wellbeing and productivity among software professionals during the
COVID-19 pandemic–a longitudinal study,” Empirical Software Engineering, vol. 26, no. 4, pp. 1–63, 2021.
J. D. Herbsleb, “Global software engineering: The future of socio-technical coordination,” in Future of Software Engineering (FOSE’07), IEEE,
2007, pp. 188–198.
J. A. Espinosa, S. A. Slaughter, R. E. Kraut, and J. D. Herbsleb, “Team
knowledge and coordination in geographically distributed software development,” Journal of management information systems, vol. 24, no. 1,
pp. 135–169, 2007.
M. Berntzen and S. I. Wong, “Autonomous but Interdependent: The
Roles of Initiated and Received Task Interdependence in Distributed
Team Coordination,” International Journal of Electronic Commerce, vol.
25, no. 1, 2021.
L. Fosslien and M. W. Duffy, “How to combat zoom fatigue,” Harvard
Business Review, vol. 29, 2020.
E. G. Guba, “Criteria for assessing the trustworthiness of naturalistic inquiries,” Ectj, vol. 29, no. 2, pp. 75–91, 1981.
C. Robson and K. McCartan, Real world research: a resource for users of
social research methods in applied settings. Wiley, 2016.
D. Russo, “The Agile Success Model: A Mixed-methods Study of a
Large-scale Agile Transformation,” ACM Transactions on Software Engineering and Methodology (TOSEM), vol. 30, no. 4, pp. 1–46, 2021.
21
engineering, information systems and management and she has published research on leadership and coordination.
Rashina Hoda is an Associate Professor of Software Engineering at Monash University, Melbourne. Rashina specializes in human-centered
software engineering, including agile transformations, self-organizing teams, agile project management, and large-scale agile, and has introduced socio-technical grounded theory to software
engineering. She serves as an Associate Editor of
the IEEE Transactions on Software Engineering and as co-chair for
ICSE-SEIS 2023, and previously, on the advisory board of IEEE Software and as PC co-Chair for CHASE2021. For more: www.rashina.com.
Nils Brede Moe is a chief scientist at SINTEF. He
works with software process improvement, intellectual capital, autonomous teams, and agile and global
software development. He has led several nationally
funded software engineering research projects covering organizational, sociotechnical, and global/distributed aspects. Moe received a Dr.Philos. in Computer Science from the Norwegian University of Science and Technology and holds an adjunct position at the Blekinge Institute of Technology in Sweden.
Viktoria Stray is an Associate Professor at the University of Oslo’s Department of Informatics. She also
holds a research position at SINTEF Digital. She has
a Ph.D. in Software Engineering from the University
of Oslo and an M.Sc. degree in Computer Science
from the Norwegian University of Science and Technology. Her research focuses on agile methods, autonomous teams, coordination, global software engineering, innovation, large-scale development. She collaborates with large companies
and provides research results on current industry-related topics. She
has previously worked for Accenture in Norway’s largest software development projects.
Marthe Berntzen is a Ph.D. candidate in Software
Engineering at the department of Informatics, University of Oslo. She received the M.Sc. degree from BI
Norwegian Business School and has four years of industry experience. Marthe’s Ph.D. research centers
around inter-team coordination in large-scale agile
software development. Her research interests include agile methods and practices, coordination of
teamwork, leadership, and coordination in distributed settings. Her
work has been presented at international conferences within software
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/