Quality Software Management
Vol 1. Systems Thinking

is an excellent book by Jerry Weinberg (isbn 0-932633-22-6). This is the second snippet review for this book (here's the first). As usual I'm going to quote from a few pages:
A locked-on system tends to hold itself to an existing pattern, even against logical reasons to change. … Lock-ons occur in clusters.
We particularly look for the degree of congruence between what is said and what is done.
The quickest and surest way to classify organisations into similar patterns is by the way people think and communicate.
The feedback model says you can't successfully control anything for very long without information.
errors - deviations from requirements that give you information to control the system.
The treatment of error as a source of valuable information is precisely what distinguishes the feedback (error-controlled) system from its less capable predecessors and thus distinguishes Steering software cultures from Patterns 1 [Variable] and 2 [Routine].
If the technical reviews are not detecting a lot of mistakes it could mean that … the system is working very well.
Late modules tend to be fault prone modules.
The more modular you make the system, the fewer side effects you need to consider. You trade for this effect by creating modularity faults, or faults in the interaction between modules. You never get something for nothing.
Feedback must operate in small increments, at all levels - personal, product, process, and cultural.
In such a system it is meaningless to ask who is controlling whom?