Saturday, February 27, 2016

Concerns of a Future TopCoder Client

Q2.
As a client of TopCoder I would be very weary of the possible issues with outsourcing my software development.
                The first aspect is on the security and control of the intellectual property. Software is a vary integral part of any business; because of that the disruption to the system is very costly for an organization an event that could potentially offset any savings which might arise from using TopCoder for development. As TopCoder reuses already existing code modules for the creation of new software, the potential to be hacked becomes; this is because a solution submitted could unknowingly have been copied from an open-source software or even worse, from a patented source—opening a myriad of security weakness and legal liabilities.
                TopCoder tries to remedy these security concerns by having TopCoder employees review the work that is submitted for potential fault. While this is a good way to mitigate the risk, the reality is that the guarantee of a faultless product is only as strong as the coding abilities of those reviewers, which is something outside the control of the client. To augment this issue TopCoder does allow clients to run additional testing. Along with increased testing TopCoder will only host competitions that develop part of the overall system with the intent of decreasing the risk that malicious code impacting the entire client system entire system. This, along with participants having to sign a confidentiality agreement, is a strong way to mitigate and eliminate the concern of security.
                The biggest factor that I would be concerned about, however, is the growth and size that TopCoder is becoming. TopCoder is currently sustainable but with expansion, its business model might be called into question. Right now all of TopCoder’s solutions are being produced by 5% of their community. As the amount of projects increase, however, the 5% will have to be allocated across these multiple projects and the quality of solutions will theoretically decline as a smaller amount of top talent will work on a given project. Another issue is the with more projects available, those who are reviewing the work might want to compete in them instead, leading to also lower quality reviews.

                While TopCoder says that their coder community will increase as they expand in size, given that there is already a shortage of talent, this assumption can be called into question. Furthermore, given that a great deal of their top coders reside in countries outside of the United States, such as China and India, it will become hard to keep these coders as the wages become comparable to our country—especially when they could get jobs at great companies with comparable or better pay. 

3 comments:

  1. Good article. In my opinion, the first aspect, as you outlined, of TopCoder client concerns/threats has to be the most important. As you stated software is an integral part of any business nowadays. Having software that is unique and that provides a business with a key competitive advantage over their competitors is crucial to business success. With a platform like TopCoder it levels the playing field in terms of business ventures software development experience. Although, it is now easier to get a software dependent business up and running, it is also much harder to maintain an advantage/difference between a competitor if your software was developed from open-source code. By no means do I dislike TopCoder, or the idea behind it. I'm just interested in what effect TopCoder will have on the competitiveness and cessation rates of the businesses it interacts with.

    I also agree that the business model of TopCoder faces a lot of potential downside. It's hard to say how the business will respond and adjust the software development platform, but at the time the article was written 5% of TopCoder members is about 12,000 individuals. For example, as of July 2015 Google had 57,100 employees (http://www.businessinsider.com/google-has-57000-employees-2015-7) And I'm sure that relative to software development/business management and revenue generated only a select group maybe 5% contributed the bulk of the $$$ generated. That isn't to say that the other 95% didn't play a role in the generation of that software or revenue (just two examples, could be anything). As to whether or not anything I wrote will point to the success of TopCoder is a guess, but I just wanted to look at your last two paragraphs from another perspective.

    Great write up!

    ReplyDelete
  2. I definitely agree with your aspect regarding Intellectual Property and Security. While I was reading the case, I feel that it is really hard for the clients or even TopCoder to manage the programmers in the community. Usually, people have background check before job interviews, but in this case, the members only need to fill out a short online registration form to join the community and start competition. The clients will only know the programmers user name, contest history, numeric rating, and basic personal information. That is, the clients don’t really know who is providing solution for them and what will this person do with this property. Although TopCoder has confidentiality policies and put some other efforts to reduce the risk, since the programmers are from around the world, there is no guarantee that all of them will follow the rule.

    Instead of the growth and size of TopCoder, my second concern is still related to control and managing of the programmers. It is true that all of TopCoder’s solutions are being produced by 5% of the community, but there are 82.5% of the community never participated in the competitions and we cannot not conclude that all of them are just not good enough. I would say part of the reason could be lack of motivation for the programmers. In addition, for those who have participated in the competition, there is no guarantee that they will participate as the clients need. Gasper, one of the programmer, said that he would not do the work if he think there is too much work for the payment. Since people have different standards, the clients may not always get the best solution since they cannot force the one who can provide best solution to work. Also, as mentioned in the case, contestants would lose interest and not make submissions if the projects took too long to complete, and some of the programmers could be pushy and rude, which may result in an undesirable experience. I think all these factors are somehow related to the management of the programmers, hope you find these sound rational.

    ReplyDelete
  3. Great article! Although clients can be benefit from working with TopCoder by saving money, many clients still have initial reservations about working with TopCoder due to its unusual business model. There are two aspects that TopCoder should pay attention, which are security and coding challenges.

    Some new clients, especially who are unfamiliar with TopCoder’s model, they may see intellectual property and security as an initial barrier to entry. They are worried about a TopCoder community member might divulge proprietary ideas, business concepts to their competitors. In addition, copyright might involved in this business model because some of the clients are concerned that other people might use a solution that has submitted. TopCoder has come up some solutions and reduced the risk level for clients regarding on those concerns. In order to ease clien’s IP, the company detailed confidentiality policies and intellectual property assignment rules on a white paper. In addition, all clients should keep their company name anonymous during competition and all competitors need to sign a standard competition confidentiality agreement. Peer-review is another way to ensure code security and quality. TopCoder employees have the ability to select reviewers based on their performance in prior competition.

    The clients of TopCoder might have concerns on coding. Some of them can’t discover problems in the system and provide clear information. Although TopCoder develops an internal system for their clients, there are still some thing the client has to do, including integrating the deliverables to their existing systems and maintaining the system. In this case, the clients need to hire a staff that understands technology concepts. For instance, the staff should have the ability to review code and fix code as system changes over time. TopCoder wish their clients were able to provide appropriate amount of problem detail for the TopCoder community because only the right solution make sense to clients’ system and the TopCoder community needs correct information to find the solution. In this case, understanding code is important for TopCoder Community and their clients. TopCoder is struggling on giving an acceptable solution based on client’s concern of coding challenges.

    ReplyDelete

Note: Only a member of this blog may post a comment.