About the Online Workshop: Analyzing Architecture with metrics and Static Analysis


Many organizations have the urgent need to modernize applications that have grown over the years and are not in very good architectural shape anymore. Often those monoliths resemble more the dreaded big ball of mud than a well organized software system. Modernization might mean migration to micro services or to a cleaner architecture based on Domain Driven Design. But before you can start with the big modernization you should analyze what you have. That allows you to estimate if building from scratch might be cheaper after all.

The workshop will first introduce the foundations of good software architecture. From there we introduce a couple of useful software metrics that can help you to measure architectural quality and find out how easy (or difficulty) it would be to modernize the monolith based on overall coupling and structural aspects like cyclic dependency groups. We will mostly work with a free tool (Sonargraph-Explorer) that can be used to extract those metrics and also to visualize the overall structure of any system written in Java, C#, Python or C/C++.

In the second hour we will shift to structural analysis. What can we learn by visualizing dependency structures? How difficult would it be to breakup a module of your monolith? All participants are encouraged to run the tool on their own software during the workshop.

In the third part we will focus on good practiced for doing the modernization. How can we make sure that an architectural blueprint will stay recognizable in the code. For that purpose we will look at open source tools like ArchUnit and compare them to commercial alternatives like Sonargraph-Architect and others. How can we define and enforce architectural models and other aspects of technical quality?

Requeriments: Students should have experience with the development of large enterprise applications.

Analyzing Architecture with metrics and Static Analysis: Topics


  • What is architecture
  • Architectural patterns
  • Architecture characteristics (-illities)
  • Architecture pattern languages
  • Architectural fitness functions
  • Software metrics for architects
  • Architectural smells
  • Why cyclic dependencies are bad and how to break them
  • Architectural models and architectural governance
  • Monolith assessment checklist
  • Live analysis (where you can follow along on your own code)
  • Tracking metrics over time
  • Tools and methods for architectural governance (open source and commercial tools)

Timetable:

  • Class Start: 18:00 (Barcelona GMT +2)
  • Class End: 21:00

What will you learn during the Analyzing Architecture with metrics and Static Analysis workshop?


  • Metrics like ACD, Propagation Cost, Maintainability level, Structural Debt Index and many more.
  • Using a free tool like Sonargraph-Explorer to answer the hard questions about a software system that needs modernization.
  • The Ability to effectively analyze architecture other quality aspects.
  • How to avoid ending up with a big ball of mud again.

About Alexander von Zitzewitz


Alexander von Zitzewitz is a serial entrepreneur in the software business and one of the founders of hello2morrow, an ISV specializing in static analysis tools that can enforce architecture and quality rules during development and maintenance of software systems. He’s worked in the industry since the early 1980s and focuses on the role of software architecture and technical quality on successful project outcomes. He moved from Germany to Massachusetts in 2008 to develop hello2morrow’s business in North America.

Date and Price


The Analyzing Architecture with metrics and Static Analysis workshop will take place on TBC. The price is 100€. You can choose between three different payment methods for this workshop:

Interested in the Software Architecture workshop? Contact us!