US2014101631A1PendingUtilityA1

System and method for software development

57
Assignee: TOPCODER INCPriority: Apr 8, 2002Filed: Jun 27, 2013Published: Apr 10, 2014
Est. expiryApr 8, 2022(expired)· nominal 20-yr term from priority
Inventors:John M. Hughes
G06F 8/20G06Q 10/063112G06Q 10/10G06Q 40/12G06Q 10/06311G06F 8/70
57
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

This invention relates to a method and apparatus for developing software. In one embodiment, a method for facilitating the distributed development of software components includes providing a skill rating for software developers, communicating specifications for a software component to a subset of the developers, receiving submissions from the developers, scoring the submissions, and selecting one submission to be included in a software repository. In another embodiment, a method for compensating a software developer includes soliciting software developers for the submission of computer software components, receiving software components in response to the solicitation from the developers, evaluating the received software components, selecting one or more of the submissions for potential distribution to the public, and allotting the proceeds from the distribution to the developers.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 .- 41 . (canceled) 
     
     
         42 . A system comprising:
 a communications server for:
 receiving, via a communications network, a specification for a software program from a customer; and 
 transmitting, via the communications network, the specification to a plurality of developers in a competition for development of the software program; 
   a collaborative forum accessible by the developers over the communications network, the collaborative forum for facilitating discussion, by the developers, of the specification;   a receiving module for receiving software programs developed by at least a subset of the developers in response to the specification;   an evaluation module for selecting a winning software program based on review of the received software programs using a scorecard; and   a repository for:
 storing the winning software program; and 
 making available, via the communications network, software programs stored in the repository to the customer that submitted the specification. 
   
     
     
         43 . The system of  claim 42 , further comprising a quality assurance application for executing automated tests on the winning software program. 
     
     
         44 . The system of  claim 43 , wherein the quality assurance application is further for executing automated tests on at least a subset of the received software programs. 
     
     
         45 . The system of  claim 44 , wherein the quality assurance application is further for making available results of the automated tests to reviewers of the received software programs. 
     
     
         46 . The system of  claim 43 , wherein the quality assurance application is further for executing automated tests on at least a subset of the software programs stored in the repository. 
     
     
         47 . The system of  claim 42 , wherein the winning software program is stored in the repository upon the winning software program receiving a minimum score in the competition. 
     
     
         48 . The system of  claim 42 , wherein at least one of the stored software programs comprises a design for a software application. 
     
     
         49 . The system of  claim 42 , wherein at least one of the stored software programs comprises a design for a graphical user interface. 
     
     
         50 . The system of  claim 42 , wherein at least one of the stored software programs comprises one or more of a component, a class, a library, or an application. 
     
     
         51 . The system of  claim 50 , wherein the component comprises a reusable building block of an application. 
     
     
         52 . A method comprising:
 receiving, via a communications network, a specification for a software program from a customer;   transmitting, via the communications network, the specification to a plurality of developers in a competition for development of the software program;   providing a collaborative forum accessible by the developers over the communications network, the collaborative forum for facilitating discussion, by the developers, of the specification;   receiving software programs developed by at least a subset of the developers in response to the specification;   selecting a winning software program based on review of the received software programs using a scorecard;   storing the winning software program in a repository; and   making available, via the communications network, software programs stored in the repository to the customer that submitted the specification.   
     
     
         53 . The method of  claim 52 , further comprising executing automated tests on the winning software program. 
     
     
         54 . The method of  claim 53 , further comprising executing automated tests on at least a subset of the received software programs. 
     
     
         55 . The method of  claim 54 , further comprising making available results of the automated tests to reviewers of the received software programs. 
     
     
         56 . The method of  claim 53 , further comprising executing automated tests on at least a subset of the software programs stored in the repository. 
     
     
         57 . The method of  claim 52 , further comprising storing the winning software program in the repository upon the winning software program receiving a minimum score in the competition. 
     
     
         58 . The method of  claim 52 , wherein at least one of the stored software programs comprises a design for a software application. 
     
     
         59 . The method of  claim 52 , wherein at least one of the stored software programs comprises a design for a graphical user interface. 
     
     
         60 . The method of  claim 52 , wherein at least one of the stored software programs comprises one or more of a component, a class, a library, or an application. 
     
     
         61 . The method of  claim 60 , wherein the component comprises a reusable building block of an application.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.