2008年1月23日星期三

错误的价值观还不如无知


Practices are the things you do day-to-day. Specifying practices is useful because they are clear and objective. You either write a test before you change code or you don't. The practices are also useful because they give you a place to start. You can start writing tests before changing code, and gain benefit from doing so, long before you understand software development in a deeper way.

Values are the roots of the things we like and don't like in a situation. When a programmer says, "I don't want to estimate my tasks," he generally isn't talking about technique. He already estimates, but doesn't want to reveal what he really thinks for fear of providing a fixed point of judgement that will be used against him later. In this case, the programmer values protection over communication. Values are the large-scale criteria we use to judge what we see, think, and do.

Values bring purpose to practices.Practices are evidence of values. Values are expressed at such a high level that I could do just about anything in the name of a value.

Values and practices are an ocean apart. Values are universal. Ideally, my values as I work are exactly the same as my values in the rest of my life. Practices, however, are intensely situated.

Bridging the gap between values and practices are principles. Principles are domain-specific guidelines for life.

"It ain't what you don't know that gets you in trouble. It's what you know that ain't so." --Will Rogers

价值观决定了行为,真正给你带来麻烦的并不是你的无知,而是对错误价值观的坚持。

没有评论: