Architecture Practice Library (APL)


Introduction

Although the maturity of the discipline of (software) architecture has increased, there is a significant knowledge gap in the industry related to architectural practices and methods, and how to integrate them with other software engineering practices and methods. Descriptions of architectural concepts, techniques, practices, and methods are scattered across technical reports, articles, books, and other publications. Unfortunately, there is no common and organized body of knowledge for the discipline of (software) architecture. Thus, there is a lack of transparency and reusability that thwarts the adoption of architectural practices and methods in the industry.

Vision

The Architecture Practice Library (APL) aims at establishing an open, common, and organized body of knowledge related to architectural practices. The APL leverages the OMG Essence standard to provide supplementary descriptions of existing architectural practices which are based on the Essence language and kernel. The APL supports the standardized description, adoption, integration, and enhancement of architectural practices. The Essence-based practice descriptions are not supposed to replace the books, articles, reports, etc. in which the existing architectural practices are typically documented. They are establishing an additional and effective access layer to existing practices which makes their adoption and integration easier (see figure 1). Therefore, they speed up the transfer of existing concepts, practices, and methods from research to practice.

Figure 1: Essence-based Practices as an Additional Access Layer


Value Proposition

The value proposition of the APL is considered from the perspectives of two different roles. The owner of a practice or method can leverage the APL to share her/his work within the community of architects and industry. Thus, existing architectural practices can be brought to light in addition to existing publications like books, articles, technical notes, etc. Furthermore, the practices can be positioned and put into the context of the overall library of architectural practices.

The user of a practice benefits from an encompassing view on existing architectural practices — if the APL has grown to a certain extent. The APL supports the identification and selection of architectural practices by implementing different classification schemas and providing user friendly search and filter functions. A practice user can select the right practice and view on the practices for the job at hand.

Guiding Principles

The development of the APL is guided by several principles to ensure it is progressing towards the vision that was described before.

Close Collaboration with the Owners of Architectural Practices

The APL is developed in close collaboration with the owners of architectural practices. This means that an owner of an existing practice should be involved in the development of the Essence-based version of her/his practice. Ideally, the practice owner independently develops and maintains the Essence-based version of a practice. However, there is also the option to join forces with a so-called practice author who takes care and/or supports the development of the Essence-based description.

Respect the Intellectual Property of Practice Owners

The intellectual property of practice owners is respected and considered when Essence-based practices descriptions are developed and released. During the development phase of an Essence-based description there are several options to manifest intellectual property rights. The Essence language includes a so-called resource element that can be used to attach further information to the description of a practice. This element can be used to document any intellectual property rights that are associated with a practice. Furthermore, the Essence cards can be equipped with logos that represent graphically the ownership of a practice.

Inspire and Support Collaboration and Knowledge Sharing

The community of architects, researchers and practitioners are involved in the development of the APL. There are two major prerequisites for the involvement that are in the realm of the practice owner. First, the Essence-based practice descriptions are made publicly available, e.g., based on a Creative Commons license. Second, feedback from the community of architects, researchers, and practitioners is considered in the further development of a practice. The consideration of feedback can be supported by an open change request process related to a practice. This community-based approach addresses the knowledge gap related to architectural concepts, practices, and methods and eventually speeds up the transfer from research to practice.

Development Approach

The development approach of the APL is centered around the OMG Essence standard and leverages its key features. The Essence language and kernel are designed to support practitioners as well as practice and method engineers. Essence is not another framework or method within the domain of software engineering. It defines a common vocabulary and model to describe software engineering practices and methods. Thereby, it focuses on the description of modular practices which can be adopted, composed, and extended in a flexible way.

The OMG Essence standard is only a specification. Tooling is required to develop, manage, and publish Essence-based descriptions of practices. Ivar Jacobson International (IJI) is leading the development of tools for Essence which can be leveraged across the complete life cycle of a software development endeavor. I’m working closely together with the IJI product team which further develops a portfolio of tools supporting the Essence standard.

Organization & Way of Working

The development of the APL is an open and community-based project. Thus, everyone is free to join. From my perspective, it is a side project in which I have two roles. As I initiated the project out of the need to close the knowledge gap related to architectural practices and methods, I am pushing the endeavor forward. Particularly, I am coordinating the activities and related community. In addition, I have the role of a practice owner because I will provide some of my architectural practices to the APL too.

Deliverables

Please find below a list of deliverables that are available now.

Get More Details

I would love to share more details on request. You can use the following channels to contact me.


hello@stefanmalich.com


Stefan Malich