31 Jul 2009

Why offshoring works

Contrary to the popular believe in developed world, the outsourcing actually works quite well.
Let's face it - if all companies were worse of after outsourcing, then the practice would have died long time ago. But it didn't. In fact, now even more companies are outsourcing their work to offshore companies (most to India and other parts of Asia). Nowadays, not just IT but every other sector like law, education, engineering etc. being outsource regularly.
Since I am on IT sector, I can only vouch what is happening in this segment.
The traditional IT jobs in UK are very much based on imposed responsibilities. It means, employees are designated to work particular task – like developer will only develop the code, tester will only test, support personnel will just execute (without much thinking) and Business Analysts will only look at Excel charts. Moreover, managers won't have a clue what their development team is working and System Architects will have no idea of what it feels like working in a particular technology.
Most UK IT firms refuse to accept the fact that IT sector works based on role based responsibilities rather than designated based ones!
In Indian IT companies, same person invariably works like developer, designer or even in project manager roles. Not only it helps to understand issues faced by other team members, it also avoids boredom.
Support jobs are always boring. Testing is like necessary evil – not many people want to do it yet it is absolute critical for any application to undergo rigorous testing. I hate the typical project manager's question – how much percentage of the work is actually completed. Gosh, when will they understand that it is not a linear relationship? For first few months, there may be only 10% of work done. But in last month alone 90% work can be completed. How is that possible? Quite easy. When a project begins, lots of questions are left unanswered. The application is developed with voids in between. Now that application is as such worthless as it can't be put on practice for its desired role. But, when the voids are fixed, then application becomes fit for purpose. Till it happens, it is very difficult to give a percentage completion report.
I remember, one of my former project manager stopped asking me this question when I replied – it is just 43.3976% done and progressing on a logarithmic scale.
Ok, coming back to our off-shoring topic. So far we covered boredom and role rotation philosophy. But that is not all.
In India, most development work is done by fresh graduates (out of universities). They are quite happy to work at lesser salary (even on local standard compared to experienced people there) but with not unacceptable quality – because most of them are quite eager to show their expertise in programming logic.
However, on western economies, since people tend to do same work for decades, they usually attract higher salaries (local standard) with out much quality improvement. One reason here is that you can't discriminated based on age – which is quite the opposite in outsourced countries.
Since off shoring companies employ fresh candidates without real life experience, there is always a chance that they will produce junk output. However, this is taken care by strict adherence to standards. It is shame that many UK companies just don't follow any standards at all – almost everything is ad hoc!
The managers probably here don't recognize that just by implementing rigorous standards alone, a lot of time and money can be saved.
Standard implementation is complemented via documentation. Since people working in project are separated by several hours of difference time zone and no face to face interaction is possible – the onsite system architects have to be extra cautious to avoid any ambiguity in design documents.
Yes, sometimes it means spoon feeding everything to offshore team. But it works in longer run. The design document becomes so much fool proof that anyone can just blindly follow them and get things done.
Of course, there is cost advantage as well. But what I discussed here are just some other aspects of off shoring.
I shall continue this discussion later.

9 Jul 2009

How Google makes money?

I know, you will jump and say from advertisement, isn't it.
Yes, they make most of their revenue from advertisement - nothing special about it. But the question is how do they do it. Is it all fair for rest of us i.e. netizens?
You are already aware that when you search anything in Google, a colored horizontal and vertical (on right) column are displayed which says sponsored links. Obviously Google does take money from those companies for displaying their ads in web result. But users are clever and they rarely click on those links. Just ask yourself, how often do you click on those links?
But people, although the number is very small - approximately 1 click on such ads for every 1000 page visits! However, Google pages are accessed by millions (if not billions) of visitors every day. So, for Google, even 0.1% such clicks do bring huge amount of revenue. But sometimes Google does behave unethically. You can be a member of Google's adsense and put ads on your own blog (like this) and Google promises to send you money when user clicks ads on your page. But the catch is, you won't get payment until your account accumulates $100. For a small website, it will take years to reach that stage. So, all these years, Google will get revenue from advertisers but won't pay you anything for displaying them in your page. No worries, after you reach $100, you'll get the money - isn't it? Well, here lies the ugly bit. Google can (and they do) terminate your adsense account at any time if they think clicks are not legitimate. Still it seems reasonable, as you are not supposed to click on your own ads (i.e. they can track from which IP ads were clicked etc.) But even then, Google can terminate your account at anytime without giving you a reason at all. Well, they do - they did it with me. Then I searched on the net whether other people have similar experience and yes, they have done it with millions of people! They claim they would return money to advertisers but how do you know they have done it in practice?
Not very nice, is it?
The story does not end here. Every time you search anything or use Gmail, or Google Toolbar etc., Google stores information of your activity. There is no time limit how long Google will store that information. They can store it forever. Then they sell these information to 3rd parties for market analysis (does the word Google Analytics ring bell?).
Google bots scan your emails (if bots can do it, any one in Google office can do as well), it displays some ads on your inbox title bar based on what you typed in your email. Google's Chrome collects all bits of your web browsing info (that's why I don't use it but I still use Gmail though).
Google never discloses what algorithm it uses to check invalid clicks adsense account, how to rank websites, how it uses user net surfing info etc. In a nutshell, Google is never responsible to anyone for its activity.
Are you now afraid of searching anything using Google?
I am sure you will now ask me if I am recommending not to use Google at all. Well, it's your choice really. All I suggest that you don't put all your eggs in one basket. Always use some alternative emails, alternative search engines etc. That's it.