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?
Teamscale defines »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 Sketch_no color

Model Your Architecture

Lay out components

Teamscales' lightweight 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 Analysis

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 Sketch_warning

Put it to Use

Model your architecture

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.

Evolve your architecture

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

Architecture Change Log

Tend to Your Architecture

Keep everyone on the same page

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

Prevent 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_presentation of changes
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
Dr. Tobias Röhm • Dr. Sven Amann • Tobias Wiese • 2024
Dr. Elmar Jürgens • Jakob Rott • 2024
Fabian Streitel • Nadezhda Tonchev • 2024
Dr. Florian Deißenböck • Dr. Nils Göde • 2024
Mattis Kämmerer • Dr. Sven Amann • 2024
Dr. Elmar Jürgens • 2024
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