I know in advance that people are going to see this question and think "free Red Bull." But I am actually looking for the best way to tie rewards for developers to the company's long-term goals.
For example, assuming a team is working on the same software product, would it be best to reward each developer based on the condition of the final product? They are a team after all, and this will ensure that they are all working towards the common goal of getting the product out. However, this ignores the fact that some developers are stronger than others and some work harder than others.
In your experience, what is the best way to incentivize a team of developers?
I really appreciate the strong response I've received to this questions. I thought to ask if after watching the movie Inside Job, which is about the causes of the recent economic crisis. One of the major factors the movie cites is that there is a poor incentive system on Wall St. Investors are rewarded for making money in the short term, even if their actions can be disastrous down the road.
I think this same concept applies well to developers. There is a short term gain in getting a product out as fast possible, but there can be major long term headaches if that product is buggy or if it doesn't port well to other environments.
Ideally, any company in any industry should want an incentive system that ensures the long term stability of their products.