One of the key measures of a group's success and stability as a unit is its attrition rate. This varies according to financial conditions, growth rate, the economy, management influence, and many other factors, but as a general rule organizations with low attrition rates tend to be more successful and stable than those with high attrition rates. What's a high rate? General principles indicate that attrition rates in a group of 10% or more a year are harmful, and a rate of less than 5% shows solidity. (Compare this to rates in some offshore outsourcing companies where attrition rates can hit 75% a year!)
Some attrition is inevitable. People leave companies, whether they are happy with the company or not. Maybe they want a new challenge, want to return to school, have to move with their significant others, have some other factors that is at play, or just need a change after a while, but people will leave even the very best companies. This type of attrition is acceptable, of course. the attrition that's not acceptable is when people leave the company because they are unhappy. They may be unhappy that they are not paid as much as another company will pay them (even though everything else is fine, money is a huge motivator). They may not like the projects they are working on, and find it either boring or unrewarding. They may not like their team mates, their bosses, or their company management. They may not like the work environment, the building location, or the commute. Some of these things can be addressed, some can't easily. But any situation that causes an attrition rate to exceed 10% needs to be focussed on and addressed as quickly as possible, because changes take time to propagate and get accepted.
The other measure of an organization's success, which few people really discuss but which all managers deal with, is the "deadwood". In any group of people there are those who are in the top ten percent, those in the bottom ten percent, and a huge chink of 80% between the two extremes. The effectiveness of the bottom 10% depends on how you assess them, but in many larger development groups that bottom 10% should be, and needs to be, churned regularly. (Those are the folks who send out resumes every month on Monster, but that's another posting!) It's difficult sometimes to deal with the bottom 10% because in high-performance smaller teams, the bottom 10% can still be better than the average in a much larger development team. A lot also depends on motivation and measurement. As a general rule, though, in larger development groups (say 50 people of more), I am in favor of regular performance appraisals and serious discussions with the folks who are in the bottom 10% about their motivations, needs, and prospects. I've worked with some companies where that bottom 10% are dismissed automatically, but I think that's a bit draconian.
I've worked with many large and small companies over the last 30 years, some world class and some not. It's interesting looking at employees in every company, especially those with stable, solid, and high performance teams and comparing them with the average development company. The former teams are the ones I love working with, but usually end up with the task of taking the latter and converting it to the former over a period of a year or two. And that is rewarding in and of itself.