* Often the financials of a company are "need to know" or obfuscated (Y-Axis unannotated)... * The financials are regarded as irrelevant to engineering (by management, finance AND engineering) * The estimates of where the value lies is often just a spreadsheet sucked out of the thumb of somebody in marketing who already has a eye on his next job. * Nobody _ever_ goes back and closes the loop and evaluate the value estimations and the value estimation process, so the company never learns to do better. * Let a drooling slob of an engineer talk to a customer? You're joking Right?
And yet engineer is all about tradeoffs, we make several per day under the illusion we know which are wise....
That sounds like a cultural problem. From my experience, tools do not solve cultural problems. Leadership changes cultural problems.
I'm saying that it seems to be a problem at the vast majority of companies of all sizes.
But I think the bigger problem is that often developers and management (at all levels) give very little thought into "delivering value" and a lot of thought into "doing whatever they want".
I can't fault individuals (workers, management, or executives) for trying to do what's best for their careers rather than what's best for the company. As a manager, I think management's primary objectives are to set up their reports for success and to figure out how to align their reports' incentives with the company's incentives in the best possible way.
Management, I have seen, often does a terrible job 1) actually knowing what "value" is, 2) figuring out how to measure that they're actually delivering value, and 3) figuring out how to align delivering value with the worker's own incentives.
If you can't do these things, you have NO chance to do agile effectively. It's easy to go through the motions of Agile, but you will gain nothing if you can't define and measure value (and hardly any companies can -- it's not easy!)
But as you pointed out, even if you can accomplish the prerequisites, it's still INCREDIBLY difficult to attribute an engineer to value. You can execute effectively, but be on a project that turned out to be useless. Making the button green might be easy, but because of previous technical debt, making it blue might be really hard, etc...