#214 – Fitness Functions

The different Fitness Functions correspond to one or more dimensions of the architecture, and, therefore, the individual functions will inevitably conflict with each other, as depicted here. In order to understand that all these Fitness Functions together represent an architectural tradeoff, we think of the collection of them as a Systemwide Fitness Function.

The idea is that, by thinking of it as a whole, the Architect can make guidelines for making decisions by prioritizing the different characteristics (represented by each individual Fitness Function) with stakeholders—e.g., what individual weight security, performance, scalability, and Cyclomatic Complexity should each have in the overall picture—thus, enabling the Scrum Team to optimize the architecture according to the desired overall behavior of the product.