> frequently think it's "impossible" to make software that addresses and solves the issues of all groups.
I find this increasingly to be the case.
The fashion now is to do everything with MVPs and sprints.
The big hidden assumption with this style of development is that any problem can be solved using incremental 'local searches'¹ through the design space.
This is definitely not true, especially for co-optimization problems like you describe above².
1: https://en.wikipedia.org/wiki/Hill_climbing
2: "Solving the issues for all groups" appears like a meta co-optimization problem.
What should be rewarded is the skill necessary to architect software in such a way that it is easy to maintain. I often say to myself, does this decrease the effort needed by the reporting team to create reports? Does it isolate features and make it easy for devs to find the source of issues and fix them? Is it modular enough that users can expect a quick turnaround time for new features?
What I've found is that many developers, even those who believe they should be seniors and above, are unable to think from this perspective, or frequently think it's "impossible" to make software that addresses and solves the issues of all groups. In my experience, it is never impossible, it is all about having the right architecture, which can takes weeks to fully think up and realize, and may still change afterwards, but the design of the software is what I usually choose to reward.