Autonomy within an organization sounds novel for morale, but it's a major shift from today's business culture. Strategy would also be incredibly difficult to execute. Organizational leaders need to be able to align their people down a common path.
If autonomy is the end-goal, start a company or go freelance.
It's a major shift I agree... but it's a great decision if executed correctly.
Every company has a set of main goals that imply that development can't be completely autonomous, but hiring good developers is not just about code it's also about people with a vision and a sense of purpose for your product. Take the way Github works for example: at the end of the day their main goal is an accessible hosted interface to git, to make git version control easier and ubiquitous; nevertheless having that main goal does not stop their developers from creating new features (say for example a desktop client) that make the product better though it may or may not directly translate to their main goal.
If you have a company that develops software and your developers have the autonomy to work on things that they actually believe will further increase the companies value (be it an interface change, bug fixes, or the refactoring of bad code) you will most definitely have a better result than if you make people work on things that might not be their forte or that are uninteresting to them.
Now I don't mean that people should have a complete free reign of the product, as some things are too important to forgo because no one wants to do them, but giving developers the chance to work on things they actually believe in as opposed to things that might not translate to creating value in their minds can go a long way towards good morale and retention, and un-doublty a better product because of it.
I agree that people who want outright autonomy will need to go off and start their own companies, but right now, typical employment terms for software engineers are outright bad in comparison to what they could be:
* mediocre compensation, especially considering the horrific costs of living in the places with the strongest economies.
* low autonomy, respect, and opportunity for advancement due to a scope-of-work defined to commoditize rather than grow engineering talent.
* low job security or transfer opportunity, which is the main reason for working for a large organization.
I believe that this arrangement exists because most software engineers lack the skills to negotiate for better terms.
Realistically, we need to improve organizational and independent employment at the same time. Market dynamics will corrupt one if the other is bad. Fixing one while giving up on the other is not a workable strategy.
If autonomy is the end-goal, start a company or go freelance.