Values, Principles and Practices collectively make a framework which is a set of rules that an individual uses to guide his or her behaviour. Every framework (regardless of the industry) must contain a list of values, practices and principles to fully implement it. In the below section, we shall try to explain (with examples) the Difference Between Values, Principles and Practices
What are the Values
Values are a person’s, team’s or society’s beliefs about good behaviour and what things are important. They are fundamental beliefs that guide or motivate attitudes or actions.
Values are important because they help us to grow and develop. They help us to create the future we want to experience. They are the shared ideas about how something is ranked in terms of desirability, worth or goodness, and they are accepted and agreed by the people under a particular hood.
So, for example, in the perspective of software development processes, the values could be like below
- The code should be clean
- The change should always welcome
- Add and adopt simplicity whenever possible and applicable
A software development team that embraces these values will always strive to achieve and maintain them using different means.
An example of a value from a common man perspective is: My home should be clean, all the time.
What are the Practices
Practices are the actions to achieve the values. Individuals, teams or society perform certain actions (specifically, or as an umbrella activity) to make sure the core of the values has been met. Practices are the decisions that result in reflecting the values in the end product.
Remember: Whenever there is Value, there must be some Practices.
For example, to achieve the Clean Code value during the software development, each individual has to make sure that his/her code is aligning with the best practices of writing a clean code, the code logic is simple, the file structure is well defined, and so on.
For keeping the home clean, we need to decide how to clean it? Should we clean it by ourselves or hire a service company? How often do we need to do cleaning to keep it clean all the time? What tools, techniques should be the best choice, and so on.
What are the Principles
Principles guides how your practices will be and how you can achieve your values? These are the rules, strictness and guidelines to perform the practices to meet the values.
For a clean code example, a principle could be like one should not repeat his/her code in multiple functions/classes. The method’s length should not exceed a normal screen’s height, etc.
For a clean home example, a principle could state that you should not throw everything outside to keep your home clean. Although it will keep your home clean all the time (no stuff, no dirty home), it is not applicable. Another principle could state that you should not start cleaning after every hour, as it is also not applicable.