is an excellent book by
Jerry Weinberg (isbn 0-932633-22-6).
As usual I'm going to quote from a few pages:
There is only one sin, and that's failing to believe you have a choice. [Jean-Paul Sartre]
A culture is a self-sustaining pattern that has remarkable powers of resistance to change.
The essence of a pattern is what it can do consistently.
When trying to introduce change in software engineering practices (or any practices, for that matter), it's often better to work by addition, rather than subtraction. Instead of continually emphasizing what people are doing wrong, emphasize what they are doing right so that they will do more of it.
The Reversible Fallacy: What is done can always be undone.
The Causation Fallacy: Every effect has a cause ... and we can tell which is which.
One of the most important tasks is not merely describing these laws, but in distinguishing which ones are
"natural" laws that we'll have to learn to accept and which ones are "human decision" laws that we'll have to learn to control.
People's language often reveals when they believe that they are victims of events, rather than having a choice of reactions to the event.
Learn to listen for falsely deterministic key words.
Any time you say, "I can't do that, " you'll always be right.
IQ scores would be a lot more meaningful if you added 10,000 to each score.
An hour of work is not an hour of work if you are interrupted during the hour.
The average defect detection time will keep rising throughout the project.
Poor quality hurts much more than good quality helps.
The software industry tends to focus on tools rather than on people.