Why Principles are more important than Practices?
As agile coaches, we frequently observe and get involved in discussions around practices, methods and tools. Many of these start with someone suggesting "I think we should try …".
Many of these discussions focus directly on the advantages of the specific method. Often, they lack focus on fitness for purpose or context. There are so many things that we could do. Many methods that work amazingly well for others. Is that enough to start trying them too?
We need to decide which method or tool is important and potentially useful for us in our environment, for our specific, current challenges. Discussions about new practices, methods and tools without considering our relevant focus of improvement can be wasteful and futile.
Many conversations about practices, methods and tools generalise the needs and advantages. In some situations, practices like continuous delivery are even considered to be preconditions for starting on your agile journey.
Every environment is different. No method brings the same benefits to every environment, is easy to implement or even applicable in every environment. Should a good old IT-department of a bank not strive towards agility, because practices like continuos deployment look impossible in their context?
The important question to discuss is, what is needed in your environment? Having a common understanding on what needs to be in place, next to the functionality to release, could help to clarify our needs. This common understanding about the expected level of quality and other non-functional requirements could be collected in a Release Definition of Done (RDoD) that reflects our needs.
This document enables a continual discussion putting our needs next to our possibilities to achieve them. Fancy practices, methods and tools are not necessarily the best starting point. Maybe in your environment some simple things could really make a huge difference. Awareness of your needs allows for a much better focus for your growing agility than some currently hyped practices.
Don't get me wrong. I'm a big fan of many agile practices, methods and tools. For me the understanding on what are our needs and reflecting back on how to achieve it, is essential to keep in charge of our improvements and achieve ownership of our environment.
The understanding of our needs as a foundation to introducing practices, methods and tools, feels in my experience much more natural and focused on the specific environment.