Architectural-"ilities"
What is an "Ility" you might ask? Well, there are all kinds of ilities in the context of software architecture. Here is a list of some of the most important, and calls out some of the ways to measure them.
Characteristic Category
Composite-ility
ility
Measure
Operational Architecture
Performance
Cumulative average response time - trigger alert when the average response times within a particular context exeeds 1400 ms)
Maximum Response Time - Trigger alert anytime max response time of selected requests exceeds 2000ms
Cumulative averge response time - trigger alert if response times continues to increase over 2 month period
Double Exponential Smoothing
Alert tuning Fitness function
Scalability
Elasticity
Quality Architecture
Reliability
Fault Tolerance
Availability
(E[uptime])/(E[uptime]+E[downtime])
Using the nines chart
Agility
Deployability
Measure & track the number of actual hours spent to deploy
Measure & track failed deployments or errors resulting from deployment
Measure & track frequency of deployment
Measure errors/failures
Modularity
Internal Quality Architecture
Component Coupling
(tight -> loose coupling)
Pathological coupling
External coupling
Control coupling
Data coupling
Abstractness
Sum (abstract elements) / sum (concrete elements)
Instability
Efferent coupling / efferent coupling / afferent coupling
Distance from the main sequence
d=|abstract+instability −1 |
Component
Modularity
Maintainability
Testability
Availability
Deployment
Reliability
Scaleability
Evolutionary/migration-ability
Complexity/WMC
Maintainability
Testability
Reliability
Coupling (CE, CA, CT)
Modularity
Maintainability
Testability
Availability
Deployment
Reliability
Scalability
Evolutionary/Migration-ability
Inheritance depth (DIT)
Modularity
Maintainability
Testability
Deployment
Reliability
Evolutionary/Migration-ability
Percent
Last updated