Using Views Effectively
Summer day in Amsterdam

Using Views Effectively

There are several tools that exist for architects to create/design, communicate and assess their architectures more effectively. The vast majority of the BTABoK is actually focused on what we call the Red Thread of Architecture... which has much more to do with business, technology, strategy, value, and stakeholders than with detailed views of a system itself.

The following few articles and canvases I will be authoring seek to rectify this situation. After thorough utilization and feedback from architects and architecture practices, the goal is to integrate these fully into the BTABoK in version 4.0.

Views Article: https://iasa-global.github.io/btabok/views.html

My good friend and co-author in the BTABoK is doing wonderful things in this topic as well on his blog: https://architecturality.blog/

Views and Concepts and Canvases, Oh My

There is some confusion about the adoption of these techniques in architecture practices. We have made it as simple as possible, but not simpler, which isn't saying very much. :-) So, let's start with a few definitions of what we mean.

Views and Viewpoints are on official standards managed by the IEEE and ISO. A viewpoint is a part of an architectural description that focuses on a particular concern. For example, a security viewpoint is a kind of template of thinking about a system from a security perspective (what the standard calls a stakeholder concern). It may contain many 'model types' such as a UML sequence diagram or a C4 context diagram, as well as text and other descriptions of the viewpoint. A view is an 'instantiation of a viewpoint', which is basically a filled-out version of the viewpoint for a particular system. A good example would be the security view of the retail commerce system at a large company. So a viewpoint is a generic template and a view is a specific instance of the template for a particular system.

Whew... told you it was going to get deep. But this level of formality is absolutely necessary in Tier 1 Safety systems such as aircraft, vehicles, and other safety-critical systems.

Concepts in the BTABoK are critical ideas and techniques which architects use in their practice. So Views and Viewpoints are Concepts. Decision Records, Requirements, Value Management, Patterns and Lifecycle are also concepts. These are the articles that make up the engagement model of the BTABoK. You may contrast these with competencies in the competency model we use to measure architect's skills and seniority. There is a great deal of overlap in those lists, but just remember, concepts are how we measure an architecture practice and competencies are how we measure an architect.

Canvases (and Cards) are tools in the BTABoK for making architecture quicker, easier to document or communicate. Canvases and cards represent thinking, communication and sometimes documentation tools, but they seldom represent either a complete concept or viewpoint which tend to be much bigger. The Structured Canvas Approach(TM) is the connections between these canvases which make them even more powerful. However, the SCA does have its limits so be careful that efficiency does not replace efficacy.

Building Better Views

This will be one of many articles on views and viewpoint development. Think of it as an introduction to the kind of tools we are adding for organizations and individuals to use to be more effective.

There are a large number of potential viewpoints an architect can use to think and to communicate architecture and decisions. While the decision record is an excellent tool for making, communicating and storing actual decisions, the views are an exploration of the design space.

Architecture Design Space

Design is a tricky and complicated concept. It involves breadth, depth, and balance. The design space in the BTABoK describes the combination of objectives, requirements, options and decisions. But exploring this in a natural way is about thinking of the architecture from different perspectives... what the ISO standard calls concerns. For example, I might think of my architecture from a security perspective or from a functional (both features and API) space. Or I might look at it from a data perspective. Most architects naturally use these design perspectives - views - without thinking about it. However, it is possible to document commonly used design and exploration tools into viewpoints. So a security viewpoint would include a model (or set of models) and associated descriptions which would illuminate the critical elements of the security design. The same can be done with numerous 'types' of views. These we call viewpoints. Lets look at a few examples.

The Context View or Logical Component View

What is commonly called the context view is effectively a logical software/hardware component view. This includes physical locations, a set of contained relationships (a node.js system runs IN a container runs IN kubernetes which runs ON a cloud provider), components and component types at the level of granularity necessary for understanding how the components connect. The viewpoint contains 3-4 primary elements.

  • the context diagram and the context description
  • the key elements
  • associated decision records
  • applicable patterns (optional)

The primary context diagram:


The context diagram above (which is quite old) shows location, connection, connection types, protocol, and payload. The legend clearly indicates the meaning of the shapes used.

Example Sub-Section: React Front-End

Example Sub-Section: React Front-End

Overview

A React component designed to capture, communicate, and visualize critical architectural decisions for complex web applications. The component provides a structured, interactive interface for documenting the rationale, context, and implications of key architectural choices.

Decision Overview: Microservices Architecture

Adopt a microservices-based architectural approach for front-end integration.

Key Motivations:

  • Enable independent service deployment
  • Support team autonomy and parallel development
  • Improve system scalability and resilience
  • Facilitate technology stack flexibility

Applicable or Connected Patterns

(This is a section to explore patterns applied to the component)

  • Micro-Frontend
  • Backend for Frontend (BFF)
  • Event-Driven Architecture
  • GraphQL for flexible data querying
  • Optimistic UI Updates
  • Circuit Breaker for resilient communication

Other Example Context Diagrams:


The Performance View


The performance model explores the connections highlighted in the context view from a performance perspective. The diagram is not meant to be accurate just informative. The idea behind the performance view is to explore the performance related decisions across one or more complex pathways and design areas where performance can be optimized.

Enter the Canvases

We are building a landing page in the BTABoK for each viewpoint. We are open to any viewpoint from anyone. However, the submissions must be robust enough to be accepted into the library.


In addition to the viewpoint library, we are building a set of canvases for specific, prevalent viewpoints. The goal is to create one-page views that help us understand the most critical aspects of the viewpoint topic area. These will be accessible on each of the viewpoint pages.

Expect future installments to include:

  • Infrastructure Viewpoint
  • Security Viewpoint
  • Data Structure Viewpoint
  • Integration Viewpoint
  • Resiliency Viewpoint (Reliability, Scalability, Availability, Performance)

Do you have a viewpoint you find extremely useful? Contact the BTABoK committer team by submitting the viewpoint as an upgrade in the issues section of the github library or doing a public pull request.

Vidyasagar Uddagiri

Enhancing Business Value and Stakeholder Experience via Enterprise Architecture

4 天前

Very insightful article. Thanks for sharing your wisdom

回复
Jesper Lowgren

Chief Enterprise Architect | AI Agents & Agentic AI Operating Models | Thought Leader | Author & Speaker | Founder of Enterprise Architecture 4.0

6 天前

Love your post Paul Preiss. Views and Viewpoints are powerful tools that enables architecture development and architecture re-use. Using them effectively is a critical architecture capability, whether you are an enterprise, solution, data or technology architect.

Vincent Maas

(Enterprise) Architect (WIP)

6 天前

I like to use viewpoints and views to get a predefined (minimal) set of data about the architecture of a system added to the repository. This minimal set adresses most of the default concerns of stakeholders. From there on if the standard views do not 'speak' to the audiance, a new visualisation can be created. If necessecary, data (elements, relationschips) can still be added to the repository.

Brice Ominski

Global Chief Technology Officer @DeepDive World

1 周

Thanks for sharing, Paul. While the artefacts that are part of the BTABoK provide great standalone value, I really appreciate how they connect and interact. As an architect, it's easy to come up with an enlightened approach by running through these different viewpoints simultaneously, leveraging the connections for greater understanding.

Marcel Weigel

Leading in architecture thinking & digital strategy | Outcomes & Impact | Enterprise Architecture@ISS

1 周

What are your favorite views? Paul Preiss

回复

要查看或添加评论,请登录

Paul Preiss的更多文章

  • Healthy Technical Debt Part 1

    Healthy Technical Debt Part 1

    Many of you who read my blog will raise your hand when I ask who owns a home. But when I ask who really owns a home…

    17 条评论
  • DDS - Bounded Context Canvas and Capabilities

    DDS - Bounded Context Canvas and Capabilities

    The Bounded Context Canvas fits into strategy and execution by helping to develop a shared understanding of a system…

    6 条评论
  • Domain-Driven Services - Just the Right Size

    Domain-Driven Services - Just the Right Size

    Microservices were too small, SOA was too big. DDS is juuuuust right.

    16 条评论
  • Time to Take a Breath

    Time to Take a Breath

    The outcomes of the Paris discussions on AI were less than exhilarating at least politically. The general trend of AI…

    3 条评论
  • Deep Learning

    Deep Learning

    As the age of technology continues to explode, it is essential that we do not gloss over the amount of learning and…

    4 条评论
  • We All Love Our Toys

    We All Love Our Toys

    When I was a boy I loved legos, as so many architects and engineers did. It was a deeply calming and deeply engaging…

    21 条评论
  • Navigating Hope and Fear in a Socio-Technical Future

    Navigating Hope and Fear in a Socio-Technical Future

    I was just finishing doing a talk on Living with Legacy, which covers a great number of concepts related to…

    22 条评论
  • You Can't Wish Away Technology Complexity

    You Can't Wish Away Technology Complexity

    I attend a great number of architectural discussions at all levels of scope. And it is a constant reminder how much…

    32 条评论
  • The Case For A Managed Career for Architects

    The Case For A Managed Career for Architects

    The question of career path is deeply important to architects. It determines many of the qualities which allow them to…

    26 条评论
  • Architect's Competing Narratives

    Architect's Competing Narratives

    I want to open us up to a conversation about narratives in architecture. These are deeply important to us as architects…

    10 条评论

其他会员也浏览了