Agile values, principles, practices explained

Think back to when you were a child.  Didn’t your folks tell you to be a good little kid?  I’ll bet you didn’t have any idea what a good little kid was, but your parents infused in you the thought that other people mattered, that your family was important, that good people are kind and generous.  You probably still didn’t understand how any of this applied to you until your parents gave you a very specific set of instructions:  share, wait your turn, be polite, and don’t talk back.  Then, when your parents saw you playing on the swings, they told you to give your friend a turn.  When you went to the movies, they made you go to the end of the line and wait until everyone in front of you paid to get in.  They made you kiss your aunt on the cheek, say thank you when you got a present, ask for a second helping of pudding and say thank you when you got that second helping.  Your parents where teaching you a value by focusing on the supporting principles which in turn were supported by practices and finally implemented through techniques.

A value is an abstract, broad preferences related to appropriate courses of action or outcomes.  Values don’t change based on circumstance and can be governed by objective (avoiding pain) or subjective (wanting fame) motivations.  They reflect a sense of right or wrong.

A principle is a rule that has to be followed but can be ignored.  It’s less abstract than a value and can often be determined by looking as behavior.  Principles, in my definition support values.  So by observing a number of principles, you can often times determine a particular value. 

A practice is a set of behaviors that can be applied directly through behavior in different situations.

Finally a technique is a set of detailed specific behaviors, often tied to a particular situation that support a practice.