One idea that has been on my mind recently is the Arts Digita (and other) system where you have small teams that work directly with the customer. If they do well, they will get a bonus, if not, then everyone knows who is at fault and things need to change.