I view with alarm, from the perspective of Boundary Objects talk of "business value."
Current "true Agile" assumes that development teams need to… must… are *morally* obliged to… align themselves with business value, with the needs of the corporation, with… people in different Social Worlds.
I think that’s a mistake. I think it’s like if Grinnell of Berkeley's Museum of Vertebrate Zoology insisted that the collectors buy into his particular description of his particular research program. I think that wouldn’t have worked, and I think the “we must all focus on business value” style of Agile won’t work either, not in any long term, not as well as accepting that different values are valid.
It’s just inevitable that different groups of people live in different social worlds, with different values. Programmers care about code that’s easy to work with. The business doesn’t. The current style leaves programmers with two bad choices:
1. Convince product owners that catering to programmer wishes is just Good Business. And yeah, maybe it is. But still, doing that is roughly as pointless as Grinnell trying to persuade collectors that they really should care more about bookkeeping than about animals, and not care about having fun in the outdoors. It’s just… not… going to stick in the brains of most people from the business world, not when the pressure’s on.
2. Basically, abandon your interest in a good codebase whenever the business feels Really Strongly About Something, like a feature that has to be added Now Now Now. I think that leads to a crappy codebase, sooner or later. Early Agile was characterized by a push to establish the development team’s preferences as *relevant*. I think early Agile was very much about a trade: let us (the development team) develop as we like. In return, we promise to make you happier than you’ve been before. It was about accepting other people’s social worlds as… respectable (for them to inhabit) but not *definitive* (that is: it’s OK for us to care about different things.) It did not require the development team to *inhabit* a different social world, and I doubt whether the current tendency to do so is a good idea.