When Evan, the CEO of company X thought of hiring someone to do the software development job for him, it was triggered by a chain of thoughts – mostly intertwined.
Company X had been in operations since a long time, about a decade now. The margins were outstanding and the business shot thru the roof when X was completing the first 2 years of its existence. Then it was a business decision whether to stay focused on that core skill and technology and increase revenues by more people in that area or to diversify into newer areas. And it was not very easy but then the founders tilted towards diversifying more. And then there was a spurt in revenues more for couple more years but slowly they realized the perils. The revenue per person from the company was getting lower and that affected the margins. Initially, since it was an experimental thing – they had overlooked the revenues per user to get it started but now that it had stabilized, when they got back to the drawing board, they saw that it would have been much better if they would have stuck to their existing skills and technologies. But then it was not very late.
The next thing which came up in the discussion was outsourcing. Not that outsourcing is new or untested but then Evan and his partners never did it because it was a mixed reaction to that subject. Evan personally felt that if they outsource work – they have to have the quality check processes stringent. Others felt that outsourcing will waste a lot of time in managing the resources. Some even thought of credibility issues and discussion went on and on. However, every one knew why they were discussing about outsourcing today – the single purpose was to increase the margins.
At the end of the discussion, the first thing which the team agreed upon is to find credible companies to talk to in the exploration stage. Strangely, all of them looked equal – some have shiny websites and some had just one pagers but then the spectra of companies in between was overwhelmingly large. To decide on what is the differentiating factor, Evan and company handpicked companies based on their shortlisting criteria. Of course they read the feedback about the company on blogs. Only after they exhausted every thread in Google about the companies – that is when they decided to go ahead with companies.
What they realized in the first few weeks is that they have to spend time on training the resources because that is when the offshore resources would deliver quality. They were happy with the work but what they realised was they are spending a large amount of time doing the coordination part and that is virtually rubbing off the marginal gains they planned from outsourcing. Instead of developers working in house on the project, now the project manager’s time was being used in the coordination which was not very promising. Then there were issues with the quality testing and finally with the timelines and they suspected same person timesharing his day between multiple clients while Evan and company were promised dedicated developers. Finally they realized that to have the company locally would be a solution – they would save on the PM’s time, spend a little higher than outsourced company but anyways less than inhouse development.
They hired company Y locally.
It turned out later that Company Y is outsourcing portion of their tasks to offshore locations to give reduced rates to the local US companies. Now company X still got the job done and the best thing was the management part was reduced significantly because the local company Y worked in the same timezone, couple of blocks away from the office of Co X.
Summarising, It is not just about working locally or working with offshore companies. It is of course about saving costs (if you dont save atleast 30% of costs, it is worthless to even think about outsourcing) but it is NOT just about saving costs. It is also about saving time on coordination. It is also about maintaining the quality of deliverable to your clients. The ideal approach – Unless your project is very small where you can afford just one programmer – best would be to hire a company which can send a person to your office and another person can work from offshore location. That way, you still save on developer costs while the headache is being taken by the person who sits in your office. Interesting model? Slightly expensive? Feel free to get in touch with me to know more about additional transparency mechanisms with only offshore resources or increased efficiency with combo model of Glocalsourcing.