There is this widely reported emphasis of process and quality assurance methods in indian offshoring companies. To my ears this sounds incredibly bureaucratic and unnecessesary when you work with competent people.
Could it be that this overly convoluted QA process is required simply because individual engineers are not educated well enough, or rather because they never had the time to experiment for themselves, deepen their knowledge and develop their own interests and creativity?
Or is this a perception problem created by the big indian IT companies who see that whole QA methodology stuff as a way to appear reliable in the eyes of western executives?
1 (internal reason). Large Indian offshoring companies (TCS, Infosys, Wipro, HCL et al) have a HUGE workforce, and recruit fresh engineering under-grads in massive numbers. All the bureaucracy becomes somewhat necessary in order to manage undertakings of such magnitude
2 (external reason). Work-quality-wise, there isn't much difference between contracting work out to a TCS vs Infosys vs Wipro vs whatever else - hence this immense pressure on such companies to cultivate and tout such aspects about themselves. And let's face it, when you're farming out grunt work to code-monkeys, you kind of expect a 'monkey see, monkey do' attitude..
Here is my explanation based on my observations.
- The mass expansion of IT in India, particularly in its second decade (late 90's to the present) was the result of the series of credit bubbles in US. Similar to China's manufacturing export bubble. Without the US bubble, the expansion would have happened, but not in the reckless, pell-mell fashion it happened.
- As a result, Indian IT companies hired fresh-out-of-college people in massive, really massive numbers - 25,000 people a year in each of the big 4 companies. Private colleges expanded massively to meet that demand. The analogy is to the US housing expansion (ultimately both were caused by the credit bubble).
- Competence arises for a good part from experience. To visualize this, do a thought experiment: how would your team look if you substitute every team member with the same person but as they were starting out fresh. A good part of competence is simply knowing the skill & aptitude make-up of every team member. When everyone is fresh, that vital knowledge is absent.
- So the Indian industry came up with a "solution" so fresh recruits don't cause too much damage: create rules and procedures for everything. Bureaucratize. Alas, that "solution" imposes a long term toll on culture of the company.