Section 3


"Life is growth. If we stop growing, technically and spiritually, we are as good as dead.”

– Morihei Ueshiba

Chapter 11

Design V – Cohesion and Coupling

Coupling between A and B is defined as:

'if I change element A I also have to change element B [...]

Cohesion of an element A is defined as:

'if I change sub-element A.1, do I have to change all the other sub-elements A.2-n?'

So, cohesion is coupling within an element.

-Kent Beck


Coupling measures the degree of interdependence between software components. In object-oriented design, we want coupling to be as low as possible, but not lower, or we end up with software that does very little. This allows us to make changes in a component without impacting other ...

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.