Using Requirements Engineering (RE) Patterns for Organizational
Learning
Lars Hagge
(Deutsches Elektronen-Synchrotron, Germany
lars.hagge@desy.de)
Kathrin Lappe
(Deutsches Elektronen-Synchrotron, Germany
kathrin.lappe@desy.de)
Abstract: The paper describes the applicability of patterns to
organizational learning and to the improvement of RE processes. It first
briefly introduces RE patterns and the online pattern repository REPARE,
then discusses the relation of RE patterns to prominent concepts of learning,
and finally describes some applications of RE patterns to organizational
learning.
Keywords: requirements engineering, learning software organization,
patterns
Categories: D.2.1, D.2.9, H.3.5
1 Introduction
Organizational learning aims at learning from experience and incorporating
the emerging knowledge and skills into the organization's business processes.
One way of achieving this goal is business process improvement approaches
which for example customize process frameworks to an organization's needs.
But such process changes require time and effort which are scarcely available
in project-oriented organizations. An alternative approach is the less
formal and more situational learning based on exchanging experience, for
which patterns are an established and well-known format (e.g. [Gamma
et al. 94], [Buschmann et al. 96], [Eriksson
and Penker 00]). Patterns are characterized by presenting engineering
knowledge in self-contained units that address a particular context. They
provide guidelines for good engineering, where engineering is the "art
of applying scientific and methodological knowledge to practical problems".
2 RE Patterns and REPARE
RE patterns aim at making requirements engineering knowledge and experience
reusable. They are derived from case studies and describe RE practices
which have been successfully used and observed in two or more projects
under comparable conditions. The patterns are written in an instructive
format that makes the pattern content easily accessible. They are accessible
via an online RE pattern repository (REPARE, [Repare 05]).
2.1 Objective
RE patterns set out to make good RE practices available for project
teams on the job. They target practitioners from small and medium organizations
without dedicated RE resources who often encounter project teams or environments
with no or only little experience in requirements engineering. RE patterns
aim at bridging the gap between existing RE knowledge and its successful
application in different kinds of projects by improving the accessibility
of RE knowledge and experience.
2.2 The Pattern Vector
RE patterns contain pairs of problems and solutions, where problem
statements are explicitly specified in terms of two conflicting
forces. The forces are directly referring to conditions or situations
as they are encountered by project managers. The solution is provided
in terms of a proposed action which has been observed to solve the
conflict by compensating the forces.
A formal structure called the "pattern vector" has been
developed for capturing the essence of an RE pattern. It contains the
RE task T which needs to be conducted, the two conflicting forces
F<— and F—>
which characterize the problem, and the action A which can solve the
problem [Hagge et al. 05],
P = (T, F<—, F—>, A).
A generic pattern statement can be created from the pattern vector using
IF F<— BUT F—> THEN
A TO T.
2.3 An Example for an RE Pattern
"Detail the Specification by Writing Test Cases" is a popular
pattern which is contrasting a number of text books. It recommends that
if a specification turns out to need improvement after it has been signed
and the project is under way, an option is to provide detailed test cases
in addition to the requirements. After generalization, the pattern statement
reads:
IF the
project should advance to meet the milestones
BUT the
project should step back and clarify the requirements
THEN detail
the specification documents by writing test cases
TO validate
and verify requirements
The generic statement helps to decide at a glance on a pattern's relevance
and applicability, but for practical purposes, patterns have to be explained
in a more elaborate format like in established pattern collections.
RE patterns are named after the proposed action. Their task is split
into an objective and a context, the forces are embedded into a problem
description, and the action is called the solution. The usability of the
solution is detailed by listing application areas and constraints for its
successful implementation, and by describing additional experience, known
uses, and related patterns. The full-text example for the above pattern
can be obtained from [Repare 05].
2.4 RE Pattern Mining
The initial collection of RE patterns has been collected by a working
group with participants from industry, research and academia [Lappe
et al. 04]. Patterns have been derived from two or more similar observations
which have been reported in different projects (Figure
1).
/Issue_1_2/using_requirements_engineering_re/images/fig1.gif)
Figure 1: Capturing Patterns from Observations in Case Studies.
The procedure which has been applied for pattern mining includes four
basic steps [Lappe et al. 04]:
- Case studies are collected from real-world projects. They contain
accounts of important events and experience from projects.
- The case studies are analyzed and reorganized into a set of observations,
which describe the reported events in the format of the pattern vector.
- To identify patterns, the entire set of case studies is searched for
identical observations from different projects. These observations are
marked as pattern candidates.
- The pattern candidates are elaborated into pattern descriptions,
which are then published and made available for reuse in project organizations.
The working group on RE patterns has developed a routine program for
one-day pattern workshops according this procedure. The group has held
about ten of these workshops, identifying more than 80 observations and
more than 20 RE pattern candidates. Experience from pattern mining with
the working group and an overview of the documented patterns and their
relations can be found in [Lappe et al. 04].
2.5 The RE Pattern Repository REPARE
The pattern repository REPARE [Repare 05] collects
the resulting RE patterns. It uses the pattern vector to store the patterns
and the observations which were reported in the case studies. The repository
uses the vector elements and additional attributes for filtering observations
or patterns. Thus, it allows for searching patterns which are applicable
to a specific project situation by letting the user specify characteristics
like e.g. the forces, the RE activity they are conducting or the quality
goal they intend to reach.
The search form for finding patterns (Figure 2)
is built as a search clause with gaps for building queries which allow
users to fill in the blanks. REPARE returns a list of patterns that provide
RE experience with regard to the given criteria in combination with optional
additional free search terms. By choosing more or less descriptors and
modifying the threshold, it is possible to gradually change the precision
of the request.
/Issue_1_2/using_requirements_engineering_re/images/fig2.gif)
Figure 2: REPARE search clause.
For each pattern, a short structured overview is available which links
to the pattern's full text for download. In addition to the search functionality,
REPARE provides hyperlinks for navigation to related patterns and to the
case studies on which the pattern is based. Discussion forums invite users
to provide feedback on individual patterns or the repository itself [Hagge
et al. 05].
3 RE Patterns and Learning
Many definitions describe learning as a process, for example the process
of gaining knowledge, understanding or skills by study, instruction or
experience [Merriam-Webster 05], or a process whereby
knowledge is created through the transformation of experience [Kolb
84]. Learning yields knowledge and skills which are necessary e.g.
for process improvement and is in this sense the basis for any change.
Learning can be performed by individuals as well as by organizations.
While individual learning is frequently conducted within the framework
of organized activities such as for example seminars and classroom teaching,
coaching or e-learning, organizational learning often involves less formal
approaches like e.g. experiential learning. This section examines how RE
patterns relate to some prominent concepts of learning.
3.1 RE Patterns and Learning Organizations
Organizational learning is the process by which an organization acquires
the knowledge and skills it needs to survive in its environment. A learning
organization is an organization which facilitates organizational learning,
i.e. which has a culture and methods in place which possess the capability
of acquiring the required knowledge. Learning organizations can be identified
by characteristics which are referred to as the five disciplines [Senge
90]:
- Personal mastery is the ability to openly see reality as it
exists.
- Mental models describe the ability to compare reality (or personal
visions) with perceptions and to converge them into a coherent understanding.
- Shared vision is the ability of a group to develop and hold
a shared picture of a mutually desirable future.
- Team learning refers to the ability of groups to engage in dialogue
rather than discussion.
- Systems thinking is the ability to see interrelationships, think
in context and understand the consequences of actions on other parts of
the system. It builds on the possession of the previous for characteristics.
Learning organizations rely on both individual and organizational learning:
The first two characteristics are individual, while the other three are
group based. Software organizations can use RE patterns (i.e. access the
repository, but also hold their own internal pattern workshops) as an instrument
on their way to becoming a learning organization, as RE patterns
- require individuals to report and discuss their positive and negative
RE experience in a team (as a step to personal mastery)
- provide an abstract model for both guiding and reflecting RE activities
(as a basis for building mental models)
- require an analysis team to build a consensus on the commonalities
of different observations (as an effort of team learning)
- can be related and standardized in their names as a step towards a
common RE (pattern) language (as a basis for a shared vision)
3.2 RE Patterns and Experiential Learning
Experiential learning includes both learning by and from experience.
It focuses on learning by directly encountering phenomena, as learners
are led into situations where they can practice their skills and gain experience,
but it also includes abstracting and reflecting experiences, this way allowing
organizations to learn from each other.
/Issue_1_2/using_requirements_engineering_re/images/fig3.gif)
Figure 3: Experiential learning (left) and working with RE
patterns (right)
A frequent model, the experiential learning circle (Figure 3 (a)), consists of four major stages
(according to [Kolb 84]):
- Concrete experience is gathered by seeing the consequences of an action.
- The particular action is reflected, it becomes predictable and reproducible.
- The action is put as a general principle which is adaptable to other
situations.
- The action is applied under new circumstances, generating new experience.
Experiential learning mostly starts with gathering concrete experience,
but in principle it could start at any of the four stages. If learning
takes place, the circle should rather be presented as a spiral. The RE
Pattern mining procedure which has been described in section
2.4 corresponds to experiential learning if pattern application is
included (Figure 3 (b)):
- Pattern workshops correspond to sharing concrete experience.
- Identifying pattern candidates from observations corresponds to reflection.
- Writing patterns corresponds to generalization.
- Using patterns corresponds to testing concepts in new situations.
The similarity of the approaches has been experienced by the working
group on RE Patterns, whose members confirmed the learning value of RE
pattern mining [Lappe et al. 04]. As a consequence,
some workshop participants have proposed to hold RE pattern workshops within
their software organizations.
3.3 RE Patterns and Experience Factories
The idea of experimental learning is also driving the experience factory
scheme (cf. Figure 4) described by [Basili
et al. 02], which again also matches RE pattern mining. Experience
from project organizations is collected after a project has ended. It is
analyzed and packaged by an independent organization which collects experience
from different projects. Generalized experience packages are fed back to
the planning lifecycle of other projects. The working group on RE patterns
has established the experience factory at the community level, but the
concept might also be applied at smaller organizational scales.
/Issue_1_2/using_requirements_engineering_re/images/fig4.gif)
Figure 4: Experience Factory [Basili et
al. 02].
The pattern concept provides a formalized structure for documenting
and analyzing experience in a comparable way. The pattern repository acts
as experience base by storing formalized observations from real-life projects
as well as generalized patterns which have been synthesized from comparable
observations.
The resulting patterns have thus passed through two steps of analysis:
First, every observation (i.e. experience package) is formalized and generalized
into the pattern vector format. Then, if two or more comparable observations
yield a pattern candidate, they are further elaborated and synthesized
into an RE pattern.
3.4 RE Patterns and Single- and Double-Loop Learning
The previously discussed concepts underline that learning improves the
way people are behaving in and reacting to specific situations. The concept
of single- and double-loop learning (Figure 5) offers
an approach to understanding how such behavioural changes can be achieved.
It is built on the assumption that people are guided by mental maps or
theories of action.
/Issue_1_2/using_requirements_engineering_re/images/fig5.gif)
Figure 5: Single and Double-Loop Learning [Argyris
and Schön 78].
A mental map can be assumed to contain three basic building blocks:
- The governing variables are the dimensions and define the space
in which people can act.
- The action strategies comprise the set of possible moves and
actions people could take.
- The consequences are the obtained results of their actions.
If the consequences are not compatible with the initial expectations,
the behaviour has to be modified ? this modification is understood as learning.
Learning can either modify the action strategies, i.e. propose a different
set of actions to achieve the expected results, or it can question and
change the governing variables, i.e. change the boundary conditions for
the behaviour. The first is called single-loop learning, the latter double-loop
learning.
RE pattern write-ups exhibit all the three elements of a theory of action:
- The forces (often supplemented with additional quality goals) describe
the governing variables, i.e. the dimensions which need to be observed.
- The action proposes an action strategy for a specific set of variables,
while related patterns propose additional and alternative actions.
- The observed consequences (not part of the pattern vector, but listed
in the full pattern write-up) describe the results which have been obtained
so far.
The RE Pattern Repository, REPARE, makes patterns accessible through
any of these elements and may therefore be used for both single- and double-loop
learning:
- In single-loop learning, REPARE can be queried for a given situation,
i.e. a pair of forces which reflects the set governing variables, and be
checked whether an appropriate proposed action is available for the intended
result. This way, it can propose novel strategies for achieving an intended
result.
- In double-loop learning, REPARE can be queried for an intended result,
i.e. a task and a quality goal. The proposed solutions can be analyzed
for the forces they are addressing and the additional boundary conditions
they are implying, thus giving rise to a review and possible adaptation
of the organization's governing variables.
3.5 RE Patterns and Knowledge Management
The ultimate outcome of learning is knowledge. Knowledge is driving
an organization's business processes, and learning has to ensure a continuous
evolution and generation of new knowledge as an enabler for business process
optimization. Knowledge Management is describing the knowledge lifecycle,
which includes knowledge engineering activities such as knowledge gathering,
distribution and preservation, and building an organizational knowledge
base for application. Figure 6 illustrates the relation
of knowledge management and business process management within a learning
organization.
/Issue_1_2/using_requirements_engineering_re/images/fig6.gif)
Figure 6: Relation of Knowledge Management and Business Process
Management.
RE patterns are a suitable tool for supporting knowledge management,
using the pattern repository as the knowledge base and the pattern mining
procedure as knowledge engineering activities. The applicability can be
illustrated using e.g. the model of [Probst et al. 99]:
The so-called building blocks of knowledge management are arranged in an
inner cycle which focuses on knowledge gathering and application, and an
outer cycle which extends these activities by defining and monitoring goals.
RE patterns and the pattern mining procedure (cf. Figure
3(b)) map to these building blocks:
- Knowledge Identification happens when case studies are collected
and analyzed e.g. for the nature and frequency of the topics which are
reported in observations.
- Knowledge Acquisition is performed by organizing dedicated workshops
for frequent observations in order to gather additional and more detailed
case studies from the participants.
- Knowledge Development is conducted by analyzing the experience
reports and transforming them into the pattern vector format, and by discussing
the emerging pattern candidates.
- Knowledge Distribution is handled through the web based pattern
repository and its search and navigation capabilities.
- Knowledge Preservation is also ensured by the pattern repository,
which stores all the individual experience reports as case studies and
relates them to the patterns which have emerged from this experience.
- Knowledge Use is facilitated by the pattern format which offers
knowledge in the form of solutions to the specific problem of the requestor.
In this sense, RE patterns form a convenient knowledge product, where
the pattern mining procedure in conjunction with the pattern repository
are able to support the full knowledge management lifecycle.
4 More Examples for Learning with RE Patterns
In organizational learning, many applications are possible for RE patterns
which are available in a structured repository. They range from provision
of material for various types of instructed and self-based learning [Hagge
et al. 06], over support of specific learning concepts as discussed
in the previous section, up to an RE maturity assessment and an evaluation
of the organization's RE learning needs. The later two are introduced by
examples in this section.
4.1 Pattern-Based RE Maturity Assessment
A collection of existing patterns can be used as a basis for benchmarking
the relevance of certain RE topics and conflicts in an organization. The
occurrence or lack of "known conflicts" (i.e. conflicts which
are recorded in the available RE pattern database) is used to identify
potential fields for improvement of RE activities. Organizational learning
should address strategies for both avoiding and possible remedies of these
issues.
To use RE Patterns as a foundation for assessing an organization's RE
process maturity, it first has to be determined which "known conflicts"
are present in the project and whether they are controlled. Then, it can
be examined whether the conflicts are intentionally controlled (i.e. handled
in the same way as proposed by the RE patterns). The ratio of controlled
over present conflicts serves as an indicator of the RE process quality,
while the ratio of conflicts which are intentionally controlled indicates
the process reproducibility.
/Issue_1_2/using_requirements_engineering_re/images/fig7.jpg)
Figure 7: Result from an RE Maturity Test Using RE Patterns.
In the next step, the different conflicts can be associated with the
different RE activities, thus allowing computing maturity levels for these
activities. Figure 7 shows an example of such a RE
maturity assessment which has been computed by REPARE.
4.2 What to Learn: RE Patterns as Indicator for Learning Needs
Taking the previous approach further, RE patterns can also be used for
identifying the issues which need to be addressed in organizational learning.
For this purpose, simply a given set of set of case studies has to be analyzed
to determine which forces and which conflicts are reported most frequently.
According to the current content of REPARE, RE is mainly suffering from
three conflicts:
- The specification is not yet adequate and would need more time to complete,
but meeting the milestones requires starting development nevertheless:
faster and more efficient methods for building specifications are needed.
- Changes are occurring in the project up to the very last minute, although
the specification should have been frozen for implementation and testing
long before: methods for handling changes without risking the project are
needed.
- Products need to employ the latest technology, even if neither customers
nor developers are yet capable of handling it properly: methods are needed
for keeping all the stakeholders technologically up to date.
REPARE is offering possible solutions for all these conflicts.
5 Conclusion
RE Patterns offer an effective basis for organizational learning with
applications ranging from short and specific learning units up to strategic
concerns. They can be used for process optimization within a single organization
as well as for collecting and exchanging know-how across several organizations.
An online RE pattern repository is freely available on the Internet. The
initial experience confirms the flexibility and value of RE patterns for
organizational learning.
References
[Argyris and Schön 78] Argyris, C., Schön,
D.: "Organizational Learning: A Theory of Action and Perspective";
Addison Wesley, Reading, Mass. (1978).
[Basili et al. 02] Basili, V., Caldiera, G., Rombach,
D.: "Experience Factory"; Marciniack, J.J. (ed.) Encyclopedia
on Software Engineering, Wiley, New York (2002), 511-519.
[Buschmann et al. 96] Buschmann, F. et al.: "Pattern-Oriented
Software Architecture, Vol. 1: A System of Patterns"; Wiley &
Sons, New York (1996)
[Eriksson and Penker 00] Eriksson, H.-E., Penker,
M.: "Business Modeling with UML — Business Patterns at Work";
Wiley & Sons, New York (2000)
[Gamma et al. 94] Gamma, E. et al.: "Design
Patterns"; Addison-Wesley, Reading, MA (1994)
[Hagge et al. 05] Hagge, L., Lappe, K, Schmidt,
T.: "REPARE: The Requirements Engineering Pattern Repository";
Proc. RE05, Paris, 2005
[Hagge and Lappe 05] Hagge, L., Lappe, K.: "Sharing
Requirements Engineering Experience Using Patterns"; IEEE Software
22, 1 (2005), 24-31.
[Hagge et al. 06] Hagge, L. et al: "Using Patterns
for Sharing RE Process Rationales"; Dutoit, A. H. (eds.) Rationale
Management in Software Engineering, Springer, Berlin (2006).
[Kolb 84] Kolb, D. A.: "Experiential Learning:
Experience as the Source of Learning and Development"; Prentice Hall,
Englewood Cliffs (1984)
[Lappe et al. 04] Lappe, K. and the Working Group
on Requirements Engineering Patterns (WGREP): "Requirements Engineering
Patterns ? An Approach to Capturing and Exchanging Requirements Engineering
Experience"; DESY 04-233, Hamburg, Germany (2004)
[Merriam-Webster 05] Merriam-Webster: "Merriam-Webster
Online Dictionary"; 2005; http://www.m-w.com/
[Probst et al. 99] Probst, G., Raub, S., Romhardt,
K.: "Managing Knowledge - Building Blocks of Success"; Wiley
& Sons, London (1999)
[REP '04] International Workshop on Requirements
Engineering Patterns; September 6, 2004; Kyoto, Japan; http://rep04.desy.de/
[Repare 05] Hagge, L. and Lappe, K.: "REPARE
The Requirements Engineering Pattern Repository"; 2005; http://repare.desy.de/
[Senge 90] Senge, P.: "The Fifth Discipline.
The Art and Practice of the Learning Organization"; Random House,
London (1990)
|