Automating Architectural Governance
Published by O'Reilly Media, Inc.
Agile Engineering in Architecture
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 live event 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
Prerequisites
- Understand of coding and related topics such as testing and metrics
- Basic understanding of architectural governance
Recommended preparation:
- Building Evolutionary Architectures (book), Chapters 2 (Fitness Functions) and Chapter 3 (Engineering Incremental Change)
- Software architecture by example (live online training course with Mark Richards and Neal Ford)
Recommended follow-up:
- evolutionaryarchitecture.com — companion website with fitness functions kata exercises
- Building Evolutionary Architectures (book)
- Software Architecture Fundamentals (video course)
Schedule
The time frames 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
Your Instructor
Neal Ford
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’s authored several books, a number of magazine articles, and dozens of video presentations (including a video on improving technical presentations) and spoken at hundreds of developer conferences worldwide. His topics of interest include software architecture, continuous delivery, functional programming, and cutting-edge software innovations. Check out his website, Nealford.com