My two cents on the classical agile values v/s practices debate. Why to some people values is the center of the universe, yet for some values are too vague and they want more prescriptive practices? Do values and practices go hand in hand or they can be fairly independent?
I belong to the group of people who believe values helps one innovate practices. Practices are important, but once you understand the values clearly it would bring one closer to the problem domain. Understanding the core problem at hand helps one innovate better practices to solve the real problem.
Let‘s consider a practice like Continuous Integration [CI]. Everyone knows that CI is great and is a must on all projects. But we need to understand CI is trying to solve one or more problems. One of the problems it‘s trying to solve is to get continuous feedback on whether the software, as a whole, works or not after integrating different components. Different projects can have different implementations of CI. But they are all trying to solve the common sets of problems which are defined by the values.
According to me Kent beck‘s biggest contribution was not XP, but was defining those 5 values of software development so clearly. I don‘t think the values are vague. It‘s just that those 5 words are capturing something so vast.
All the agile projects I have worked on, are in different domains, trying to solve different problems and have the practices and tools, which are quite different But what has been constant or similar across the projects is, the general problems with software development. And the values really helped us as a guiding light. There have been projects on which the practices have been challenged, but it‘s the values that have rescued us.
Another example from our daily life that I can think of in this context is the values and practices in each society or religion. Why is our society or religion so flawed today? I would blame the people who have blindly followed the practices [which have been highly manipulated over a period of time] without understanding the values and ethics of civilization. If people don‘t question the practices and understand the values, they will soon find themselves down a manipulated road of some greedy person.
What happened to CMM or waterfall? People never really understand the values and kept following their own version of the practices and fantasies.
So please wake up before you find yourself at the mercy of Agile Maturity Model [AMM].