Encapsulation aligns minds beyond coding
The power of encapsulation is wasted, if it's only veiled at the inner workings of object-oriented programs. Its complexity reducing delights are at least as wonderful, maybe even more so, on the soft side of technical projects in specification documents and feature discussions.
Thought alignment between managers, sales people, writers, and programmers slays a multitude of evils—all commanded by the lord of confusion.
Instead of thinking up a new word every time you want to describe a user writing and then mailing a new document to be authorized, encapsulate the concept in proposer. Make this encapsulations explicit in a project dictionary.
Diagrams can now refer to the proposer without need of further explanations. Once enough concepts has been encapsulated, you can communicate many new features as single sentences, such as "proposer gets notification from judge on verdict". Ambiguity is eliminated, and programmers will have a complete mental model to develop from.
I started a project vocabulary at work today, and produced the first specifiction for a new feature from it. I saw that is was good.
