Lines, Locks, and Fences #
Any social system, from a small group of friends to a collection of nations, depends on individuals acting in ways that are predictable and understandable to others within that system. Depending on the the action, and the level of trust between the individuals, different mechanisms of enforcing this predictability are appropriate.
Enforcement mechianisms fall into three basic categories, which I will call Lines, Fences, and Locks. In the design of development tools and practices, these all have very different trade-offs. It is very important to choose the appropriate type of enforcement in order to maximize the value that it provides and minimize the costs.
Lines #
When driving on a road, there are lines on the road that help everyone stay in their lane. All drivers have a deep shared interest in staying within these lines, because doing so keeps us all safe.
Because of this shared interest, there isn't much need to prevent violations of the guidelines in most cases. It's only necessary to make the expectations clear. While violations are dangerous, they are rare enough that post hoc enforcement is adequate.
Fences #
%h