Skip to Content
View all events

Architecture as Code

Published by O'Reilly Media, Inc.

Intermediate content levelIntermediate

Validate, measure, and align architecture with technical and business goals

Course outcomes

  • Understand that architecture cannot exist as a silo but must align with all aspects of the business to be effective
  • Learn how to define architecture as code, which allows automated testing of design and other decisions
  • Validate, measure, and align architecture with the technical and business environments and goals
  • Establish the building blocks for a governance mesh, using aspect-oriented architecture to unify architectural goals across multiple intersection points
  • Leverage generative AI to assist in crafting implementations of fitness functions from general-purpose pseudo-code

Course description

Architects often describe their work in diagrams and other visual artifacts, but how can they test to see if the implementation is aligned with the architecture? Architects are expected to not only design new systems but also continuously govern what they’ve already built and ensure that their architecture is aligned with the technical and business environment.

Join experts Mark Richards and Neal Ford to uncover a new way to think about architecture: as code. Software architecture has numerous intersections across the organization, and code can be used to define each intersection. With fitness function-driven architecture, teams can define structure, constraints, governance, security, communication, and many other capabilities—all as source code. You’ll learn about intersections with implementation, infrastructure, engineering practices, team topologies, data topologies, systems integration, the enterprise, and the business environment, defining each interaction with tests and other fitness functions that allow architects to not only design solutions but make sure they are implemented and aligned correctly via automated verification. You’ll also do a number coding exercises to make intersections concrete, building fitness functions that apply to your own job.

NOTE: With today’s registration, you’ll be signed up for both sessions. Although you can attend any of the sessions individually, we recommend participating in both.

What you’ll learn and how you can apply it

  • Understand how to build architectural artifacts using code, leveraging fitness functions and other frameworks to concretely define architecture
  • Explore how to leverage generative AI to assist in crafting fitness function-driven architecture tests
  • Learn to think more concretely about the intersections of architecture with other parts of your organization and how to define those interactions with code

This live event is for you because...

  • You’re a software architect (in any number of architect roles).
  • You work with many areas in your organization.
  • You want to become a more effective architect by automating interactions.

Prerequisites

  • Familiarity with software architecture concepts like structure and coupling
  • Experience with modern engineering practices such as unit testing and continuous integration

Recommended follow-up:

Schedule

The time frames are only estimates and may vary according to how the class is progressing.

Day 1

Introduction (60 minutes)

  • Presentation: Why doesn’t architecture always work?; introducing Architectural Nexûs; defining fitness functions; architecture as code; fitness function-driven architecture; collaboration and communication techniques; structural fitness function pseudo code; Kata descriptions
  • Break

Intersection of architecture and implementation (60 minutes)

  • Presentation: Operational alignment; structural alignment; constraints alignment; fitness function examples
  • Hands-on exercises
  • Break

Intersection of architecture and data topologies (60 minutes)

  • Presentation: Fallacy 10 of distributed computing; operational isomorphism; analytical (data mesh) alignment; fitness function examples
  • Hands-on exercises
  • Break

Intersection of architecture and infrastructure (60 minutes)

  • Presentation: Operational characteristics alignment; naming services; service mesh; aspect-oriented architecture; governance mesh; self-healing systems; fitness function examples
  • Hands-on exercises

Day 2

Intersection of architecture and engineering practices (60 minutes)

  • Presentation: Fallacy 9 of distributed computing; monolithic repo governance; deployment pipelines; deployment practices; fitness function examples
  • Hands-on exercises
  • Break

Intersection of architecture and team topologies (60 minutes)

  • Presentation: Team topology types; stream-aligned teams; enabling teams; complex subsystem teams; platform teams; isomorphism and architectural styles; fitness function examples
  • Hands-on exercises
  • Break

Intersection of architecture and integration environment (60 minutes)

  • Presentation: Fallacy 11 of distributed computing; observability techniques and metrics; CRDT data types; observability techniques/metrics; contract management; static coupling; data consistency; fitness function examples
  • Hands-on exercises
  • Break

Intersection of architecture and generative AI (60 minutes)

  • Presentation: AI ecosystem matrix; generative AI assistance for architecture; supporting ecosystem tools and products; productionizing AI; fitness function examples; resources
  • Hands-on exercises

Your Instructors

  • 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

    Xlinksearch
  • Mark Richards

    Mark Richards is an experienced, hands-on software architect involved in the architecture, design, and implementation of microservices architectures and other distributed systems in a variety of technologies. He has been in the software industry since 1983 and has significant experience and expertise in application, integration, and enterprise architecture. Mark is the founder of DeveloperToArchitect.com, a free website devoted to helping developers in the journey to becoming a software architect. In addition to hands-on consulting, Mark has authored numerous technical books and videos, including his two latest books Fundamentals of Software Architecture and Software Architecture: The Hard Parts that he co-authored with Neal Ford. Mark has spoken at hundreds of conferences and user groups around the world on a variety of enterprise-related technical topics.

    linkedinXlinksearch

Skill covered

Software Architecture