=Paper=
{{Paper
|id=Vol-2019/commitmde_1
|storemode=property
|title=Supporting Consensus-based Sofware Development: a Vision Paper
|pdfUrl=https://ceur-ws.org/Vol-2019/commitmde_1.pdf
|volume=Vol-2019
|authors=Mathieu Lavallée,Guillaume Beaulieu,Michalis Famelis
|dblpUrl=https://dblp.org/rec/conf/models/LavalleeBF17
}}
==Supporting Consensus-based Sofware Development: a Vision Paper==
Supporting Consensus-based Software Development:
a Vision Paper
Mathieu Lavallée Guillaume Beaulieu Michalis Famelis
Independent consultant Université du Québec à Montréal Université de Montréal
math.lavallee@gmail.com beaulieu.guillaume.2@courrier.uqam.ca famelis@iro.umontreal.ca
Abstract—Traditional, vertical organizational models of soft- More More
horizontal vertical
ware development have been challenged by more agile and col-
laborative structures. Recently, this has also been demonstrated
in the emergence of explicitly horizontalist organizational struc- Consensus-based Agile Traditional
tures, focused on consensus-based decision making. In this paper, communities (CBCs) "Flat" organizations management
Holarchies
we describe the principles and processes of these “Consensus-
Based Communities” (CBCs) and outline the main challenges Fig. 1: The continuum from vertical (i.e. hierarchical) to horizontal
they face as they try to implement “Consensus-Based Software (i.e. non-hierarchical) organizations.
Development” (CBSD). We express these as early, high level
requirements for a tool supported methodology. Based on these,
we present and analysis of existing tools that shows that no an “holarchy” [11], where decisions are delegated to self-
single tool provides complete support for consensus-based group managing teams. Often, organizations using self-managed
decision making. We thus outline directions for future research,
identifying opportunities for the development and deployement
teams still maintain a higher authority, simply reducing the
of model-based techniques in this emergent field. amount of middle management. In Figure 1 we position Agile
teams, that promote self-organized GDM, in the middle of the
I. I NTRODUCTION continuum, along with flat and holarchic organizations.
Software development is a team activity [1], [2], in which In this paper, we put the spotlight on the other end of the
internal team dynamics impact the quality of the produced continuum. This is populated by software development orga-
software. A classic formulation of this is “Conway’s Law”: nizations that intentionally adopt explicitly anti-hierarchical
Any organization that designs a system (defined and consensus-based modes of GDM and collaboration. For
broadly) will produce a design whose structure is a example, Koumbit, a web-hosting company based in Mon-
copy of the organization’s communication structure. treal, describes its internal processes as “non-hierarchical self-
[3] management” [12]. Loomio is a developer-owned cooperative
More recently, Nagappan et al. showed that organizational based in New Zealand that puts consent at the centre of its
structure was a better predictor of fault-proneness than tra- decision making process [13]. Other organizations like Zappos
ditional technical metrics [4]. A defining aspect of a team’s [14] and Medium.com [15] maintain horizontal principles.
organization and communication structure is Group Decision This is also often the case for open source communities,
Making (GDM), also known as Multi-Person Decision-Making such as Drupal, which favours a self-managed approach [16].
(MPDM), [5], [6], [7]. Traditionally, organization structures We call such organizations Consensus-Based Communities
are hierarchical and command based. However, the advent of (CBCs).
Agile software development has changed GDM processes, as CBCs face a set of unique challenges when developing
it tends to prefer horizontal structures [8]. Characteristically, software, mostly based on their philosophical approach to
the Agile Manifesto declares: GDM. The Agile Manifesto already pushed GDM away from
The best architectures, requirements, and designs the “Benevolent Dictator” management paradigm.
emerge from self-organizing teams. [9] Agile Software Development has completely dis-
In practice, the degree of self-organization varies widely pensed with the formal job title of the project man-
across different organizations. We illustrate this diversity in ager. Agile methodologies such as scrum seem to
Figure 1, as a continuum of organizational horizontality in distribute the erstwhile responsibilities of the project
software development teams. On the one end there is tra- manager into new roles. [8]
ditional “command-based” development, where upper levels CBCs affirm that team decisions must go a step further, and
of the organizational hierarchy have the final say on what ensure consensus building as much as possible, instead of
developers do. Moving from that extreme, some organizations majority decision-making. The rationale behind striving for
maintain the use of project managers who have the final say in consensus is based on a perceived flaw of democratic decision-
decisions while encouraging the building of a team consensus. making called “tyranny of the majority”:
Some organizations actively pursue a “flat” model [10] or The will of the majority may be seen as the will
of the whole group, with the minority expected to point out areas for improvement in Section VI. We discuss
accept and carry out the decision, even if it is against related work in Section VII and conclude in Section VIII.
their deeply held convictions and most basic needs.
It is possible for a voting group to look for solutions II. BACKGROUND
that would suit everybody, but it is more common for To better understand the unique challenges in CBSD, we
ideas with a majority backing to be pushed through. first outline the main characteristics of CBCs.
[17, p. 9] Consensus-based decision-making does not mean that ev-
This flaw can cause, for example a team with a majority of erybody must agree on everything. In practice, consensus
non-experts to overrule a minority of experts, leading to poor is typically “soft”, which means that certain forms of dis-
decisions. Instead, consensus-building requires team members agreement are acceptable. According to the Consensus Hand-
to convince all their colleagues, instead of unilaterally impos- book [17, p. 6]:
ing their propositions. This means that software developers in
Instead of simply voting for an item and having
CBCs cannot exploit the process in order to shut down their
the majority of the group get their way, a consensus
colleagues, but must provide facts and data able to persuade
group is committed to finding solutions that every-
them to change their mind.
one actively supports, or at least can live with.
CBCs such as the ones mentioned above also operate under
anti-hierarchical principles. Their perception is that software The aim is to avoid a situation where there are winners and
development has become so complex that not one person can losers. CBCs claim that this helps everybody feel involved in
see the whole picture. Each software developer is therefore the organization, and helps them learn new skills and be better,
a piece of the puzzle, each with their own expertise, and more complete software developers [12]. This further increases
decisions should then be made with everyone in mind [7]. the sense of agency and ownership towards decisions, since
Even though CBCs are currently not the norm in software each individual actively participates, ensuring that everyone’s
engineering, studying them can provide interesting insights on concerns are part of the process. A major benefit of consensus
team dynamics, and can help identify beneficial organizational decision-making is therefore the increased solidarity among
practices across the continuum of organizational horizontality. team members in cases where bad decisions are made. Faced
Broadly speaking, the recent move away from traditional with a negative result, since the whole team was engaged in
organizational practices can be understood as a concern about the decision together, no single individual or group can be
the degree to which they are appropriate for software de- singled out for blame [19].
velopment. Thus, interesting insights can be obtained from In the following, we describe a typical consensus-based
radically different organizational structures [10]. At the same GDM process, in terms of the activities performed and
time, since CBCs are software producing organizations in an the roles and responsibilities associated. Consensus-based
era of software ecosystems [18], understanding the impact of decision-making processes are adapted from the different kinds
their practices on software quality (cf. Conway’s Law) may of democratic practices surrounding them [20]. They are
have ramifications beyond their niche. adapted to the size and ability of the group.
In this paper, we focus on CBCs and propose a vision While the exact process varies from one organization to
for a comprehensive, model-based, tool supported method- another, we present here a basic model of typical activities in
ology for Consensus-Based Software Development (CBSD) consensus-based GDM [17, p. 16]. These are:
that addresses their unique set of challenges. We identify Introduction (A1): Introduction of the issue on which a
the specific needs of CBCs and study existing collaboration decision must be made;
tools to find gaps between the two and potential avenues of Discussion (A2): Discuss the issue and collect ideas;
research and development. Specifically, we make the following Concerns (A3): List concerns regarding the proposal;
contributions: Proposal (A4): Identify emerging proposals meeting con-
a) We highlight the existence of CBCs and describe their cerns;
unique processes and challenges; Refinement (A5): Discuss, clarify and amend the proposals;
b) We describe how consensus-based GDM can be sup- Consensus test (A6): Test for agreement, usually through a
ported for software development; straw poll. If not, return to the previous points;
c) We analyze the capabilities of existing tools, identify their Implementation (A7): Implement the decision.
limitations, and outline how model-based techniques can We show these activities diagrammatically in Figure 2.
be used to improve the state of CBSD practise. During a test for consensus (activity A6), a typical CBC
The rest of the paper is organized as follows: We present uses four types of votes for the straw poll [17, p. 16] with the
background information on CBCs in Section II, detailing following meaning:
their typical internal processes In Section III, we explain the Block (V1): The participant thinks the proposal is funda-
challenges raised by consensus-based GDM and in Section IV mentally wrong and should not be implemented by the
we outline the requirements for a tool framework for support- organization.
ing consensus-based software development. We analyze the Stand aside (V2): The participant cannot support the pro-
capabilities of existing GDM support tools in Section V and posal and is not willing to implement it. However they
R1. Facilitator includes the minutes of the meeting, along with the decisions
R4. Participant
and action items. It is recommended that action items be
A1. Introduction
tracked independently from the rest in order to avoid losing
R3. Hand takers
track of them and to prevent power concentration into the same
Issues F1.
hands [21].
to adress A2. Discussion Active listening
F2.
? Summarising
A3. Concerns III. C HALLENGES OF C ONSENSUS -BASED GDM
A4. Proposal
F3. Software development teams that adopt a consensus-based
Synthesis
V1. Block GDM process face a unique set of challenges. These stem from
A5. Refinement the need to work and reach consensus. Degenerations of the
process can introduce problems such as false consensus, where
V2. Stand aside Issues Consensus
raised A6. Consensus test an explicit agreement is reached, but where team members
V3. Reservation reached
? ? implicitly disagree. We group such challenges along seven
different dimensions.
Acceptable A7. Implementation V4. Agreement
One dimension (D1) is related to the heterogeneity of
issues communication [7]. For example, software engineering teams
? R2. Minute takers
include a variety of experts of different fields, depending on
Fig. 2: Consensus decision making model. the needs of the project. These different experts can be profi-
cient in different languages and techniques. For example, one
expert can be well-versed with the UML language while the
are willing to let the organization implement it without rest of the team is not. This creates a hurdle for communication
them. as the expert struggles to explain his point to non-experts.
Reservation (V3): The participant has some reservations, but Another dimension (D2) is related to the need to persuade
is willing to let the proposal be implemented and to work others in order to obtain consensus. Ideally, this persuasion is
for its implementation. based on real facts, brought by real experts, but in practice,
Agreement (V4): The participant supports the proposal and emotional factors can enter the equation. For example, “people
is willing to implement it. are easily persuaded by other people that they like” ([22],
The responsibilities associated with the good functioning quoted by [23]). Another example, “consistently slandering
of the team are traditionally assigned to a team manager. someone behind his back” [21, p. 33] is another tactic to
Instead, in self-managing teams, they must be delegated to persuade others using unsavory means.
team members. Consensus-based teams recommend to split This leads to the third dimension (D3) of how to ade-
responsibilities to different people to avoid a concentration of quatly generate alternatives for a complex issue. Ideally, GDM
powers which would re-create a hierarchical structure [21]. follows a rational decision-making approach. This approach
Specific roles include [17], [21]: is akin to a breadth-first approach, where all alternatives
Facilitators (R1): A neutral party whose responsibility is to are studied and compared. The opposite is the naturalistic
keep the meeting on topic and assist the decision-making decision-making approach. This approach is akin of a depth-
process. In some cases, no single person is assigned the first approach, where one easy to find solution is studied in-
role, instead relying on the participants, assuming that depth [24]. For example, a typical software development team
they have internalized it enough to self-discipline. mixes the two approaches, going in-depth with a small number
Minute Takers (R2): Responsible for keeping track of the of alternatives [25]. Generally this is because the complexity of
decisions and action items. software development context makes a breadth-first approach
Hand Takers (R3): Responsible of keeping track of whose impossible and requires limiting the breadth to what seems
turn it is to speak next and control the time allotted to possible at the time [24], [25].
each speaker. Generating and choosing the proper alternatives can be
Participant (R4): Each team member is responsible for self- difficult, especially with dysfunctional teams (D4). Issues of
discipline and for the good functioning of the process. “groupthink”, where there is a reluctance of criticizing ideas,
Facilitation is a complex role, which can be broken down are well documented [26]. Instances of polarized factions
into the following responsibilities [17, p. 31]: constantly blocking the propositions of the others are also
Active listening (F1): To assist speakers in expressing their a symptom of a dysfunctional team [26], [27]. Even before
ideas and its associated context. such problems arise, social stratification due to factors such
Summarising (F2): To reformulate the intervention of the as racism, sexism and class, generally makes marginalized
speaker in a clear and concise manner in order to confirm people take less share in the decision-making process. Worse,
its interpretation. that phenomenon is often justified by those who are silencing
Synthesis (F3): To merge the ideas in actual proposals po- themselves as they perceives themselves as less competent
tentially acceptable for all participants. [28]. Creating a context for genuine participation is an ongoing
The list of work products of a consensus-based process process that requires patience and dedication.
D2. D1.
Evaluate Manage the difference
and expertise
A1. and of languages
Introduce the issue UC7.
Identify expertise
A2. and UC6.
UC1. Support whiteboarding A7.
Discuss the issue helps Implement the
Present the issue helps and
and helps decision
A3. UC5.
List concerns and
helps
Supporting Monitor decisions
UC2. D5.
helps
A4. and
Manage the proposals
the CBSD and Self-monitor
Keep track of proposals
process decisions
and helps
A5.
Refine proposals helps
and UC4.
UC3. Detect consensus
Document the arguments
and
R2. and
Take the minutes and and A6.
Test for consensus
R3. F3. and and and and
Manage speakers Synthesize V1. V2. V3. V4.
interventions Record Record stand Record Record
block votes aside votes reservation votes agreement votes
Fig. 3: Use-cases to support for the CBSD process, using the i* modeling language.
The fifth dimension is related to the nature of anti- to the letter, but changes are actually frequent: Since there
hierarchical organizations (D5). Without a manager, the de- are no leader to impose a process, any meeting can result
velopers themselves must assume responsibility of the task in a process change. Hence, the bulk of the decision-making
typically assigned to managers. These include managing con- process is centred around educating participants on the current
flicting priorities between stakeholders, assuring that action organizational context. Documentation of such processes is
items are actually implemented, and giving more weight to contextual and reflects a community’s ongoing organizational
the intervention of experts [6], [10]. dynamics. Therefore, the given organizational context of the
Another challenge is related to documenting the rationale CBC (D7) will have an impact on its GDM, more so than
of the decisions made (D6). As [29] writes: in a traditional contexts using common GDM practices. The
rationale of the decision (D6) cannot be understood outside
In the field of software architecture, there has been a
this constantly evolving organizational context of the CBC
paradigm shift from describing the outcome of archi-
(D7).
tecting process mostly described by component and
connector (know-what) to documenting architectural IV. R EQUIREMENTS FOR CBSD SUPPORT TOOLS
design decisions and their rationale (know-how)
We identify the high-level requirements for CBSD tools,
which leads to the production of an architecture. [29]
based on the processes, activities, roles, and artifacts involved
A GDM support tool should therefore document decision in CBSD described in Section II, as well as the challenges
rationale to ensure that future developers can understand what outlined in Section III. We present the requirements in the
arguments supported the decision. Ideally, such a tool would be form of use-cases, listed below. We also give the requirements
able to see how decisions evolve [30]. For example, developers as goal models in Figures 3 and 4 using i*, a language for
should know that a decision can be changed if the underlaying modelling early requirements [31], [32].
arguments are no longer valid. UC1: During the introduction of an issue, present its context
But the technical context of the issue is not the only context in a concise yet understandable way (A1).
to manage. Since CBCs are not the norm, the GDM process UC2: Collect the ideas brought during the meeting (A2),
is generally a two-way educational process, first teaching obtain concerns from the participants and keep track of
newcomers about the GDM process, but also teaching ways them (A3). Turn ideas into actionable proposals that ev-
to address concerns in a constructive manner. With consensus- eryone can inspect and amend (A4). Record amendments
based GDM, communities transition from a discursive space to proposals (A5).
in which people can be either right or wrong to one where UC3: Document the arguments pertaining to each proposal
people are either more or less aware of the issues surrounding (A5) and the identity of the person(s) who brought the
its practices. To make things more complicated, as is the argument forward (R3). While it would be difficult to
case for any organization, the typical process is not followed support active listening (F1) and the reformulation of
V. W HAT IS C URRENTLY M ISSING IN CBSD S UPPORT
Supporting D7. T OOLS ?
CBSD Educate the
organizational
introspection context In this section we describe how existing tools and tech-
and nologies fit with the CBSD activities, roles and work products
helps helps described in previous sections. Ideally, CBSD support tools
UC8. helps UC10. should be compatible with the processes presented earlier, and
Evaluate alternatives Understand decisions address the challenges of consensus-based decision-making.
UC9. In practice, while some are covered by existing tools, other
and and
Detect dysfunctions functionalities are still missing. The list of tools analyzed
D6. is a preliminary, non-exhaustive list of tools, based on a
D3. and Document
Evaluate the breadth similar list published in the literature [33] as well as our own
D4. rationale
of the alternatives Identify groupthink and investigation.
studied other dysfunctional ArguNet [34] and Carneades [35] are tools for structuring
decision processes debates into arguments and logical propositions. They can
Fig. 4: Use-cases to support for CBSD introspection, using the i* record the ideas and arguments presented during a GDM
modeling language. meeting, using formal logic to encode their structure. They
treat arguments as logically true propositions which can either
support or oppose a proposal. They do not have voting
mechanisms or support for evaluating expertise. ArguNet uses
a directed node graph similar to concept models to link
participants’ intervention (F2), the tool should assist the arguments and logicial propositions. Carneades, on the other
Facilitator’s synthesis responsibility (F3). Each decision hand, uses a tree modeling langage similar to i* models in
should include the minutes of the relevant meetings in order to structure arguments.
order to understand better the context of the decision bCisive [36] is a tool for structuring debates. It provides
(R2). a richer modelling language (over fifty pictograms) than
UC4: Detect consensus, through mechanisms like straw polls ArguNet and Carneades. For example, it allows typing the
(A6). Straw polls should support the four types of votes sources of arguments, e.g., to differentiate between expert
(V1-V4). It should be possible to record the rationale of opinion and hearsay. Like Carneades, bCisive uses a tree
non-consenting votes (V1-V3). modeling langage similar to i* models.
UC5: Monitor the implementation of decisions after the meet- DebateGraph [37] is a mind-mapping tool offering the ca-
ing, to ensure it is carried out as decided (A7, D5). pability to structure data. It can link arguments and proposals,
UC6: Record relevant sketches (e.g., whiteboard photos). but its utility remains limited for GDM. Like ArguNet, it
Discussion can often lead to a refined model that can uses a directed node graph similar to concept models to link
be understood by all participants (D1). documents together.
UC7: Identify and evaluate the expertise relevant to the deci- Loomio [38] is a GDM tool useful for voting when there are
sion at hand (D2). already clearly-defined alternatives. It does not help in finding
and structuring the debate in order to find these alternatives. It
Introspection, reflection and self-improvement is a big part does not directly use a modeling language, but it uses simple
of the Agile philosophy [9], and the philosophy of CBCs. A graphs (pie charts, bar charts) to display the level of consensus.
CBSD support tool should also therefore support the following Planning Poker [39] is useful for choosing an appropriate
use cases: priority or estimate. Alternatives are clearly stated in the form
of numerical scales. The facilitator can choose among various
UC8: After implementing a decision, determine if the alter- scales (such as the Fibonacci sequence, powers of 2, Small-
natives studied were adequate or if the team should have Medium-Large, etc.) according to what is most appropriate for
spent more time finding alternatives (D3). a given context. Planning poker uses a pictogrammic modeling
UC9: Detect degenerated group decision making problems, langage based on common playing cards in order to facilitate
such as groupthink, unresolved conflict, etc. (D4). understanding.
UC10: Some decisions can have a long-term impact. Develop- Reddit [40] and Discourse [41] are discussion tools, where
ers years later might have to deal with the decisions made participants bring arguments based on an introduction state-
today and might want to understand why the specific ment. Reddit integrates a voting mechanism which ensures
decision was made (D6). Understanding the decision that entries supported by more participants are ranked first.
means understanding the organizational context wherein Discourse is closer to a mailing list and presents arguments in
the decision was made at the time. Participants must a temporal sequence. While Reddit does not use a modelling
therefore be educated on the organizational context in language, Discourse uses a simple pictogrammic model based
order to understand the related decisions (D7). on users’ avatars in order to show the state of a discussion. A
TABLE I: Results of the tool analysis based on the i* models in Figure 3 and 4. Tools are presented in alphabetical order.
Tool Argunet bCisive Carneades DebateGraph Discourse holaSpirit Loomio Planning Poker Reddit
UC1: Present issue A1 Yes Yes No No Yes No Yes Yes Yes
A2 Yes Yes Yes Yes Yes No No No Yes
A3 Partial Yes No Partial No No No No No
UC2: Manage proposals
A4 Yes Yes Yes No No No No No No
A5 Partial Partial No No Partial No No No Partial
A5 Yes Yes Yes Yes Yes No No No Yes
UC3: Document R2 No No No No Yes No No No Yes
arguments R3 No No No No Yes No No No Yes
F3 Yes Yes Yes Yes No Yes No Yes No
V1 No No No No No No Yes Yes Yes
V2 No No No No No No Yes No No
UC4: Detect consensus A6
V3 No No No No No No Yes No No
V4 No No No No No No Yes Yes Yes
A7 No No No No No No No Partial No
UC5: Monitor decisions D5 No No No No No No No Partial No
UC6: Whiteboarding D1 No Yes No Yes Yes No No No Partial
UC7: Identify expertise D2 No Yes No No No Yes No No No
UC8: Evaluate D3 No No No No No No No No No
alternatives
UC9: Detect
D4 No No No No No Partial No No No
dysfunctions
UC10: Understand D6 Yes Yes Yes No Yes No No No Yes
decisions D7 No No No No No No No No No
Discourse discussion is modeled with the avatar of the initiator, different paradigm used by the tools analyzed. About half
and avatars of the last users to reply to the discussion. the tools studied support a rational decision process (e.g.
holaSpirit [42] is an implementation of the “holacracy” [11] ArguNet, bCisive, Carneades), rooted in logical propositions
framework, which focuses on managing responsibilities and akin to Bayesian logic. These tools assume that arguments
meeting agendas. It includes a way to document tensions brought forward are equally true and build the GDM around
between participants, which can help diagnose some dys- argument structures. The other half support a naturalistic
functionalities. It can help identify expertise, based on the decision process (e.g. Loomio, Reddit, Planning Poker) and
assignment of responsibilities. The “holacracy” framework are rooted in fuzzy propositions. These fuzzy propositions are
relies on Venn diagrams to show how responsibilities can be not assumed to be true, and GDM is therefore built around
regrouped into roles. participants’ votes.
We summarize the results of our analysis in Table I. Note The importance of both rational and naturalistic approaches
that the activity “Refinement” (A5) appears in two columns to GDM has been detailed in published literature [24], [25]. On
and does not present the same results. The reason is that one the one hand, purely rational tools are limited in practice. On
analysis is taken from the point of view of management pro- the other hand, while some fuzzy argumentation models exist,
posals (UC2) while the other is based on argument documenta- they focus on artificial intelligence and are not supported by
tion (UC3). For example, a tool can permit edition of proposals any GDM tools [43]. This implies that a fuzzy argumentation
(A5 from UC2), but does not cover argument documentationm modelling support tool might be useful for practical GDM,
(A5 from UC3), therefore resulting in different results. and in extension, to CBSD.
Studying the results presented in Table I, it is possible to Results show only partial coverage of the “Refinement”
pinpoint incompatibilities between current tool functionalities activity (A5) from the point of view of proposal management
and the needs of CBSD. Some requirements are poorly covered (UC2). A few tools support the editing of proposals and
by current tools, while others are not covered at all. arguments, but none keep track of changes. This requirement
Results also show that many tools focus on one aspect of is important in practice because it is often necessary to come
GDM exclusively. This is coherent with the current tendency back to previous versions of proposals, e.g., when a change
away from a single tool able to do everything (e.g., Rational is blocked by participants. It is also important for postmortem
Rose) and toward multiple inter-communicating tools (e.g., evaluation of the GDM process, especially postmortem alter-
integrating Slack with JIRA and Bitbucket). It would therefore native evaluation (UC8) and team dysfunction identification
theoretically be possible to cover the needs of CBSD using (UC9).
multiple inter-communicating tools. Unfortunately, most of Among the uncovered requirements, none of the analyzed
these tools cannot do this right now, forcing a manual transfer tools support postmortem alternative evaluation (UC8). This is
of data from one tool to the next. For example, while none cause for concern since poorly framed problems are the source
of the tools analyzed provides direct support for decision of multiple software catastrophes [44]. It would be interesting
monitoring (UC5), it would be possible to support it through a to track changes made to the alternatives throughout the project
connection to a project management tool like Microsoft Project in order to detect when poor alternatives were chosen, or where
or Atlassian JIRA. radical changes to alternatives occurred during development.
However, one obstacle to this integration is the two widely No tools support the postmortem evaluation of team dys-
functions (UC9), except holaSpirit, which does it partially c) RQ3. Evolving decision models:: It is currently possi-
through the manual identification of tensions. With a tool able ble to make static argumentation models. It should be possible
to keep track of changes, it would be possible to see how the to take multiple snapshots of static models in order to reason
decision evolved throughout the project. It would therefore be on the evolution of the models over time. For reasoning on
possible to perform some reasoning not only on one static design decision rationale, the monitoring and management of
model, but on a serie of evolving models. It seems however compliance [51] and assurance [52] documentation over time
that at this time, no framework exists to study the evolution is relevant. Crucially, decision-making should be informed by
of argument models. the principled evaluation of alternatives. This can be accom-
Given the importance given to the management of expertise plished by integrating into CBSD techniques developed for
in the literature [7], [6], [44], it is surprising that more tools design space exploration [53]. Further, a support tool should
are not taking it into account. Only two tools support it, but integrate these in a metamodelling platform that would allow
they do not implement voting mechanisms. In other words, comprehensive management [54] and versioning [55].
expertise is not factored in any of the vote-based tools. This d) RQ4. Monitoring Team Dynamics:: Current tools pro-
limits the capability of stakeholders to assess the relative vide limited information on team characteristics, like expertise
merits of alternatives, as all proposals, arguments and votes (D2) or organizational context (D7). Since these characteristics
are considered equal, which might not be the case in practice. vary from time to time, and from decision to decision, it
would be important to keep track of them in order to support
VI. G OING F ORWARD better reasoning. For example, CBCs might accrue “consensus
Given the mismatch between the capabilities of existing debt” (akin to technical debt [56]) when provisional short term
tools and the need of CBCs, we propose a roadmap for decisions need to be made to address urgent contingencies.
research on model-based techniques for supporting CBSD. This debt should be recorded, monitored and resolved. Keep-
We focus on model-based techniques specifically because the ing track of team dynamics would enable better modelling of
Model Driven Engineering (MDE) approach allows describing the social network, which would connect to decision models
the various relevant artifacts at a high level of abstraction, with specific heuristics to detect degenerations. In this, it
which in turn helps integrate and analyze information from is crucial to integrate into CBSD insights from industrial
heterogeneous sources, such as discussions, decisions, design psychology [57], taking into account the specific philosoph-
artifacts, documentation, source code, etc. ical concerns of CBCs, especially centred around issues of
intersectionality [58].
A. Main research questions
Research on CBSD should at a minimum address the B. Epistemological approach
following:
CBCs have their roots in social movements (e.g., Loomio
a) RQ1. Inter-tool communication:: Developers should
originates from the Occupy Wall Street movement [38]), and
be able to seamlessly use chains of relevant tools. For example,
research in CBSD should take in account its origins and the
they could pick one tool for problem statement, a second
particular concerns that lie at its core philosophy. Specifically,
for proposals and a third for argument documentation (UC1,
the philosophy behind CBSD evolved from critiques of abuses
UC2, UC3), and be able to link the decision data to a project
of traditional organizational structures. From the viewpoint of
management tool (UC5) of their choice. It is a classic problem
social movements, inequalities extant in society are reproduced
in software engineering and model-driven development. We
as individual behavior inside organizations unless special care
propose to use metamodelling and language globalization [45]
is given to avoid them.
to create an infrastructure for interoperability between tools.
This includes, from the perspective of CBCs, academic
b) RQ2. Tool support for fuzzy argumentation:: Existing
researchers. This poses a practical and epistemological chal-
tools are primarily oriented toward rational decision-making.
lenge for research in CBSD, since traditional post-positivist
In practice, when facing complex decisions, developers favour
and constructivist epistemological stances might be met with
a more naturalistic approach. Tool support, as well as the
significant resistance and suspicion from CBCs. Instead, we
modelling languages and techniques used for representing
propose that critical theory is the appropriate epistemological
discussions, should reflect this practical need. The modelling
framework for research in this domain. Easterbrook et al.
of discussions is a difficult problem in itself in the field of
describe it as follows [59]:
computational linguistics where various approaches have been
developed to represent and analyze them (e.g., [46], [47], Critical Theory judges scientific knowledge by its
[48]). However, combining such approaches with MDE tech- ability to free people from restrictive systems of
niques, languages and tools is an open problem. One potential thought [60]. Critical theorists argue that research
avenue is to extend peliminary work on creating models of is a political act, because knowledge empowers dif-
software design discussions [49], [50] with techniques from ferent groups within society, or entrenches existing
design space modelling and exploration. We are currently power structures
working on a project to model online discussions and provide Within a critical-theoretic epistemological framework, re-
online feedback and analytics about them to the participants. searchers prioritize the use of participatory approaches, that
provide them with intimate insights and high levels of famil- non-technical stakeholders, etc. [63]. [7]’s model integrates
iarity with the teams being studied [61], as well as action a feedback mechanism which recognizes that consensus is a
research. Action research is a research methodology, where building, evolving process (RQ3). The objective of their model
researchers acknowledge that they are not objective observers is to support this evolving process by providing appropriate
and instead work together with a community to affect change, feedback to the participants, based on their expertise. As the
explicitly acknowledging their biases. The focus is on building authors write, engineering GDM “is a dynamic and iterative
relationships of mutual trust and accountability between re- process, composed of several rounds where the experts ex-
searchers and the communities they study, and on participatory press, discuss, and modify their preferences” [7].
theory building in order to address real problems withing the The importance of expertise must however be balanced
community, under the principle that research and action are with the concern of technocratic autocracy, “where expertise
indivisible [62]. is the basis of authority” [24]. The works of [24] outlines
In short, research on CBSD should be conducted in close the importance of managing concerns (RQ5) to avoid the
collaboration with CBCs themselves, ensuring that their real case where the decision-making process becomes the domain
needs are addressed in accordance to the specific concerns and of unchallenged experts. Their work also show the lack of
priorities in their social and political milieu. research into naturalistic decision-making in Agile software
development. They write that:
VII. R ELATED W ORK
Today’s software systems are becoming more com-
The research questions provide interesting new avenues for
plex because of the need to balance the often
the development of tool support for GDM within generic
disparate needs of diverse stakeholders, and the
CBCs. However, how does this can be mapped to CBSD?
growing complexity of the technology used. This
Will the theoretical tool presented herein provide any benefit
reality requires more unstructured decision-making.
for software engineering, at least within CBC contexts?
Second, the principles of agile software development
The work of [6] on Agile software development corrob-
align with the definition of naturalistic decision-
orates some of the CBC challenges. They are critical of
making. [24]
traditional decision theory being too rooted within the rational
decision-making paradigm (RQ2): There is therefore a need, at least within Agile software
development, for naturalistic GDM support tools (RQ2).
Normative decision theory views decision makers
In summary, the research questions identified are not generic
as idealized, rational, extremely intelligent beings
needs of CBCs, but can also be applied to software engineer-
who overcome their inner turmoil, shifting values,
ing. A number of these research questions are not only limited
anxieties, post-decision regrets, fear of ambiguity,
to CBSD, but could also provide benefits for Agile software
inability to perform intricate calculations and limited
development. For Agile contexts, we note especially the need
attention span to make rational, optimum choices.
for naturalistic GDM tool support (RQ2) and the need for
[6]
expertise management (RQ4).
They also see the self-managed nature of Agile software
development as challenging. They mention that traditional VIII. C ONCLUSION
authoritarian structures normally ensure that the voice of the We have outlined the group decision-making (GDM) pro-
experts carry more weight than the voice of others (RQ4). cess and its associated challenges in the context of Consensus-
They also mention that in Agile, decision are not always Based Software Development (CBSD), based on existing
implemented as discussed during meetings, if at all (UC5). practices within Consensus-Based Communities (CBCs). We
In practice however, Agile software development is not structured these in high-level requirements for supporting the
as self-managed as theoretically designed. [8], in a survey CBSD with appropriate tooling and analyzed a preliminary list
of Agile software developers, found that 67% of them still of CBSD-related tools to find gaps in the existing functional-
had a manager above them. These Agile teams come from ities. Based on this analysis, we posed outlined a vision for
traditional authoritarian organizations, or are within mixed research in CBSD, identigying four research directions and
organizations (Agile and non-Agile), and are still beholden outlining the epistemological and methodological challenges
to high management. for such research.
The works of [7], while not specific to software, does study
engineering teams. They note the heterogeneity of experts (D1) R EFERENCES
within modern engineering teams. For example, a software [1] T. Flanagan, C. Eckert, and P. J. Clarkson, “Externalizing tacit
development team might include a user interface expert, a overview knowledge: A model-based approach to supporting design
database expert, a security expert, etc. They therefore build teams,” Artificial Intelligence for Engineering Design, Analysis and
Manufacturing, vol. 21, no. 3, pp. 227–242, Jun. 2007. [Online].
a theoretical model to help engineering team manage this het- Available: http://dx.doi.org/10.1017/S089006040700025X
erogeneity of expertise, through a weighting approach (RQ4). [2] M. J. Turk, “Scaling a code in the human dimension,” in
This heterogeneity becomes especially difficult during soft- Proceedings of the Conference on Extreme Science and Engineering
Discovery Environment: Gateway to Discovery, ser. XSEDE ’13.
ware requirement negotiations, as it includes participants with New York, NY, USA: ACM, 2013, pp. 691–697. [Online]. Available:
varying backgrounds: domain experts, software developers, http://doi.acm.org/10.1145/2484762.2484782
[3] M. E. Conway, “How do committees invent?” Datamation, vol. 14, no. 4, Conference, ser. WSC ’15. Piscataway, NJ, USA: IEEE Press,
pp. 28–31, 1968. 2015, pp. 276–287. [Online]. Available: http://dl.acm.org/citation.cfm?
[4] N. Nagappan, B. Murphy, and V. Basili, “The influence of organizational id=2888619.2888648
structure on software quality: An empirical case study,” in Proceedings [28] P. Bourdieu, Distinction. Harvard University Press, 1984.
of the 30th International Conference on Software Engineering, ser. [29] M. Shahin, P. Liang, and M. R. Khayyambashi, “Architectural design
ICSE ’08. New York, NY, USA: ACM, 2008, pp. 521–530. [Online]. decision: Existing models and tools,” in 2009 Joint Working IEEE/IFIP
Available: http://doi.acm.org/10.1145/1368088.1368160 Conference on Software Architecture European Conference on Software
[5] A. Maturo and A. G. S. Ventre, “Models for consensus in multiperson Architecture, Sept 2009, pp. 293–296.
decision making,” in NAFIPS 2008 - 2008 Annual Meeting of the North [30] J. Tyree and A. Akerman, “Architecture decisions: demystifying archi-
American Fuzzy Information Processing Society, May 2008, pp. 1–4. tecture,” IEEE Software, vol. 22, no. 2, pp. 19–27, March 2005.
[6] M. Drury, K. Conboy, and K. Power, “Decision making in agile [31] E. S. K. Yu, “Towards modelling and reasoning support for early-
development: A focus group study of decisions and obstacles,” in 2011 phase requirements engineering,” in Requirements Engineering, 1997.,
Agile Conference, Aug 2011, pp. 39–47. Proceedings of the Third IEEE International Symposium on, Jan 1997,
[7] I. J. Pérez, F. J. Cabrerizo, S. Alonso, and E. Herrera-Viedma, “A pp. 226–235.
new consensus model for group decision making problems with non- [32] F. Dalpiaz, X. Franch, and J. Horkoff, “iStar 2.0 Language Guide,” Tech.
homogeneous experts,” IEEE Transactions on Systems, Man and Cyber- Rep., 2016.
netics: Systems, vol. 44, no. 4, pp. 494–498, 2014. [33] D. A. L. Garcı́a, T. d. J. Mateo Sanguino, E. C. Ancos, and I. F.
[8] Y. Shastri, R. Hoda, and R. Amor, “Does the ’project manager’ still de Viana González, “A debate and decision-making tool for enhanced
exist in agile software development projects?” in 2016 23rd Asia-Pacific learning,” IEEE Transactions on Learning Technologies, vol. 9, no. 3,
Software Engineering Conference (APSEC), Dec 2016, pp. 57–64. pp. 205–216, July 2016.
[9] K. Beck, M. Beedle, A. van Bennekum, A. Cockburn, W. Cunningham, [34] G. Betz, S. Cacean, and C. Voigt. (2016) Argunet - open-source
M. Fowler, J. Grenning, J. Highsmith, A. Hunt, R. Jeffries, J. Kern, argument mapping. [Online]. Available: http://www.argunet.org/editor
B. Marick, R. C. Martin, S. Mellor, K. Schwaber, J. Sutherland, and [35] T. F. Gordon. (2016) Carneades - tools for argument (re)construction,
D. Thomas. (2001) Principles behind the agile manifesto. [Online]. evaluation, mapping and interchange. [Online]. Available: http:
Available: http://agilemanifesto.org/principles.html //carneades.github.io/
[10] Rishipal, “Analytical comparison of flat and vertical organizational [36] ReasoningLab.com. (2017) bcisive - online decision mapping. [Online].
structure,” European Journal of Business and Management, vol. 6, Available: https://www.bcisiveonline.com/
no. 36, pp. 56–65, 2014. [37] P. Baldwin and D. Price. (2017) Debategraph. [Online]. Available:
[11] B. J. Robertson, “Organization at the leading edge: Introducing ho- http://debategraph.org/
lacracy,” Tech. Rep., 2007. [38] Loomio Cooperative Limited. (2016) Loomio - better decisions together.
[12] Koumbit. (2017) About us. [Online]. Available: https://www.koumbit. [Online]. Available: https://www.loomio.org/
org/en/about [39] Mountain Goat Software. (2017) Planningpoker.com - estimates
[13] Loomio Cooperative Limited. (2016) The loomio co-op handbook. made easy. sprints made simple. [Online]. Available: https://www.
[Online]. Available: https://www.loomio.coop/ planningpoker.com/
[14] Zappos Insights. (2017) Holacracy - flattening the organization [40] Reddit. (2017) Reddit. [Online]. Available: https://about.reddit.com/
structure and busting bureaucracy. [Online]. Available: https://www. [41] Civilized Discourse Construction Kit. (2017) What is discourse?
zapposinsights.com/about/holacracy - discourse - civilized discussion. [Online]. Available: http://www.
[15] A. Doyle. (2016) Management and organization discourse.org/about
at medium. [Online]. Available: https://blog.medium.com/ [42] holaSpirit SAS. (2017) holaspirit - application for holacracy and teal
management-and-organization-at-medium-2228cc9d93e9 organizations. [Online]. Available: https://www.holaspirit.com/
[16] Drupal. (2016) Drupal code of conduct. [Online]. Available: https: [43] J. Janssen, M. De Cock, and D. Vermeir, “Fuzzy argumentation net-
//www.drupal.org/dcoc works,” Vrije Universiteit Brussel, Tech. Rep., January 2008.
[17] Seeds for Change, A Consensus Handbook. Footprint Workers’ Co-op, [44] C. Edwards, “Agreeing to fail,” Engineering & Technology, vol. 4,
2013. no. 7, pp. 74–75, 2009. [Online]. Available: https://doi.org/10.1049/et.
[18] D. G. Messerschmitt, C. Szyperski et al., “Software ecosystem: under- 2009.0716
standing an indispensable technology and industry,” MIT Press Books, [45] B. Combemale, J. Deantoni, B. Baudry, R. B. France, J.-M. Jézéquel,
vol. 1, 2005. and J. Gray, “Globalizing modeling languages,” Computer, pp. 10–13,
[19] D. Zwieback, Beyond Blame, Learning from successes and failure. 2014.
O’Reilly Media, 2015. [46] D. P. Twitchell, M. Adkins, J. F. Nunamaker, and J. K. Burgoon, “Using
[20] A. Cornell, Oppose and Propose! AK Press, 2011. speech act theory to model conversations for automated classification
[21] D. Vannucci and R. Singer, Come Hell or High Water. AK Press, 2010. and retrieval,” in Proceedings of the International Working Conference
[22] R. Cialdini, “The science of persuasion,” Scientific American, vol. 284, Language Action Perspective Communication Modelling (LAP 2004),
pp. 76–81, 2001. 2004, pp. 121–130.
[23] F. J. Cabrerizo, F. Chiclana, M. R. Uren̋a, and E. Herrera-Viedma, [47] S. Joty and E. Hoque, “Speech act modeling of written asynchronous
“Challenges and open questions in soft consensus models,” in 2013 Joint conversations with task-specific embeddings and conditional structured
IFSA World Congress and NAFIPS Annual Meeting (IFSA/NAFIPS), models,” in Proceedings of the 54th Annual Meeting of the Association
June 2013, pp. 944–949. for Computational Linguistics, ACL, 2016, pp. 7–12.
[24] N. B. Moe, A. Aurum, and T. Dybå, “Challenges of shared decision- [48] R. P. Fawcett and B. L. Davies, Monologue as a turn in dialogue:
making: A multiple case study of agile software development,” Informa- Towards an integration of exchange structure and rhetorical structure
tion and Software Technology, vol. 54, no. 8, pp. 853–865, 2012, special theory, 1992, pp. 151–166.
Issue: Voice of the Editorial Board. [49] E. Black, P. McBurney, and S. Zschaler, Towards Agent Dialogue as a
[25] C. Zannier, M. Chiasson, and F. Maurer, “A model of design decision Tool for Capturing Software Design Discussions, 2014, pp. 95–110.
making based on empirical results of interviews with software design- [50] A. S. Mashiyat, M. Famelis, R. Salay, and M. Chechik, “Using devel-
ers,” Information and Software Technology, vol. 49, no. 6, pp. 637–653, oper conversations to resolve uncertainty in software development: A
2007. position paper,” in Proceedings of the 4th International Workshop on
[26] M. Van Mechelen, M. Gielen, V. vanden Abeele, A. Laenen, and Recommendation Systems for Software Engineering, 2014, pp. 1–5.
B. Zaman, “Exploring challenging group dynamics in participatory [51] S. Ghanavati, D. Amyot, and L. Peyton, “Towards a framework for
design with children,” in Proceedings of the 2014 Conference tracking legal compliance in healthcare,” in Advanced Information
on Interaction Design and Children, ser. IDC ’14. New York, Systems Engineering. Springer, 2007, pp. 218–232.
NY, USA: ACM, 2014, pp. 269–272. [Online]. Available: http: [52] S. Kokaly, R. Salay, V. Cassano, T. Maibaum, and M. Chechik, “A model
//doi.acm.org/10.1145/2593968.2610469 management approach for assurance case reuse due to system evolution,”
[27] A. Kalyanasundaram, W. Wei, K. M. Carley, and J. D. Herbsleb, in Proceedings of the ACM/IEEE 19th International Conference on
“An agent-based model of edit wars in wikipedia: How and when Model Driven Engineering Languages and Systems. ACM, 2016, pp.
is consensus reached,” in Proceedings of the 2015 Winter Simulation 196–206.
[53] S. A. Busari and E. Letier, “Radar: A lightweight tool for requirements [58] D. Atewologun, R. Sealy, and S. Vinnicombe, “Revealing intersectional
and architecture decision analysis,” in Proceedings of the 39th dynamics in organizations: Introducing ’intersectional identity work’,”
International Conference on Software Engineering, ser. ICSE ’17. Gender, Work & Organization, vol. 23, no. 3, pp. 223–247, 2016.
Piscataway, NJ, USA: IEEE Press, 2017, pp. 552–562. [Online]. [59] S. Easterbrook, J. Singer, M.-A. Storey, and D. Damian, “Selecting em-
Available: https://doi.org/10.1109/ICSE.2017.57 pirical methods for software engineering research,” Guide to advanced
[54] G. Brunet, M. Chechik, S. Easterbrook, S. Nejati, N. Niu, and M. Sa- empirical software engineering, pp. 285–311, 2008.
betzadeh, “A manifesto for model merging,” in Proceedings of the 2006 [60] C. Calhoun, Critical social theory: Culture, history, and the challenge
international workshop on Global integrated model management. ACM, of difference. Wiley-Blackwell, 1995.
2006, pp. 5–12. [61] T. C. Lethbridge, S. E. Sim, and J. Singer, “Studying software
[55] P. Brosch, G. Kappel, P. Langer, M. Seidl, K. Wieland, and M. Wimmer, engineers: Data collection techniques for software field studies,”
“An introduction to model versioning,” in Proceedings of the 12th Empirical Software Engineering, vol. 10, no. 3, pp. 311–341, 2005.
international conference on Formal Methods for the Design of Computer, [Online]. Available: http://dx.doi.org/10.1007/s10664-005-1290-x
Communication, and Software Systems: formal methods for model- [62] P. S. M. Dos Santos, G. H. Travassos, and M. V. Zelkowitz, “Action
driven engineering. Springer-Verlag, 2012, pp. 336–398. research can swing the balance in experimental software engineering,”
[56] P. Kruchten, R. L. Nord, and I. Ozkaya, “Technical debt: From metaphor Advances in computers, vol. 83, pp. 205–276, 2011.
to theory and practice,” Ieee software, vol. 29, no. 6, pp. 18–21, 2012. [63] H. In and S. Roy, “Issues of visualized conflict resolution,” in Proceed-
[57] K. W. Buffinton, K. W. Jablokow, and K. A. Martin, “Project team dy- ings Fifth IEEE International Symposium on Requirements Engineering,
namics and cognitive style,” Engineering Management Journal, vol. 14, 2001, pp. 314–315.
no. 3, pp. 25–33, 2002.