Dave Donaldson

Critical thinking in software development

Search

Advertisement

Subscribe

Follow Me

TwitterCounter for @arcware

My Tweets

  • Just went flying off the road. No lie. More soon.
  • Planning to watch the OSU-MichSt in the bar, if anyone wants to join, but will be late
  • Geeking out with @fallenrogue and @danhounshell on way to #codemash
  • Watching Spongebob while I wait for @fallenrogue and @danhounshell.
  • Re-syncing my entire 30GB Zune.

Offshore Developers Have Higher Defect Rate?

Tuesday, May 04 2004

In a column today by Peter Coffee from eWeek, he talks about a report that debunks the notion that programmers from India have lower bug rates than their U.S. counterparts. He goes on to list some excerpts that he got flamed in email from a previous article:

  • ... “In one failed project that had been staffed from that country, he found "uniformly atrocious" code with "almost a complete lack of error processing.
  • ... "Additionally, when the fix is finally completed, there [is] a significant amount of errors that must be repaired in the 'fixed' code.

I have experience in this arena, and can back up the issues Mr. Coffee's readers pointed out to him. About two years ago I was acting as a technical consultant to a project that had almost all the web development being done in India. During crunch time there were daily meetings to track progress of the development cycle. During this time I began reviewing the code being produced offshore and found that the code was also "uniformly atrocious". It was some of the most poorly written code I had ever seen. We had assurances early on in the project that their best and brightest were working on it, but if that code was written by their better developers, they were in long-term trouble. I've seen competent interns write better code than that.

Needless to say, I raised serious concerns to management, but for some reason, they wanted to continue on and make the offshore company fix the bad code. There was some merit to the idea (after all, hold them accountable), but it just didn't work out. In the end we had a big meeting where I made the recommendation to throw most (if not all) of the code away and start over - in house. Even if we would have accepted the code from offshore, we'd have had to rewrite it anyway. It was a hard pill to swallow, but it was the right decision.

That being said, that's just my experience with one serious development effort using offshore resources. I know some very, very good developers from India, and a couple I ping when I can't figure something out because they usually can. I guess the point is that there are some good notions with utilizing offshore developers, but proceed with caution just as you would with any in-house project.

Similar Posts

  1. TechEd 2005 Recap
  2. Clarity
  3. Decreasing Developer Ramp Up Time

12 comment(s) so far

"they wanted to continue on and make the offshore company fix the bad code."



Ok, so the offshore company *proved* that they cannot write good code, so let's take them to task by making them fix their bad code. Ummm, what are they going to replace it with? :)

Darrell: that was exactly the point I made at the time, and it was hard getting non-technical managers to understand that. They were being told by the vendor "we've brought in our senior architects to fix this" and thought it would be OK. But that's who was supposed to have been writing the code all along. Crazy.

Jennifer Square wrote on Thursday, May 06 2004

Don't forget: The offshore companies hold up their prized process designations, for example, CMM (Capability Maturity Model) and others, but in many times, CMM doesn't mean anything; and it comes down to many experiences such as Dave's.



The offshore company may be a CMM Level 5 company, but their customer may not be. What ends up happening: the offshore company must adopt the process of their customers. When in Rome, do as the Romans do, and Level 5 goes out the window at that point. CMM and Six Sigma? Just more names that executives latch onto when trying to differentiate. Looking for a quick fix, they jump on board. (A good book about the quick fix management mentality is Managing Beyond the Quick Fix, Kilmann).



In CIO, I have seen several articles mentioning techniques and strategies to review offshore companies before hiring them. One recent article even commented that companies inflate their CMM designations, and advised executives to look past this. The best thing an executive could do is get the offshoring company to conduct a small coding assignment in house under tight deadlines, then have your best technical people review the coding.



Some of these offshoring companies will have competitive advantage in the industry, but they probably can't sustain churning out crappy code for long. These companies have very bright people (trained in engineering, etc.) working for them, and some of these companies pay for a person's college education while the person signs a contract to work for them for a certain period of time in the future. Many American companies could do something similar, considering the increasing cost of education. Americans and Europeans could learn a few lessons from these companies.



One of my Indian friends said he would never work for one these "sweatshops." The Indian companies have a different philosophy toward work/life balance and supervising employees. Many Indians do not question management decisions, for example. On the other hand, many Americans feel comfortable questioning the decisions of management, or giving input to management.



After speaking with students in one my MBA classes, I doubt whether any company in any country has mastered the software development process, or the issues of quality that Dave has mentioned. The Indian offshoring companies may have a few more success stories, but we'll see. All of our experiences are too much alike, and it's scary. Failed implementations, money spent, crappy code, long hours, and frustrated users all seem to be the norm.



My prediction is: the offshoring experience will breed a guru similar to Dr. Deming (an American) who helped transform Japanese industry after WWII, most notably the auto industry in Japan. Japan then kicked Detroit's arse, and the American companies were slow to adopt his principles. Companies, such as Ford, still have not recovered or have not been able to match the quality and reliability of such brands as Honda. The Honda of software development is probably on its way, and they won’t bother with overrated certifications and quotes from Jack Welch on their web site to get customers. They will count on satisfied users, customers, cost savings in business process, and applications aligned with business strategy.

Sorry my trackback got messy, this site I run is written in Japanese...



Offshore development is happening in Japan, too, but in my impression


it's not very popular yet.



Prominent issue is communication(they have to speak Japanese, not many


of us can speak & write in English).


And too few people can stand in the middle and manage things.



Due to high labor cost here, offshore dev has caught some attention among


economy-related medias. It's like 'They can do the same work in 1/3 the cost!


Companies who don't do this will die!' sort of tone. (A bit exaggerated.)



Well the resession has caught this country too long.



And *can* they actually do it?


Apparently some can, and some can't. I've heard both cases.


Offshore companies span from China, Korea, India, Bangladesh, etc.


As for the cases that went bad, mostly they just throw away the code


and rewrite everything.



For good cases, I think the manager does a good job and keep things


under control, qa, acceptance, so on.(Again, there aren't enough people


who can do this with foreign firms.)



Guess you're lucky if you could find a right partner on your first shot...



Mark Loper wrote on Thursday, June 02 2005

I have been involved with five medium to large scale development efforts to REPLACE projects that were developed in India. Four of those five projects were scrapped on delivery and never put into production. The one project that was put into production required a dedicated resource to monitor and reboot the servers. On average, the server running this application needed to be rebooted 2 to 3 times PER HOUR. To be fair, all of this occurred prior to 2001, so perhaps things have improved, but I doubt it. I think India's talent pool was completely drained by 1998. Anybody that was any good at all had already made the trip over here by that time. Most managers don't want to admit they were boneheads to outsource in the first place, so they try and try to make it work. Eventually they throw tons of money at the problem to make it go away, so while American programmers may not get the first crack at a project, they often end up making more money fixing the problem than they would have made doing it originally. I suppose it all works out in a weird kind of way. Also, does anyone think that CMM ratings cant be inflated by the evaluators. I expect that local assessors are used. But finally, I am reminded of an article that I read a couple of years ago about how American consulting companies like IBM were moving into India and forcing the domestic companies out of business and using the leverage to drive down already low wages. One programmer complained to the author how unfair that was. He complained that he had studied hard for 8 weeks to earn his degree and he wasn't being compensated for it.

Mark - Wow, thanks for the comment. Definitely an interesting read.

Rmar wrote on Monday, August 08 2005

I find the majority of these comments highly biased and am amazed at the statistics being thrown around, none of which cannot be substantiated.



As somone writes ... " I doubt whether any company in any country has mastered the software development proces " , the same hold true for Indian software companies. The majority of them do extremely high quality of work and costs that are lower due to cost of living differences between the east & west.



Jennifer Square - The comment, "One of my Indian friends said he would never work for one these "sweatshops." " is ridiculous to the point of amusing. I have worked in Ontario, Canada at a startup technology firm for over a year, a large software company (again in Ontario, Canada) and in Gurgaon (one of the 2 hearts of Indian outsourcing). The HR practices at the Gurgaon offices were far superior to both my experiences in Canada. Now, I'll acknowledge that the settling in process at each company was smoother at the Canadian firms, but each of these are short term ssues from the perspective of a person's career. To call an Indian software development company a "sweatshop" destroys all credibility of the person who quoted it and speaks volume of what all the person who posted it will believe. Last year, Wipro, one of the leading Indian outsourcing firms won the the American Society for Training & Development’s 2004 award, an award the recognized inhouse process geared at enhancing employee experience & lives - and no, I do not work for Wipro, there are several such examples I could quote from the last 5 years, this is a significant one that comes to mind immediately.



CMM, PMMi, etc. designations are inventions of the West & hold value. Do they replace due diligence when choosing an offshoring partner - of course not. Don't for 1 second think you can absolve incompetent managers who did a poor job in their due diligence for the sake of blaming the offshore partner! As in any partnership, initial steps are required to ensure both sides understand and are capable of meeting each others requirements to ensure the final product meets the required standards. The same holds true for any offshore outsourcing engagement.



hir - Offshore development is most certainly originating from Japanese companies but at a slower rate. Why? Simply because of language considerations and the more relationship-based nature of Japanese business vs. the more transactional culture in American/Western business.



Mark Loper - which company are you with??? Who were your offshore partners? Was it one of the major Indian software companies? If you guys failed 4 times out of 5, frankly I think your team and the company you represent are extremely poor at learning from your mistakes. 1-2 projects failing should show you enough points of correction to create some success beyond that. You are ABSOLUTELY WRONG ABOUT IBM, ETC. DRIVING WAGES LOWER - wage inflation is one of the biggest costs hitting the bottom line of the major Indian software firms! Have you ever looked at the number of job-postings on an Indian software company site - unlike the West, its an enormous employee market, where all kind of incentives are being thrown around to retain employees - and hard cash is one of them! Sure, its not the days where xyz.com gave you a Mercedes from signing on as a junior programmer after 2 years of college, but jeez, what the heck ever made you think wages are being driven down in India???



Gain some perspective before you post. And find out the facts first. Some of you are


embarrasing yourselves by putting up those kind of posts.

illusion wrote on Monday, August 08 2005

Lets see the most basic business model :



Whats saves money - lower developemt cost



What makes money - a good product



what has higher weightage ? any guesses ?? no need to strain the brain, its a good product!



Over the years, the business of software development has been shifting base towards countries such as India, Romania, some eastern europe countires etc. Attributing this towards low costs would be incorrect as a cheap product that doesnt serve any purpose is more expensive than a costly product product that serves some purpose!



The global industry takes a natural course that optimizes quality & costs at all times. Its the law of the jungle, survival of the fittest or Darwin's theory of evolution. From whatever perspective you see, the answer compels you to think that there has to be some reason why the business is going their way. Respecting competetion is the way to improve oneself.



From countries that were missing basic emenities of the west have risen great minds of such immense calibre that they have changed the course of technological development all over the world. It is not that the west is in lack of brainpower but the will to exert is what seems to have decreased. It is one of the banes of a developed economy, individuals do not have to exert too much for a basic standard of living which is the exact reason why a lot of people in the developing countries in the first place choose to persue higher education. And with fewer options of higher education available, what comes out is the finest of brains from a huge population.



Aproach any situation with an open and objective mind and you would find an answer that has logic instead of bias as its basis.

samana wrote on Monday, August 29 2005

Most of the articles seems to suggest American programmers are best...


Offcourse they have one of the best educational infrastructures.... but people in developing world who are making the offshoring practical are lhard working... they are not snatching anything from anybody they are earning for their work....


Whole thing comes down to same point.... no matter how developed one claims oneself to be ... people are always selfish and mean......


bye..

samana wrote on Monday, August 29 2005

Most of the articles seems to suggest American programmers are best...


Offcourse they have one of the best educational infrastructures.... but people in developing world who are making the offshoring practical are lhard working... they are not snatching anything from anybody they are earning for their work....


Whole thing comes down to same point.... no matter how developed one claims oneself to be ... people are always selfish and mean......


bye..

Sandra Waterhouse wrote on Friday, September 16 2005

Thanks for metioning the fact that the practice was driving American companies out of business and American workers were losing their jobs adding to our unemployment lines.



Mark Loper, formerly of Carmichael, CA Class of '65?

There were other cheaper sources available for IT but India triumphed because of the apex education levels, the numbers and their single-minded focus on quality, and innovative spirit of the Indian people. Indian IT companies have tough domain knowledge, global experience and brand equity globally in the software services zone.



Jim


Tatvasoft


http://www.tatvasoft.com

Post your comment

Comment