Source: TopCoder(A):Developing Software through Crowdsourcing
As a client of TopCoder, my main
areas of concern are Quality, Intellectual Property, Security, and integration
of the code. TopCoder does do a significant job of addressing these primary
concerns. Contestants want to win; winning motivates them to deliver both high
quality and bug-free code. It has also been seen that of the previous projects
that TopCoder has completed, having developed the solution in house, their
version would have had a significantly larger number of bugs. This is not to
say that firms shouldn’t just go out and hire these members of the community to
replace their current employees. Instead, TopCoder takes advantage of many
teams of coders and rigorously evaluate contest submissions and developed an
unbiased way of selecting contest winners.
TopCoder addresses other concerns
such as Intellectual Property and Security in just as creative a fashion as the
solutions that the community provides. TopCoder produced a white paper that
served to detail the confidentiality policies and intellectual property
assignment rules. Clients of TopCoder can have their companies name remain
anonymous during the competition. To reduce the security risk, TopCoder helps
their clients develop test data in order to minimize the risk of exposing
sensitive information. Furthermore, if requested by the client, contestants can
be required to sign a confidentiality agreement in order to be allowed entry
into the contest.
As security is such a large
concern, TopCoder took an even further step to ensure the safety of their
clients systems. Clients can hold additional testing contests on the back-end
to ensure the security and quality of the code. Moreover, TopCoder employees
selected and vetted peer reviewers based on performance in prior competitions.
By compartmentalizing the software development process, it becomes extremely
more difficult for a single competitor to insert dangerous code into a program.
This is so difficult because each contest only addresses a single small piece
of the overall program. As each contest produces only a small piece of code as
a portion of a larger program, integrating the code becomes much easier. Code
fragments can be adjusted and fixed in order to fit into the puzzle and remain
malleable to changes as the systems change over time.
Without its clients, TopCoder’s
business model would not succeed. Therefore, it was increasingly important that
they address their clients concerns. In this venture, TopCoder has succeeded.
The anonymity of the company, confidentiality, and intellectual property
arrangements made serve to protect the company. By no means does TopCoder
replace the programming staff of a client. Instead, those employees are no
longer the entire unit, but now act as the final layer of the project. It is
those employees who evaluate the winning approaches and work to ensure that no
security threats or bugs exist. Even though, from a pessimistic perspective,
more can always be done, TopCoder does an incredible job to overcome the
concerns of their clients.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.