Compare builds

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 previousl published to a Structure101 repository.

Figure: When you compare 2 builds, Structure101 color-codes every item to indicate if it is totally new (like xs) or contains new structural elements (like util).
Full screenshot
compare Java architectures for new and changed components
Figure: New dependencies are usually the most important architectural changes - Structure101 color-codes these so that you can decide if they are acceptable or need reversing.
Full screenshot
compare Java architectures for new and changed dependencies at any level
Figure: So that you can quickly find important architectural changes, Structure101 lists all package-level structural changes in order of depth in the design hierarchy.
Full screenshot
a list takes you straight to design changes when you compare Java architectures