Connascence is a software design metric introduced by Meilir Page-Jones that quantifies the degree and type of dependency between software components, evaluating their strength (difficulty of change) and locality (proximity in the codebase). It can be categorized as static (analyzable at compile-time) or dynamic (detectable at runtime) and includes forms such as Connascence of Name, Type, and Position, each representing different dependency characteristics and levels of fragility.