We are a 4 year old startup and are facing few issues (not yet major) with regards to attrition. We have been of the opinion that if we keep paying the employees as per the market standards and provide a good environment, we would have good employee retention rate and better motivated team. Recently after 3 resignations in a span of 25 days, our assumption seems to have been questioned.
We found that our competitors paid hardly 20% above what we are paying to poach our employees and we simply lost them. (I am again repeating, we do not pay less, its just the strategy by our competitors to get our people by paying a little higher first and then later rationlise the salary during next appraisal bringing them to the same level at what we pay. Our working Environment is also good, may be infra is not like MNCs but its far far better than any startup here) We could have held them back offering 25% or 30% but we have a rule not to get blackmailed by resignations. If we budge this time, it would mean that we will see majority coming up with resignations to get hike in salary.
We had a discussion with the HR of another company and she said, don't increase the salary like this because whatever you will be paying someone else will quote higher in comparison to that to get that employee. So higher salary will always be on the basis of what the employee is getting right now. In such a case, if you have not increased the salary like you have been doing until now, you will have an option to counter the offer. Sounded right but seems ethically wrong. She also said that even if all of them decide to blackmail using this tactics you will still save 20-30% to what you have been paying until now. (I could hear her laughing at us for being an idiot).
Now the question is what strategy we should employ. Should we become just like our competitors, waiting for the resignations to come in, or should we be proactive and keep on matching industry standards.
20% more is a lot of money. Of course an employee will pick a company that pays 20% more if he is aware of the possibility.
You insist that you pay market but you're wrong: market salary is set by other companies, not you. Since other companies pay 20% more, that is the market salary in your area.
You can either match it or continue having a hard time finding and retaining employees.
The advice of that HR person is nonsense (not to mention self-serving: while you keep loosing developers they can hire them by offering more money). There's no such thing as infinite salary inflation. No company can offer to pay more than their revenues and profits allow. More profitable companies can pay more but only to a point.
Your seem to handle this extremely emotionally. An employee who expects to be paid according to current market conditions is not blackmailing you. He's just doing the obviously right thing for him.
Salary is a negotiation between a company and an employee. The company wants to pay as little as possible. The employee wants to make as much as possible. The pay is determined by market conditions i.e. how much are other companies paying.
You seem to think that you pay enough but the market is clearly telling you differently.
If you know that the reason you're loosing people because of the salary, then raise the salaries before your employees get angry at themselves that they've spent months for you working for 20% less than they could get elsewhere.
Don't wait until they ask you for a raise threatening to leave. First, I don't believe that's how most people operate. At that point they already have a better offer without the need for further negotiation with you and they'll just leave.
Second, at that point your employee is already unhappy. Even if you manage to keep him by immediately bumping his salary to match the other offer, he still might be unhappy because, at least from his perspective, you were not valuing him properly before.
The best anti-attrition strategy is to pay slightly above the market so that your competition has a problem with their employees wanting to work for you.
20% is pretty substantial. But in the US, salary is important but rarely the biggest factor in choosing to leave a company. Salary will be the factor if all other things are equal, so you need to work on making other things not as equal. You need to build a workplace that is better to work at than your competitors, not just about pay. Do people like each other, spend time after work hanging out. Do they get to work on fun projects, does their opinion matter, are they being challenged, are they continuing to learn. Lots of factors.
I would read this book immediately: First Break all the Rules
http://www.amazon.com/First-Break-All-The-Rules/dp/0743510119 This book has great insight into what people value in a job and how great managers recruit and retain great employees. This is a great book. Read it.
Are you based out of India? If yes, I do empathize with your position. Unfortunately here the salary structure differential is huge unlike say in the US. Take example of silicon valley where a fresh recruit right out of college would make about USD 70-90K/year and the max they can make as an engineer would never cross 2x of that amount. There are some exceptions but being exception they should be left at that.
Now compare this with the job scene in India where a fresher would start at say 250,000 INR/year but the differential is huge and one can go upto 10x that number in 8-10 years time. Given this huge differential of 10x, the salary band is very large and you will always have people negotiating within the range. It is very difficult to retain talent and money is not the only factor. 20% IMHO is not a great hike in Indian context so you should look inside as to what is causing this flight.
Some steps that I would suggest:
Hope this helps.