O'Reilly logo
live online training icon Live Online training

Automating Architectural Governance

Agile Engineering in Architecture

Topic: Security
Neal Ford

Architectural Governance defines the technical rules and standards within an organization about every aspect technology, particularly software development. Thus, it forms an important part of every architect's job regardless of role: application architects must define rules and principles for developers to follow, enterprise architects define rules to help realize the long-term strategic vision of the enterprise, and so on. However, as an industry, we have done a poor job of ensuring the rules architects define reflect reality. A combination of vague and conflicting definitions leave most well-intentioned governance attempts as well meaning failures.

This online class demonstrates how to marry the two worlds of agile engineering automation with objective architectural governance rules. In the book Building Evolutionary Architectures, I define an architectural fitness function, a mechanism that allows architects to objectively define governance goals and principles and automate their application. This class defines fitness function categories and types, and illustrates how architects can define and enforce governance rules with more than 50 examples. I also illustrate how objective fitness functions help reconcile the disparate worlds of application and enterprise architects, making each side happier (or at least equally unhappy).

What you'll learn-and how you can apply it

By the end of this live, hands-on, online course, you’ll understand:

  • The definition and origins of architectural fitness functions
  • How to objectively define architectural characteristics
  • How to separate domain and concerns
  • How to apply fitness functions for application, integration, and enterprise architecture
  • How to “herd” quality governance metrics
  • Unifying application and enterprise architect concerns

And you’ll be able to:

  • Identify the scope and categories of a variety of fitness functions
  • Concretely define important architecture concerns
  • Reconcile strategic versus tactical objectives
  • Understand how to evaluate the cost of individual and combined architecture characteristics
  • Fitness Function-driven Architecture (FFDA)

This training course is for you because...

  • You’re an architect at any level or a developer looking to understand governance better
  • You work with any software project! This online class is technology agnostic, showing examples in a variety of languages
  • You want to understand the cutting edge of the intersection of agile engineering and architecture


  • Understand of coding and related topics such as testing and metrics
  • Basic understanding of architectural governance

Recommended preparation:

Recommended follow-up:

About your instructor

  • Neal Ford is a director, software architect, and meme wrangler at ThoughtWorks, a software company and a community of passionate, purpose-led individuals who think disruptively to deliver technology to address the toughest challenges, all while seeking to revolutionize the IT industry and create positive social change. He’s an internationally recognized expert on software development and delivery, especially in the intersection of Agile engineering techniques and software architecture. Neal has authored seven books (and counting), a number of magazine articles, and dozens of video presentations and spoken at hundreds of developers conferences worldwide. His topics include software architecture, continuous delivery, functional programming, cutting-edge software innovations, and a business-focused book and video on improving technical presentations. Check out his website, Nealford.com.


The timeframes are only estimates and may vary according to how the class is progressing

Architecture Governance (20 minutes)

  • Defined
  • As oversight
  • Current limitations
  • What does governance look like in your organization?
  • How many of the dysfunctions I listed does your organization suffer from?
  • Q&A

Determining Architecture Characteristics (20 minutes)

  • Architecture characteristics
  • Separating architecture from domain
  • Exercise: Architecture kata: derive architecture characteristics from problem statement
  • Q&A

Break: 10 mins

Fitness Functions (50 minutes)

  • Definition and origin
  • As an evolutionary architecture technique
  • Categories and types of fitness functions
  • Exercise: Identify the category of fitness function examples
  • Rules for governance fitness functions:
  • Objective
  • Explicit
  • Exercise: Derive fitness functions for your architecture characteristics
  • Q&A

Break: 10 min

Automating Governance using Fitness Functions (50 minutes)

  • Using metrics
  • Symptoms of structural decay
  • cycle-time guard
  • managing organizational fan-out
  • performance
  • scalability versus elasticity
  • testability
  • Deployability
  • Exercise: fitness function katas, from the website http://evolutionaryarchitecture.com/ffkatas
  • Q&A

Best Practices (20 minutes)

  • Fitness function-driven architecture (FFDA)
  • “Herding” governance
  • Documenting goverance
  • Unifying strategy and tactics
  • Q&A