processes in DevOps, where developers and main-
tainers are the same people. A solution stack is a
specific set of tools to solve a problem where each
tool contributes to the solution, and tools are mu-
tually exclusive. Tools can be exchangeable, for
instance MySQL with MariaDB, or Apache with
nginx. A company stack is a stack of tools used
by a company for its specific situation, focusing
on fast TTM or following legislation. In this re-
spect, the reason for documentation is relevant. It
can lead to very little documentation in case of
fast TTM or to mandatory documentation because
of regulatory reasons, as in the aviation industry,
medicine industry, or tax administration.
Examples for 1) are github and intelliJ. Exam-
ples for 2), the solution stack, are Linux, Apache,
MySQL, PHP (LAMP), MongoDB, Express.js,
Angular (MEAN). For 3), the company stacks,
examples are for Facebook: Hack, React, Cas-
sandra, and GraphQL or Google with Dart, Go,
Angular.js, and Material Design. The stack as a
concept is discussed by Jansen et al. (2009), re-
ferring to Software Ecosystems (SECO). This is
a set of business functioning as a unit interacting
with a shared market for software and services,
including relationships. SECO already points to a
context, but the community takes the context ex-
plicitly into consideration as is discussed in the
next paragraph.
3. Software Development Ecosystems. This is an
extension of the tool stacks with communities, op-
tionally outside the team or company. A prod-
uct community refers to information about spe-
cific tools, including concepts, technologies, soft-
ware systems, and templates, frameworks, and li-
braries. The community for knowledge can be
based either on websites where developers gather
to exchange questions, answers, and contempla-
tions, or on conferences where developers from
industry and scientists meet. There are also meet-
ups specific for industry developers, that are also
attended by scientists. This makes clear that
knowledge sharing involves, besides cognitive ac-
tivity, also social activity. The learning com-
munity includes sites for Massive Online Open
Courses (MOOC)s, either academic or commer-
cial, to learn about concepts and practicing code,
but also classic learning environments for students
at universities.
Examples are product or tool sites. Knowl-
edge sharing sites like Stackoverflow, Reddit, or
Quora; online courses from Pluralsight, EDX, or
Udemy.
The classification of tools into tool stacks varies from
an unorganized landscape such as Kersten (2018)
to layers for Application and Data, Business Tools,
DevOps, and Utilities such as Stackshare.io (Be-
shawred, 2020). Other classifications take into ac-
count the processes, infrastructure, productivity (4+1
from Kruchten (1995), or C4 from Brown (2014)).
The way the tools are organized into tool stacks,
and tool stacks are organized into software develop-
ment systems, shows that this “scattering” has a high
level of organization. The tools are not randomly
picked to serve a purpose, but are combined to support
design, development, and maintenance for a software
product with specific requirements from the industry
such as fast TTM or regulations for documentation.
“Tools are the message” concerning the tools, tool
stacks and software development ecosystems relates
to the type of information that is stored with each tool.
The tools in “tools are the message” define how the
information is created, stored, retrieved, and commu-
nicated. The tool stack is comprised of a set of tools
in use by a development team. The software develop-
ment ecosystem includes the community around indi-
vidual tools.
5.2 Variety of Information and
Contribution to Knowledge
Transfer
In this section, the variety of information is discussed,
including the relation with tools. This Section is
closely related to RQ2: the variety of information.
The data sources are S1-S3 (open source projects),
S5-S6 (case studies) as represented in Table 2.
The information in the tools in CSD has a certain
amount of structure. Figure 7 presents the amount
of structure measured by the creation or capturing on
the upper x-axis and the retrieval for human commu-
nication varying to automated processing on the right
y-axis. The tools to create or retrieve the information
are on the lower x-axis. The Creation dimension on
the upper x-axis varies from constructing to capturing
information. “Capturing” refers to the ingestion of in-
formation into a storage medium that is not created
with a software development tool, e.g. whiteboard
sketches, drawings, or models. A photograph might
be saved in Jira or Confluence for later usage. The
system does captures chat messages or email mes-
sages that have a low degree of structure. Probably the
only structure an email message has is the subject and
other standard headers such as the addressees. “Man-
ufacturing” refers to the manual creation of informa-
tion, such as source code. The Retrieval dimension
on the right y-axis refers to the usage of the informa-
tion and varies from the ease of human understanding
In Continuous Software Development, Tools Are the Message for Documentation
161