Page cover image

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