Go home now Header Background Image
Search
Submission Procedure Login
User: anonymous
 
 
 
 
 
Volume 1 / Issue 2 / Abstract

available in:   PDF (212 kB)
 
get:  
Similar Docs BibTeX   Write a comment
  
get:  
Links into Future

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]).

Page 137

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].

Page 138

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).

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]:

  1. Case studies are collected from real-world projects. They contain accounts of important events and experience from projects.
  2. The case studies are analyzed and reorganized into a set of observations, which describe the reported events in the format of the pattern vector.
  3. To identify patterns, the entire set of case studies is searched for identical observations from different projects. These observations are marked as pattern candidates.
  4. 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.

Page 139

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.

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.

Page 140

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.

Page 141

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]):

  1. Concrete experience is gathered by seeing the consequences of an action.
  2. The particular action is reflected, it becomes predictable and reproducible.
  3. The action is put as a general principle which is adaptable to other situations.
  4. 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)):

  1. Pattern workshops correspond to sharing concrete experience.
  2. Identifying pattern candidates from observations corresponds to reflection.
  3. Writing patterns corresponds to generalization.
  4. 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.

Page 142

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.

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.

Page 143

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.

Page 144

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.

Page 145

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.

Figure 7: Result from an RE Maturity Test Using RE Patterns.

Page 146

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)

Page 147

[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)

Page 148