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 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.
Paula Paul is a Distinguished Engineer with Slalom Build, where she helps organizations adopt cloud native technology and serves the community as an ABI Syster, diversity speaker, and mentor. Paula entered the workforce as a software engineer at IBM in the early ’80s, where she shipped her first product on magnetic tape. She’s shipped many software products since then, evangelized .NET with Microsoft, held executive positions in technology architecture and operations, and taught people of all ages to code. Paula is passionate about equal opportunities for technical literacy and enjoys (half) joking that Kubernetes reminds her of IBM/370 systems programming.
Cassie Shum is the technical director and principal consultant for the east portfolio in North America at ThoughtWorks. A software engineer and architect, she’s spent the last nine years focusing on architectures including event-driven systems and microservices, a wide range of technologies with an emphasis on mobile and software delivery excellence, and she’s helped grow delivery practices and technical strategy and support the next generation of technologists. Some of her passions include advocating for women in technology and public speaking. She’s involved in promoting more female speakers in technology.
©2019, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org