The Bureau of Labor Statistics recently reported that businesses can expect 25 years of rapid change. The Economist also recently reported that business executives are worried that they cannot keep up with the rapid pace of business change. In today’s business landscape companies are in a constant state of change, and in many cases cannot maintain their competitive advantage and fail or get acquired. What does all this have to do with software architecture? The answer is quite a lot.

Analyzing architecture is all about finding structural decay in systems and determining whether an existing architecture is still viable in todays market. This is known as “architectural vitality”. While the functionality of a system may be sound, the architecture supporting that functionality may not be. For example, performance and scalability may have been the number one concern 5 years ago, but today agility, testability, and deployability is the number one concern to support high levels of competitive advantage and time-to-market. Does the architecture support these “-ilities”? If not, the company is likely to fail in today’s highly competitive market.

In this intense 1-day hands-on workshop you will learn what structural decay means and how to detect it. You will also learn what it means to “analyze an architecture”, and how to measure and quantify various “-ilities” such as performance, scalability, testability, maintainability, and so on. Using your own application or a real-world application supplied in the class, you will first see how to apply macro-level analysis techniques (design level) to detect elements of decay. Leveraging source code metrics and open-source analysis tools, you will then see how to apply micro-level (source-code) analysis techniques to identify decay in your architecture. You will also learn how to perform risk analysis against your architecture to help identify and prioritize architectural refactoring efforts, and also how to assess the level of modularity in your application in preparation for the move to microservices.

While the analysis techniques taught in this class are largely platform and technology-agnostic, the analysis tools we will be using (as well as class examples) will be in Java.


A laptop is recommended for this workshop so you can follow along with the class exercises. Please feel free to bring your own Java-based application you are interested in analyzing so that you can directly apply the techniques and tools learned in the class.


The desire to find out whether you have a sound and viable architecture supporting your systems and applications. There are no technical or architectural prerequisites for the class.

Mark Richards

Mark Richards

Independent Software Architect, Author of Software Architecture Fundamentals

October 15, 2019

8AM - 4PM


Register by August 26, 2019 to save $200 off regular registration with super early-bird price.

Current Registration Fee: $795

After August 26, 2019: $895

After September 16, 2019: $995

Special Offer

Add-on a discounted NFJS Tour Pass for $700

Registration Includes

  • 1-Day Training Offering
  • Continental breakfast, refreshment breaks and lunch
  • Wireless Connectivity & Power
  • Certificate of Completion