http://www.quora.com/Software-Development-Methodologies/What...
Personally, I think it's the only long-term solution to this bilateral matching problem: engineers can't find good work, employers can't find good engineers. The problem is that most software engineers are indeed unskilled (and therefore few companies are willing to start interesting projects that might make use of skill) because high-quality work is so rare. It's a vicious cycle and open-allocation is the only way I can see of breaking it.
If they're intrinsically motivated, engineers are worth millions per year. If companies left them alone and were able to capture even 10% of their true potential, they'd do better than any closed-allocation shop.
There's an indirection that occurs whereby engineers apply to companies-- not specific projects or work sets-- and (until they've been at the company for a while and can change jobs without embarrassment) relinquish their right to choose what they work on. (A certain once-great search giant is notorious for abusing opacity.) They have no control over how they start in the company, and if they're not especially socially skilled, this will determine what kinds of projects and opportunities they get in the future. This indirection gives a lot of power to middle managers, who don't have the vision or inclination to design and allocate work in a way that would enable engineers to have real careers and improvement, and the result is an industry where stagnation, burnout, and middle-age obsolescence are the norm.