Chapter 13

Design VII – Connascence

Great things are done by a series of small things brought together.

– Vincent Van Gogh


The term connascence derives from Latin: co +‎ nascence.

"co" means together and "nascence" derives from nascentem, which means arising young, immature. It's the present participle of nasci, to be born, hence the definition:


The birth and growth of two or more things at the same time.

In software development, we can say that two or more elements (fields, methods, classes, parameters, variables, but also build steps, procedures of any kind, and so on) are connascent if a change in one element would also require a change in the others in order for the system to keep working correctly.

Connascence generalizes ...

Get Agile Technical Practices Distilled now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.