Gain as-is visibility into your software architecture

Access a real-time software architecture diagram and visualize, optimize, and innovate your software systems.

Get a clear, as-is visualization of your software architecture.

Yellow dots representing SIG branding

How it works

Access a real-time software architecture diagram

See every aspect of your software architecture—components, AI systems, subsystems, and dependencies, including undesirable ones—in one detailed software architecture diagram. Understand the real-time structure and interconnections within your systems for more informed decision-making.

Assess your software architecture’s adaptability

Sigrid evaluates how well your software architecture adapts to new requirements or technologies. This helps you manage change effectively and avoid legacy system issues—crucial for the long-term success of your business. 

This is a mockup of group of four people in an office discussing a software architecture & code quality on a large digital screen displaying colorful graphs and charts.
This is aa mockup of Two people collaborating at a desk with a laptop displaying of architecture & code quality.

Gain actionable insights for software architecture improvement

Sigrid breaks down your software architecture into components and subcomponents, helping you pinpoint the specific areas that require immediate attention. This allows you to improve your software architecture incrementally within your regular development cycles. 

Customize and configure based on your needs

Sigrid offers extensive customization options through its configuration files, enabling you to define custom components, exclude files, or adjust dependency settings as needed. It also supports multi-repo systems, providing a unified architectural view across multiple projects or teams.

A woman viewing a computer screen displaying a software analysis dashboard in a modern office setting.
  • With the help of the Sigrid platform, we could implement the new architecture, ensure it was SaaS-ready, and further future-proof the system."

    Adrie Boonstoppel,

    Software Development Manager at Centric

Start exploring your software architecture in real-time today

Frequently asked questions

What is software architecture?

Software architecture refers to the fundamental structure and organization of a software system architecture. According to SIG's definition, it's "the structural design of a software system and refers to the way a given codebase is divided and grouped together based on responsibilities of the system, and the underlying dependencies between these responsibilities."

Key aspects include:

  • Components and dependencies (logical view)
  • Business functions (Domain Driven Design aspects)
  • Documentation of software architecture design decisions
What problems does using a software architecture pattern solve?

Software architecture patterns help solve common design problems and provide proven structures for organizing software systems.

Some key benefits include:

  • Improved maintainability by reducing coupling between components
  • Better scalability through modular design
  • Easier evolution and extension of the system over time
  • Standardized approaches that are familiar to developers
Is MVC a design pattern or a software architecture pattern?

The software architecture design is set up according to the MVC model. The MVC model provides support for a modular and separate structure of the application architecture. It's worth noting that MVC is often used as a high-level organizing principle for entire applications or large components, which aligns more with the concept of a software architecture pattern. Design patterns, on the other hand, typically deal with smaller-scale problems within the code.

The line between software architecture and design patterns can sometimes be blurry. MVC influences both the overall structure of an application and how individual components interact, so you might see it referred to as both in different contexts. In practice, MVC is often implemented alongside other patterns.

It's also important to note that there are variations on MVC, like MVP (Model-View-Presenter) and MVVM (Model-View-View-Model), which are also considered software architecture patterns. These variations aim to address some of the limitations or specific use cases that developers encountered with traditional MVC.

How does Sigrid measure quality attributes in software architecture?

SIG uses a model that maps quality attributes in software architecture to 10 system properties across 6 main categories:

  • Structure: Code breakdown, Component cohesion, Component coupling
  • Communication: Communication centralization
  • Data access: Data coupling
  • Technology usage: Technology prevalence
  • Evolution: Component freshness, Bounded evolution
  • Knowledge: Knowledge distribution

These properties are measured through static code analysis and repository history analysis.


Is it possible to use more than one software architecture pattern in a single software system? If so, how would this work?

It's common to combine multiple software architecture patterns in large systems. For example, you might use a microservices architecture overall, with individual services implementing MVC internally. The key is ensuring the patterns complement each other and align with your software system architecture goals.

How do I enable software architecture quality for my project?

Software architecture design quality is available by default. Once you’ve published your system, you will automatically see an “Architecture” tab appear when you view your system in Sigrid.

You can use the scope documentation to customize the software architecture quality analysis for this system, if necessary.

What information does SIG use for the change history analysis?

Sigrid uses your anonymized repository history to calculate metrics on which code has been changed, and when those changes were made. These statistics do not contain personal information. In fact, if you use Sigrid CI, the developer names will be anonymized client-side, so before anything is published to Sigrid. You can find more information on Sigrid data usage in our Privacy Statement.

Which version control systems does SIG support for analyzing the change history?

Git, which has over 95 percent market share. Supporting other version control systems would require an unreasonable amount of effort for the SIG infrastructure. However, clients can convert their repository to Git during their pipeline.

Examples:

Are Git submodules supported?

Yes. This does require you to initialize the submodules as part of your build pipeline, but this is done automatically by basically all mainstream development platforms. If you are manually cloning your repository in your pipeline, use git clone --recurse-submodules to clone both the “main” repository as well as its submodules.

How does the change history analysis process merge commits versus squashing commits?

Teams working with Git will often use slightly different workflows: merge commits or squashing commits. We support both as part of our analysis. When using merge commits, we only count the “original commit” and not the merge commit itself, to avoid counting every change twice. When squashing commits, we analyze the squashed commit instead of the original commits, for the practical reason that we no longer have access to the original commits after they have been squashed.

How does SIG's model differ from other software architecture consulting and assessment approaches?

SIG's model is unique in its focus on measuring software architecture consulting flexibility through code analysis. Unlike many theoretical models, it provides concrete, measurable insights based on the actual implemented software architecture in software engineering. It's designed to work across different software architecture patterns and can be applied consistently across an organization's entire enterprise architecture software landscape.

Experience Sigrid live

Request your demo of the Sigrid® | Software Assurance Platform:
  • This field is for validation purposes and should be left unchanged.

Register for access to Summer Sessions

This field is for validation purposes and should be left unchanged.
Name*
Privacy*