Analyzing and transforming architecture

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, important architectural styles and characteristics as well as the concept of fitness functions. We also will introduce the concept of architectural pattern languages and discuss architectural decay often caused by ever increasing cyclical dependencies and how to deal with that. From there on we will make a journey through the universe of relevant software metrics and introduce metrics like Average Component Dependency, Propagation Cost and Maintainability Level.

Then we will cover architectural governance that will allow the automatic enforcement of architectural models with tools like ArchUnit or Sonargraph. The remaining time will be used by doing a live analysis on some famous open source projects. The user can follow along on his own code base provided he/she previously installed Sonargraph-Explorer, a completely free tool for metrics gathering and dependency visualization. After that we will discuss how to breakup software modules into smaller more modular units. Time permitting we will end the workshop with a live software breakup demo using a commercial tool (no free tools are available for this particular task). The users will be provided with a 3 months free license of that tool, so that they can apply the new knowledge in their own work environment.

Itemized content:

• 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)

If you'd like to follow along and get metrics for your own code I recommend to register on www.hello2morrow.com (mention ArchConf in the “where you found us” field) and download Sonargraph. The workshop comes with a 3 months free license for the tool. Here is the activation code: 2E59-91C5-6439-7688 .


About Alexander von Zitzewitz

Alexander von Zitzewitz is founder, managing director of the company and CEO of the US subsidiary. He has more than 20 years of project and management experience. In 1993 he founded ootec - a company focused on project services around object oriented software technology. This company was sold to the French Valtech group in March 2000 and served customers like Siemens, BMW, Thyssen-Krupp-Stahl and other well known names in German industry. From 2003 to early 2005 he was working as Director of Central Europe for the French company Xcalia S.A. Since the summer of 2008 he is living in Massachusetts. His areas of expertise are object oriented system design and large scale system architecture. Alexander has a degree in Computer Science from the Technical University of Munich.

More About Alexander »