Chapter 4
Communication of Enterprise Architectures
This chapter presents a communication perspective of enterprise architectures. We
provide both a theoretical and a practical perspective of the issues involved in the
communication of enterprise architectures. The general idea is that the chapter
helps the reader see how architecture development and modelling can be optimally
supported by discussing why certain forms of modelling are used in some situation
and how this fits the goals in the process. The theoretical perspective will focus on
communication during system development in general, where the word system
should be interpreted as any open and active system, consisting of both human
and computerised actors, that is purposely designed. The practical perspective will
take shape as a set of practical guidelines that should aid architects in the selection
and definition of architecture description approaches that are apt for a specific
(communication) context.
4.1 Introduction
Describing architectures is all about communication. If some architecture description
is not used as a means of communication in some shape or form, then this
description should not have been created in the first place. Whatever the role of
an architecture description is, it always involves some communicative aspect.
Consider, as an illustration, the potential uses of architecture descriptions as
identified in the IEEE 1471 standard (IEEE Computer Society 2000):
– Expression of the system and its (potential) evolution.
– Analysis of alternative architectures.
– Business planning for transition from a legacy architecture to a new architecture.
– Communications among organisations involved in the development, production,
fielding, operation, and maintenance of a system.
– Communications between acquirers and developers as a part of contract
negotiations.
M. Lankhorst et al., Enterprise Architecture at Work, The Enterprise
Engineering Series, DOI 10.1007/978-3-642-29651-2_4,
# Springer-Verlag Berlin Heidelberg 2013
61
– Criteria for certifying conformance of implementations to the architecture.
– Development and maintenance documentation, including material for reuse
repositories and training material.
– Input to subsequent system design and development activities.
– Input to system generation and analysis tools.
– Operational and infrastructure support; configuration management and repair;
redesign and maintenance of systems, subsystems, and components.
– Planning and budget support.
– Preparation of acquisition documents (e.g., requests for proposal and statements
of work).
– Review, analysis, and evaluation of the system across the life cycle.
– Specification for a group of systems sharing a common set of features, (e.g.,
product lines).
Each of these uses of architecture involves forms of communication. In this vein,
in this chapter we present a ‘communication-aware’ perspective of enterprise
architectures. In doing so, we provide both a theoretical and a practical perspective
of the issues involved in the communication of enterprise architectures. The
theoretical perspective will focus on communication during system development
in general, where the word system should be interpreted as any open and active
system, consisting of both human and computerised actors, that is purposely
designed. The practical perspective will take shape as a set of practical guidelines
that should aid architects in the selection (and definition) of architecture description
languages and approaches that are apt for a specific (communication) situation.
Architecture descriptions are used to communicate the architecture of a planned
or pre-existing system. This could be a system that is part of an enterprise, an
organisation, a business, an information system, a software system, or the hardware
infrastructure. The communication about the system and its architecture is likely to
take place between different stakeholders of that system.
In this book, the primary focus is on architectural models of a graphical (as
opposed to textual or verbal) nature. One may refer to these as architectural models
‘in the narrow sense’. In this chapter, however, we are concerned with architecture
descriptions in ‘the broader sense’. In other words, textual, verbal, or any other
types of architecture descriptions are included.
At present, many description languages are already available to architects, while
many more are being created by both academia and industry. Why all these
languages? How does one select the language that is most apt in a given situation?
Such questions beg for a well-conceived answer. In line with the old adage ‘practice
what you preach’, we argue that just as proper requirements engineering is needed
for the development of systems, proper requirements should also be formulated for
languages and approaches that are to used as vehicles for communication during
system development. In formulating these requirements, several factors should be
taken into account, such as the development goals, the communication goals, the
concerns, personal goals, abilities, and attitudes of the actors involved, etc.
62 4 Communication of Enterprise Architectures
We set out to provide a theoretical underpinning of the issues involved, as well
as practical guidelines that will aid architects in selecting the best approach for their
architectural communicative needs. We will therefore start out with a theoretical
exploration of the issues involved in communication during system development
(Sects. 4.2 and 4.3), followed by the application of this exploration to the field of
enterprise architecture (Sect. 4.4).
4.2 System Development as a Knowledge Transformation
Process
In essence, we regard system development as a knowledge transformation process
whereby conversations are used to share and create knowledge pertaining to both
the system being developed, as well as the development process itself. The notion
of ‘conversation’ should be interpreted here in the broadest sense, ranging from a
single person producing an (architectural) description, via a one-on-one design or
elicitation session, to a workshop with several stakeholders, and even the widespread
dissemination of definitive architectures. This way of thinking provides a
frame of thought with which one can better understand the (communicative)
requirements posed on architecture description languages.
4.2.1 System Development Community
Given our focus on communication, it is important to identify the actors that can
play a role in the communication that takes place during the system development
process. These actors are likely to have some stake with regards to the system being
developed. Examples of such actors are problem owners, prospective actors in the
future system (such as the future ‘users’ of the system), domain experts, sponsors,
architects, engineers, business analysts, etc.
These actors, however, are not the only ‘objects’ playing an important role in
system development. Another important class of objects are the many different
documents, models, forms, etc., that represent bits and pieces of knowledge
pertaining to the system that is being developed. This entire group of objects, and
the different roles they can play, is what we shall refer to as a system development
community.
System development community:
a group of objects, such as actors and representations, which are involved in
the development of a system.
4.2 System Development as a Knowledge Transformation Process 63
(We will clarify below why we regard documents as being part of the
community.)
The actors in a system development community will (typically as a consequence
of their stakes) have some specific interests with regards to the system being
developed. This interest implies a subinterest with regards to (the contents of) the
system descriptions that are communicated within the community. This interest, in
line with IEEE 1471 (IEEE Computer Society 2000), is referred to as the concern of
stakeholders
Concern:
an interest of a stakeholder with regards to the architecture description of
some system, resulting from the stakeholder’s goals, and the present or future
role(s) played by the system in relation to these goals.
Some example of concerns are:
– The current situation with regards to the computerised support of a business
process.
– The requirements of a specific stakeholder with regards to the desired situation.
– The improvements, which a new system may bring, to a pre-existing situation in
relation to the costs of acquiring the system.
– The potential impact of a new system on the activities of a prospective user.
– The potential impact of a new system on the work of the system administrators
that are to maintain the new system.
4.2.2 System Development Knowledge
The system development community harbours knowledge about the system being
developed. The communication occurring within a system development community
essentially is aimed at creating, furthering, and disseminating this knowledge.
Depending on their concerns, stakeholders will be interested in different knowledge
topics pertaining to the system being developed.
We will now briefly explore the kinds of knowledge that are relevant to a system
and its development; in other words, the knowledge topics that can be distinguished.
In the next subsections, we will discuss in more detail in what ways this
knowledge can be made (more) explicit.
During system development, members of the system development community
will create and exchange knowledge pertaining to different topics. We can make a
first distinction between the target domain pertaining to the system being developed
and the project domain, about the development process itself. We have borrowed
these terms from the Information Services Procurement Library (ISPL) (Franckson
64 4 Communication of Enterprise Architectures
and Verhoef 1999). For both of these knowledge domains, further refinements c