The idea that architecture can support change was described by Neal Ford, Rebecca Parsons, and Pat Kua in 2017 as evolutionary architecture. How do we enable this kind of evolution?
Architectural goals and constraints change independently of functional expectations. Fitness functions describe how close an architecture is to achieving an objective goal. During test-driven development, we write tests to verify that features conform to desired business outcomes; we can also write fitness functions that measure and monitor a system’s alignment to architectural goals as they evolve.
In order for technology to deliver lasting business value, it must be adaptable. Prose enterprise architecture standards or rigid architecture frameworks often don’t have the flexibility to support constant change. Regardless of application architectures (monolith, microservices, microkernel, etc.) or business architecture, fitness function–driven development can introduce continuous feedback for architectural conformance and inform the development process as it happens rather than after the fact.
Architecture can be expressed and tested as code, in a pipeline, in the same way we express and test business capability and infrastructure as code. The concept of architecture as code is a tremendous leap for most traditional architecture and development teams, challenging long-standing perceptions and mindsets.
Paula Paul and Cassandra Shum (ThoughtWorks) share adventures in the enterprise as they take architects and engineers on a journey toward fitness function–driven development, with real-world hurdles and unexpected insights, as they rethink the connection between architecture and business value in a digital world.
- Title: Architecture as code: Objective measures of value in a changing world
- Release date: December 2019
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 0636920362142
You might also like
40 Algorithms Every Programmer Should Know
Learn algorithms for solving classic computer science problems with this concise guide covering everything from fundamental …
Software Architecture Fundamentals, Second Edition
Being a successful software architect is more than just possessing technical knowledge. It’s about thinking like …
Head First Design Patterns, 2nd Edition
You know you don’t want to reinvent the wheel, so you look to design patterns—the lessons …
Software Architecture Superstream Series: Software Architecture Fundamentals
This three-part series of half-day online events, hosted by chair Neal Ford, focuses on the hottest …