Structural comparisons and tracking change
The ability to compare the current structure against a reference structure in the repository makes Structure101 very practical to use.
By highlighting any structural changes in the current build, Structure101 allows you to quickly focus on what really matters and drastically reduces the effort required to keep your project structure under control.
Structure101 color-codes new dependencies in every viewer. You can quickly check if any of these are undesirable so that they can be backed out of the mainline before they become entrenched.
Structure101 web application includes information about all new and removed package dependencies and new and removed architecture violations. It also provides RSS feeds that can inform you about selected types of changes (e.g. new architecture violations) so that you do not need to switch attention to the code-base structure unless and until it is required. Additionally, the web-application can show trends on the size, excess complexity (XS) and architectural violations over time.
Structure101 plugins can be configured to warn (or give an error) on new dependencies that violate the architecture. This helps programmers avoid making things worse, but without being swamped with warnings about prior violations. In fact, in avoiding new violations, developers will often need to refactor out existing violations.
Controlling architecture can be a significant challenge. You define an architecture in order to support your development, test, deployment, etc. processes. You expect it to evolve somewhat, but it is essential that is is controlled. An uncontrolled architecture can become a tangled mess, with no clear home for specific functions, unexpected side-effects to changes and increasing integration and test time.
With Stucture101, you let your developers work unimpeded, but watch out for architectural changes as they emerge from the code-level changes. The basic mechanism for this is structural comparison whereby you compare one version of the structure with another one that was previously published to a Structure101 repository.