Complexity kills. It sucks the life out of developers, it makes products difficult to plan, build and test. ... Each of us should ... explore and embrace techniques to reduce complexity. Ray Ozzie, Chief Technology Officer, Microsoft Corporation. Structure101 takes something very complex and difficult to control - software structure ( design , architecture , ...) - and makes it easy. The first thing structure101 does is simply to let you see the structure of your code-base , from many different perspectives hierarchies. Next you can assign limits to the structural complexity and structure101 will measure the code at every level and highlight the regions that are excessively complex. Finally you can define how the code should be structured - the architecture - in such a way that your entire team can understand it, move the code structure towards it, and keep it so. The key to making structure easy is giving different team members just the info they need, when they need it. A rich client provides an interactive analysis and architectural definition environment. By publishing structural data, complexity thresholds and architecture definitions to a central repository, developers can view diagrams and receive warnings within their IDE, and mangers can view and compare structural information and trends across a portfolio of projects. Give everyone an oar and they will start rowing. Stucture101 is licensed as two products, the structure101 client and the structure101 publisher. Publishers can be invoked from a client and/or a build script (like Ant or Maven). Typically you will use at least one publisher per project and we recommend one client per developer, but most start with a handful of licenses for the architect, team leads and the QA folks, before they come back for more!