Software outsourcing to India: Benefits, cons, top companies