Fricker, Grunbacher - Negotiation Constellations.pdf

(387 KB) Pobierz
Title
Negotiation Constellations – Method Selection
Framework for Requirements Negotiation
Samuel Fricker 1,2 and Paul Grünbacher 3
1 University of Zurich, Department of Informatics
Binzmuehlestrasse 14, 8057 Zurich, Switzerland
fricker@ifi.uzh.ch
2 ABB Switzerland Ltd., Power Systems
Bruggerstrasse 72, 5400 Baden, Switzerland
samuel.fricker@ch.abb.com
3 Johannes Kepler Universität (JKU),
Institute for Systems Engineering and Automation
4040 Linz, Austria
paul.gruenbacher@jku.at
Abstract. Customers, product managers, project leaders, architects, engineers,
and other stakeholders are negotiating requirements throughout the software
lifecycle. Even-though fundamental for understanding requirements engineer-
ing, negotiation has not been as thoroughly studied as other facets of this engi-
neering discipline. This paper casts requirements engineering into the landscape
of negotiation by describing a framework for selecting tactics and methods for
various negotiation constellations that can be encountered in a software organi-
zation. The framework opens perspectives that are essential for understanding
the behavior of people involved in development projects, for understanding how
development teams and stakeholders create mutually satisfactory solutions, and
for giving tactical advice to practitioners.
1 Introduction
Software development is embedded in a complex network of stakeholders that include
roles like customers, development managers, product managers, team leaders, architects,
developers, testers, and maintainers [10]. The interplay between these stakeholders is a
fundamental success factor, as every role brings essential knowledge, capabilities, and
skills that are essential to design great new products.
However, designing appropriate requirements engineering processes for such com-
plex stakeholder networks is still a major challenge [7]. For instance, there are multiple
organizational interfaces at which requirements are engineered: it can be observed that
stakeholders pursue their own objectives by trying to delegate the fulfillment of some
goals while satisfying those of others [33]. This happens not only during early-phase
requirements engineering, but also in design and change management activities
throughout the whole development process [5,11].
The lack of approaches for tailoring requirements engineering to the structure of stake-
holder networks and to the specific negotiations situations between these stakeholders
B. Paech et al. (Eds.): REFSQ 2008, LNCS 5025, pp. 37 –51, 2008.
© Springer-Verlag Berlin Heidelberg 2008
 
38
S. Fricker and P. Grünbacher
leads to misunderstandings and conflicts. As a consequence, development effort is wasted
on insignificant features, rather than being invested on features that are most essential for
stakeholder satisfaction.
In response to these challenges posed by complex stakeholder networks, this paper
presents a framework for helping stakeholders to understand their negotiation constel-
lations and for selecting appropriate negotiation tactics and methods . The proper
selection of negotiation tactics and methods enables effective communication and
acknowledgment of requirements, helps exploiting opportunities for stakeholder satis-
faction by creating win-win situations, and establishes trust relationships that are
important for development efficacy and high-impact development results.
Beyond its usefulness for practitioners, we hope that the framework will aid re-
quirements engineering researchers to structure and understand the landscape of nego-
tiation in requirements engineering. The framework references knowledge from the
broad field of negotiation and identifies a number of research opportunities for under-
standing on how to handle requirements adequately in specific stakeholder constella-
tions.
This paper presents the negotiation constellations framework and its implications
on requirements engineering practice and research. The paper is structured as follows:
Section 2 outlines background and related work. Section 3 presents the negotiation
constellation framework. Section 4 illustrates the use of the framework. Section 5
discusses the presented work. Section 6 summarizes and concludes the paper.
2 Background and Related Work
This work has been motivated by challenges identified at ABB. It relates to a case
where product managers coordinate distributed development teams with requirements
that are derived from agreements with diverse stakeholders. Conflicts arise almost
inevitably in such cases as project stakeholders pursue mismatching goals and try
to influence each other [12,19]. For example, in a software product organization goals
need to be considered from the market, partners, customers, users, company manage-
ment, sales & marketing, research & innovation, consultants, development, and
support [1,32]. Successful requirements engineering demands agreement on the
requirements [15].
Key approaches that can be applied to reach such an agreement include analysis of
viewpoints [14], stakeholder and goal modeling [15,33], and negotiation [6,12,16,31].
The negotiation process starts when the stakeholders communicate their goals. It ends
when all have agreed to a specified contract [26].
There are two fundamental ways to manage this negotiation process with regard to
how agreements are established in the stakeholder network. First, the process can be
managed by a requirements engineer who elicits the positions and perspectives of
stakeholders, documents them in a comprehensive goal model, facilitates the resolu-
tion of conflicts, and communicates the obtained global stakeholder agreement.
Second, the negotiation process can emerge out of the activities of stakeholders
that perform the organizational roles they are assigned to. Instead of one large nego-
tiation that involves all stakeholders, negotiation is carried out as a number of
Negotiation Constellations – Method Selection Framework for Requirements Negotiation 39
Market Segment
Company
Steering Committee
Customer
M&S Manager
R&D Manager
Line Manager
Customer
Development Team
Market Segment
Product Manager
Project Leader
and Architect
Supplier
Customer
Developer
Developer
Supplier
Customer
Developer
Fig. 1. Exemplary contract model of a software organization. Ellipses represent hierarchically
nested groups of people or individuals. Arrows represent contracts that are agreed upon.
small-scale activities that are performed rather independently. This leads to a number
of agreements between different stakeholders [7]. An example of such distributed
negotiations is illustrated by the contract model shown in Fig. 1.
Independent of the process flavor, questions about the tactical approach and meth-
odology appear in these different negotiation constellations. Requirements engineers
needs to understand how to perform win-win negotiations, how to reach value-
creating results, and how to deal with group dynamics. Stakeholders need to under-
stand their role in the negotiation process and what they can and should do to achieve
their objectives by influencing other stakeholders. Hence, the following issues need to
be addressed:
- Correctly conceptualizing the negotiation constellation,
- Understanding the advantages and limitations of the constellation,
- Knowing the negotiation tactics and methods appropriate for the constellation,
- Identifying those stakeholders that need to be involved in negotiation, and
- Selecting and pursue the most appropriate negotiation approach.
The knowledge in the negotiation constellations framework assists stakeholders
with these questions and provides negotiation advice. It also is used to improve re-
quirements engineering processes by capturing, organizing and making available
good negotiation practices and experiences.
The negotiation constellations framework is similar to reference models like CMMI
for software process improvement [13], and the good practice guide for requirements
engineering improvement [29]. It focuses, however, on requirements negotiation and
adds criteria for selecting tactics and methods that are based on the situations in which
they are applied. In contrast to other reference models, the negotiation constellations
framework also supports capturing and structuring experience to support learning
software organizations [28].
590225561.001.png
40
S. Fricker and P. Grünbacher
3 Negotiation Constellations
Understanding negotiation constellations is essential for efficiently finding good agree-
ments among stakeholders. This section elaborates how the negotiation constellation
framework advises practitioners and supports requirements engineering process im-
provement by describing its structure and use.
Negotiation is an interpersonal decision-making process to find a mutually accept-
able agreement to a conflict [16,31]. Agreements can contain the planned realization
of needs and objectives, the use of capabilities, the guarantee of financial or other
backing, or the provision of knowledge [8].
A negotiation constellation is characterized by a number of facets that influence
the selection of negotiation methods. Key facets include the characteristics of the
negotiating parties, the relationships between these parties, and the negotiation object
[31]. Other facets include the geographical distance between the parties [6] and their
expected conflict behavior [30].
The negotiation constellations framework describes a taxonomy of negotiation
constellations and provides specific advice for negotiation tactic, methodology, and
experience for a given negotiation constellation. The framework was shaped to be
relevant, simple, specific, and orthogonal. It contains knowledge that is useful for
advising practitioners in a software development context. The number of taxonomic
units is intentionally kept small. The decision criteria are simple and can be applied
intuitively. The advice is given at a coarse level of granularity that still allows differ-
entiating negotiation approaches. The number of fields in which the same negotiation
tactics and techniques are found is minimized, however without compromising speci-
ficity.
The negotiation constellations framework has been defined with the following re-
search process in collaboration with practitioners. Situations have been identified that
require applying different negotiation tactics and techniques. These situations were
then exemplified with stereotypical descriptions of software development organiza-
tions and relationships between various organizational roles. Finally, negotiation,
requirements engineering and software engineering literature was studied to identify
tactics and methods that adequately address the negotiation situations.
Subsection 3.1 describes commonalities of negotiation situations in a software engi-
neering context. Subsection 3.2 describes the taxonomy of negotiation constellations.
Subsections 3.3 and 3.4 describe tactical and methodological advice.
3.1 Common Negotiation Characteristics in Software Organizations
Negotiation has been studied in many different contexts, including product sales,
employment contracts, personal affairs, politics, and peace keeping. Negotiation oc-
curs 1) to agree on how to share or divide limited resources such as money, time and
staff; 2) to create something new that neither party could do on its own; or 3) to re-
solve a conflict between parties. By choosing options other than negotiation, people
may fail to achieve their goals, get what they need, or manage conflicts as smoothly
as they might like to [16].
Negotiation in a software organization is special because a number of factors in the
negotiation context are predetermined. This significantly reduces the variability of
Negotiation Constellations – Method Selection Framework for Requirements Negotiation 41
general negotiation situations and allows simplifying the negotiation constellation
framework. The factors that are specific to software organizations concern the nego-
tiation object, conflict management, and opportunities for renegotiations.
Bargaining over a single issue like a price is rare. Instead, people seek win-win re-
sults that occur when a mutually acceptable solution is sought. Win-win negotiation
involves a number of issues that are negotiated together . For instance, a customer
may want to reduce the price of a software solution or service, but this is typically
negotiated together with other contractual elements like the scope of the solution or
service. In other circumstances, people negotiate a set of concerns and objectives such
as needs, requirements, and design decisions.
A number of conflict resolution styles are differentiated in negotiation, depending
on the negotiators interest in his own outcome and in the other negotiator’s outcome
[27]. This dual-concerns model is illustrated in Fig. 2.
high
Yielding
Problem-
Solving
Compromising
Avoiding
Dominating
low
low
Concern about own outcomes
high
Fig. 2. Dual-concerns model of negotiation behavior [27]. The grey area highlights the conflict
resolution style in a software organization centered on problem solving or compromising.
The conflict resolution style that should preferably be adopted in a software or-
ganization is problem solving , or compromising when consensus cannot be reached
[23]. The issues that are negotiated in a software organization are complex: a synthe-
sis of ideas is needed to come up with mutually satisfactory solutions, and time is
available for such problem solving. Resources, skills and knowledge are possessed by
different parties. Hence, commitment is needed from these other parties for successful
implementation, with one party alone not being able to solve the negotiated problems.
Yielding to another party should not be done because the issues negotiated are impor-
tant, in the responsibility of the negotiators, and ultimately connected to their career.
For the same reason, avoiding the other party is inappropriate. Finally, the other party
should not be dominated because the negotiated issues are too complex and the nego-
tiation partners have high degree of competence in their areas.
In software organizations, a number of opportunities for renegotiation are institu-
tionalized. For example, change management processes are established to
590225561.002.png
Zgłoś jeśli naruszono regulamin