Architecture
Conformance
Analysis
Making your intended architecture explicit, with Teamscale’s lightweight architecture editor, enables strategic discussions about architecture decisions and automated detection of architecture violations in your code.

Accomplish your architecture

Maintain an up-to-date architecture and conformity

Evolve
Your architecture
Ensure
Conformity

Software Architecture

What is an architecture?
We define architecture as the structural or hierarchical layout of your code components and their interdependencies.
Why is architecture important?

An adequate architecture significantly reduces efforts for changing and extending your system. Moreover, it enables reuse and scalability, helps avoid unexpected side-effects and simplifies tests. To name just a few benefits.

Why model your architecture?

Making your intended architecture explicit is fundamental for reasoning about and discussing the evolution of your system. It also enables you to ensure the actual architecture implemented in your code complies to your intended architecture.

Architecture Analysis

Model Your Architecture

Lay out components

Teamscales architecture editor enables you to quickly lay out and name the components of your intended architecture, next to each another or in a hierarchy.

Add dependency policies

Add dependency policies between your components, to specify whether respective dependencies are allowed, tolerated or denied. All other dependencies are implicitly denied.

Map your code

Simply drag your actual code files or folders to architecture components, to quickly create a mapping – or use the full power of regular expressions to precisely specify what maps where.

Architecture Sketch

Ensure Conformity

Match the actual architecture

As soon as you map your code to your intended architecture, Teamscale starts matching the actual dependencies to your dependency policies – and uncovers any violations.

Clean up violations

Enable conformance analysis, to generate analysis findings for any violation and ensure to clean them up just like any other incremental-analysis finding in Teamscale.

Architecture Violations

Put it to Use

Get started

Model the intended architecture you have in mind or simply start with the actual architecture of your system. Either way, making the architecture explicit is a good starting point for discussions and decisions about where you are and where you want to go.

Move along

Edit your architecture to reflect your decisions. Teamscale tracks architecture changes alongside your code changes, so both always stay in sync.

Architecture Change Log

Tend to Your Architecture

Stay on the same page

Having an explicit architecture specification that you know is actually in sync with your code, brings you all to the same page and, thereby, enables reasoning and discussion about the evolution of your system.

Avoid architecture erosion

Teamscale automatically checks your code against your intended architecture and reports any violations, e.g., by somebody new on the team, who’s still getting up to speed.

Architecture Sketch
Support

FAQs

Everything you need to know about Architecture Analysis. Can’t find the answer you’re looking for? Please chat to our friendly team.

What is software architecture?

We define architecture as the structural or hierarchical layout of your code components and their interdependencies.

Why should I make my architecture explicit?

An adequate architecture significantly reduces efforts for changing and extending your system. Moreover, it enables reuse and scalability, helps avoid unexpected side-effects and simplifies tests. To name just a few benefits. And, ultimately, it is fundamental for reasoning about and discussing the evolution of your system.

How does Teamscale check architecture conformance?

You model the components and dependency policies of your intended architecture as a lightweight boxes-and-arrows diagram and map your code to this model. Teamscale then checks whether the actual dependencies comply with your model.

Does Teamscale assess how “good” my architecture is?

No. How well an architecture fits a given software system depends on many factors, most of which cannot be automatically assessed by a tool. Teamscale focuses on ensuring that your code conforms to your intended architecture.

Experience Exchange

Would you like to exchange experiences on code architecture?

I have used Architecture modeling and Conformance Analysis for 10+ years, in our software audits, as well as working with customers who apply it in their daily work.

If you would like to learn more about architecture conformance analysis, I’m happy to chat.

csm_nils-goede_ced94e421f
Start using Architecture Conformance Analysis

Strategically evolve you system

Up to date

Latest writings

The latest news, events and insights from our team.

  • Events
  • Publications
  • Cases
  • Blog
Thomas Pettinger • Stefan Brand • 2023
Dr. Elmar Jürgens • Fabian Streitel • 2023
Dr. Tobias Röhm • Tobias Wiese • 2023
Fabian Streitel • Thomas Pettinger • Johannes Veihelmann • 2023
Dr. Elmar Jürgens • 2023
Dr. Florian Deißenböck • Dr. Nils Göde • 2023
Trusted by the best teams
logo_lv1871_transparent
logo_baybg
BMW_logo_(gray).svg
logo_siemens_cropped
logo_fujitsu
logo_dmTECH
logo_swm
logo_p7s1
logo_datev
logo_seidenader
logo_vkb