a few years ago I was in Bali for fitness training. While watching TV late one night, I came across a documentary on the construction of the subway system in Amsterdam. I vividly remember one of the engineers interviewed, saying: "It is impossible, but we'll do it anyway. " When I think of some aspects of outsourcing, I remember this statement, because they are definitely some tough challenges in getting the outsourcing business, but I believe it can be done.
I should start by saying that I am by no means a body to work with outside developers, in fact, I've only done it for several months in total. My brief experience with outsourcing has been found both good and bad aspects of the approach, but more importantly, opened my mind to the possibility. I have noticed that some people seem to be against outsourcing personal reasons, and it is certainly of great importance.
In a way this article was to render a piece on outsourcing I have recently read. article in question is Michael Bean and called TRAP outsourcing programmers. This is one of the selected papers gathered in the book The Best Software I write - Selected & introduced by Joel Spolsky
.Am I to attack what the author has to say in the article? No way, it's very well written and full of insightful information. Some knowledge of what the article about the need to understand my perspective on this issue. I do not want to re-write the article, so I'll just cover the main points very quickly.
Michael Bean discusses the following ideas:
There is a rush in recent years for American companies sending development tasks to India, China and Eastern Europe.
Software development is the production design does not. Therefore, based on his creative nature, it is not something that should be sent off-shore.
people pay for "value-added services or products. If all aspects of the company offering (from production to customer service) are outsourced, they can not really give customers what they want.
outsourcing customer service is the equivalent of saying you're not interested in hearing what you have to say clientele.
the motivation behind setting up the massive IT workforce overseas goes like this: "If Nike can do it and the shoes, we can do it with code ".
", but you are taking away jobs from Americans" argument is spurious at best, people in India or wherever they have as much right to work as anyone else. We live in a global economy, after all.
When a business outsources innovation-related task, they give away their competitive advantage. Over time, the company will lose its ability to innovate.
Innovation suffers when people are spread in different countries, because they can not communicate effectively.
outsourced programmers are not around for long. They tend to disappear when the project ends up taking them any expertise they have gained.
fully outsourcing all their development is a bad idea (ie both design and coding of software ).
The difference between U.S. and Indian time zones means that there is no overlap between their work hours. This makes communication even more difficult.
Create a software is more about the design of the assembly. ability to design is also considered an uncommon skill.
This is basically the crux of Michael Bean's article. I've done my best to keep your core idea, but obviously there is a risk of misinterpretation.
I have to agree that it is undesirable to outsource all (ie both design and coding). The Michael Bean's article, he does not really go into what he meant by design. For me, the design means the functional specification (ie how the software will work from the user point of view ).
Would you trust the outsourcer to write a functional specification? But this is not meant as an attack on the skill of foreign programmers, it's just unreasonable to think you can get the distance correct spec without meeting the client face-to-face. Would you trust external developers to create software based on one of my glasses? Yes, definitely.
other problematic aspect of Michael Bean's article is that it does not explicitly mention the division between the wound to reduce software development and custom software projects. This is a big consideration. If you areare trying to to reduce production costs ,then foreign developers are very well suited to custom development (and yes ,maintenance is a big problem ,but it is a big problem with normal companies anyway ). Reduce operating costs can be very real concern, if your business has investors or venture capital.
there is a strategy for external developers to work on the shrinking-wrapped software, for example, some Indian companies offer dedicated teams that work only on software, they even come complete with their dedicated Project
That's true, you're a communication will be hit, it was inevitable. But you do not get something for nothing. If you want to produce software for 50% of the normal price, then be prepared to put up with some discomfort.
Fortunately, Australia does not suffer from the same time zone issues to our American friends have to endure. In my experience with Indian programmers, I found I started to mix for about 12 hours, it's just fine as I'm concerned.
Communication and project management tools are very important for successful work with outside developers. MSN or other instant messaging software is the key. I remember that three different IM software running on your computer at one time, so keep in touch with everyone on their projects. project management tool like Basecamp is also very useful. bug tracking system is another great idea, and on-line schedule can be viewed by everyone will make life much easier.
Perhaps this is a bit simplistic, but it seems to boil down to this: the outsourcing results in cheaper software development, but in-house team to produce better quality software
.
No comments:
Post a Comment