What to do... Life's like that...

Wednesday, October 12, 2005

India: Why not software product development?

Recently, MSR opened its first research center on Indian soil in Bangalore (Scientia). Craig Mundie, CTO and Senior Vice-President of Microsoft Corporation who was present on the occasion said that, India, though a software leader in the services sector had still a long way to go in product development and innovation. A few tabloids were accused of misquoting him to be saying that Indian engineers are "theoretical" and lack the imagination for innovation.

I agree with Craig when he says that the Indian engineering curriculum should be made more product development oriented with emphasis on business related aspects of technology. But that alone is not going to solve the problem. I've tried to analyze and enumerate a few reasons on how we can change the trend. It may not be comprehensive but it is just a start.

Every year India produces thousands of computer science engineers from undergraduate institutions across the country. The quality of education in these institutions is decent and a lot of breadth topics are covered. But the topics covered are quite obsolete (atleast 5 years behind the US). I agree that the fundamentals cannot get obsolete and should be preserved in the curriculum, but there are so many other courses that could be ramped up and made current. Most universities don't change their curriculum for 10 years or so, which is not the way to go in rapidly changing fields like computer science and IT. Universities have to keep their curriculum up-to-date every couple of years. The effort is on, as we see a lot of Universities trying to become autonomous so that they can have control on the curriculum rather than stick to the curriculum dictated by the government. Courses that are fundamental in nature must be accompanied by well equipped hands on labs. It makes a huge difference in understanding when a fundamental concept is taught with the demo of the concept. There are labs accompanying courses but most of them are not well maintained and current. Successful companies should be encouraged to collaborate with universities. The collaboration could be monetary, funding for infrastructure or training for students like internships and co-ops. This is being practiced to a certain extent but needs to be increased.

Graduate studies within the country should be supported, encouraged and made financially more attractive. We see thousands of people leave the country to get higher education in a foreign land. The reason being that grad studies within the country doesn't make them financially independent for around 5 years or promise them of a very bright future worthy of investing five years in it. More funding has to go to higher education within the country. Native universities must collaborate and join the network of foreign universities. There are certain institutes like IISc that have considerable collaboration with foreign universities, but the numbers must increase. Collaboration would bring in awareness of what is happening elsewhere and bring students closer to the bleeding edge.

Cost of development tools and products from the industry must be subsidised to the student community. The cost of education in India are quite low compared to costs elsewhere and there is always a reluctance among students (and parents as most students don't fund their education till they finish college) to invest on software that costs more than their tuition expenses. A public college (funded by the government) would have tuition fees of around 50-100$ a semester, while Visual Studio itself would cost a whooping $600. Open source software is very popular among students because of these reasons. Even piracy is heavily prevalent in the student community. The general attitude is not to spend money on something that is intangible, like software. The business model of how a software product sells is less known. Most of the budding product development aspirers in the country have a small investment to start with and developing platforms or complex applications is not an option. The best way to go would be to offer software as services (web-based) or as the current trend goes opening a BPO or a services company.

Socially, technology is slowly seeping into the day-to-day life of people. Moms and Dads nowadays are becoming well versed in basic software skills, like document editing, e-mail and browsing the Internet. Broadband is becoming a part of every home and office. The world is becoming well networked. This should encourage entrepreneurs who believe in "software as a service" paradigm. As technology percolates among the society it becomes encouraging for indigeneous entrepreneurs to tap these markets. 1/6th of the world's population is in countries like India and China and this market is nearly untouched. We see software giants establishing research centers in these countries to harness intelligence and deliver products for these markets. I think the focus should be on product development for this huge market base in South and South-East Asia, rather than the markets of the west as it is now. There are a few ventures that have tried to do such a thing, but the numbers must again increase. For example, The "Simputer" was developed at IISc, that provided a low-cost reasonably high end computing device. Infosys has an accounting package "Finacle" that is widely used in banks across South Asia and seems to be doing well.

When I was in India last time around, I had gone to a seminar where Microsoft's Small Business Server was being evangelized for Small and Medium scale businesses. The number 1 grievance by the customer (proprieters and MDs of small scale industries) was the lack of support for the software that was developed by local product development teams. The common complaint was that support developers who deploy the system within their company find better jobs in the service industry within days because of the booming job market. It is not enough to develop the product but the industry must not lose focus on its sustenence.

India has the potential for software product development, but it would need the right focus from the industry, the right policies from the government and the right mindset in the society. Signing off till next time.
share this: facebook

Friday, October 07, 2005

The Concept Of Insourcing

I had watched a webcast of Tom Friedman's talk on Globalization (Pulitzer prize winning author and an international affairs columnist for the New York Times) and heard of a concept called insourcing (new to me). One of my friend's blog has the details of this talk if you're interested. But my research gave me different flavors or definitions for insourcing.

Variant #1 (Friedman's definition)- Sub contracting:
According to Friedman, many big corporations, sub-contract their internal logistics to companies like UPS, this he terms as insourcing. The favorite example he quotes is the one where a person buys a Toshiba laptop and finds it broken, the warranty instructions tells him to go to an UPS station and package it back. The laptop leaves the local UPS station and goes straight to the Louisville Aiport in Kentucky where a person wearing funny brown shorts (an UPS employee) repairs the laptop for you in a clean room within the airport hanger. Toshiba employees do not even sniff the laptop that they sold, because all the support operations are "insourced" to UPS. The same is the case with Ford Motor company where the companies internal logistics are insourced to UPS. Nike does the same thing too for their online shopping section. Placing an order with www.nike.com, dispatches the order to an UPS employee who picks up the shoes, packages it for you and delivers it at your doorstep. Similarly, your favorite Papa John's pizza truck is driven by a person in funny brown shorts whose colleague usually drives a brown truck. So insourcing is sub-contracting an internal production step or process to an external entity who specializes in the process.

Variant #2 - Harnessing "foreign" intelligence:
An article I found on the web talks about this second variant of insourcing. According to this definition, a company that opens overseas operation is supposed to be insourcing if it doesn't open the center for cost efficacy, but for harnessing diversified intellect from the foreign land. We have seen this trend in the recent past where companies like Google and Microsoft have opened research divisions in India and China, where there is no dearth for research talent. Lot of research funding goes into these centers and they are not treated as second-class centers anymore because of the potential markets these countries could offer in the near future.

Variant #3- Antonym of outsourcing:
Outsourcing can be defined as the migration of the parent company's jobs to a foreign company that fulfils the job requirements offshore and generally does that at a lower cost. Insourcing, according to this definition, is the development of new jobs in the native land because of acquisitions or new ventures by foreign companies in the native land. The proponents of this form of insourcing argue that the number of jobs in the native land increases because of this. In fact, this is an ongoing debate in the US with Diamler's acquisition of Chrysler and is used in the defense of outsourcing where jobs are lost to a foreign land. But there is always apprehension of colonization especially when basic necessities (like utilities) or infrastructure development is insourced or the foreign company takes interest in the political situation of a country. This kind of insourcing was how colonization was started before the 19th century. If we take India as an example, The East India Company is nothing but an insourced company.
share this: facebook