As advocates of agile software development we focus on practices.
The hype on those practices is they produce software, “faster, cheaper, better.” And we sell our efforts with the promise of, “delivering value.”
We speak of value as if the definition is shared, self-evident, contained within our backlogs and measured by our burn ups.
At the same time we minimize the hard and long the struggle to achieve mastery, identify and address a material need, and sustain creativity and quality.
So, we win the opportunity to labor with our teams to incrementally deliver potentially shippable units of code to stated business priorities.
When those priorities are pointless, so is the software.
When those priorities are tactical and subjective, the values behind agile practice — sustainable effort, maintainable code, self-directed teams, collaboration and trust — become irrelevant.
The truth is there are definitions of “value” that sell us out whether or not material success accrues to someone as a result of the software development effort.
And so, an agile adoption that is true to its participants is an ongoing, perhaps excruciatingly gradual, but substantive conversation with the larger organization on the definition of value.
A set of practices is only companion to the human values that give our work meaning.