"Work on what you think is important" is a fantastic policy with the right people, especially if your developers are also users of the product. Where it falls down is when the team grows and the "not right people" get added to the team.
I've seen developers work on just completely the wrong stuff, and their entire salaries was 100% pissed away, or in some cases, even more than 100% because they added net-negative value.
You really need to optimize hiring the right people with the right mindset and have a good team lead/manager which balances developer autonomy with business interest. I have thus far not seen it work outside of fairly small teams, although I agree that in principle it's the best way to make a good product and keep your developers happy.
I've seen developers work on just completely the wrong stuff, and their entire salaries was 100% pissed away, or in some cases, even more than 100% because they added net-negative value.
You really need to optimize hiring the right people with the right mindset and have a good team lead/manager which balances developer autonomy with business interest. I have thus far not seen it work outside of fairly small teams, although I agree that in principle it's the best way to make a good product and keep your developers happy.