System and method for software development
First Claim
1. A computerized method for competitive development, comprising:
- electronically transmitting a first specification stored on a server to one or more client devices for a software design to be developed by competition among one or more of a first set of developers;
receiving and storing at the server, design submissions developed by one or more of the first set of developers in response to the first specification;
selecting one of the design submissions as a winning design submission in response to a review of a number of the design submissions by a first plurality of review board members using one or more first electronic scorecards, the winning design submission comprising a second specification, wherein the first electronic scorecards are indicative of a degree to which the design submissions meet requirements in the first specification;
electronically transmitting the winning design submission stored on the server to one or more of the client devices for a software component to be developed based on the second specification and by competition among one or more of a second set of developers;
receiving and storing at the server, component submissions developed by one or more of the second set of developers in response to the second specification;
selecting one of the component submissions as a winning component submission in response to a review of a number of the component submissions by a second plurality of review board members using one or more second electronic scorecards, wherein the second electronic scorecards are indicative of a degree to which the component submissions meet requirements in the second specification; and
electronically displaying to developers submissions submitted by other developers and electronic scorecards produced by review board members in response to such submissions at the client devices, thereby enabling the developers to learn from results of prior competitions.
1 Assignment
0 Petitions
Accused Products
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.
57 Citations
14 Claims
-
1. A computerized method for competitive development, comprising:
-
electronically transmitting a first specification stored on a server to one or more client devices for a software design to be developed by competition among one or more of a first set of developers; receiving and storing at the server, design submissions developed by one or more of the first set of developers in response to the first specification; selecting one of the design submissions as a winning design submission in response to a review of a number of the design submissions by a first plurality of review board members using one or more first electronic scorecards, the winning design submission comprising a second specification, wherein the first electronic scorecards are indicative of a degree to which the design submissions meet requirements in the first specification; electronically transmitting the winning design submission stored on the server to one or more of the client devices for a software component to be developed based on the second specification and by competition among one or more of a second set of developers; receiving and storing at the server, component submissions developed by one or more of the second set of developers in response to the second specification; selecting one of the component submissions as a winning component submission in response to a review of a number of the component submissions by a second plurality of review board members using one or more second electronic scorecards, wherein the second electronic scorecards are indicative of a degree to which the component submissions meet requirements in the second specification; and electronically displaying to developers submissions submitted by other developers and electronic scorecards produced by review board members in response to such submissions at the client devices, thereby enabling the developers to learn from results of prior competitions.
-
-
2. A system for competitive development, comprising:
-
a server for providing a first specification for a software design to be developed by competition and providing a second specification for a software component to be developed by competition; a receiving module configured to receive design submissions and component submissions developed in response to the first specification and second specifications, respectively; a scoring module configured to; (i) select one of the design submissions as a winning design submission in response to a review of a number of the design submissions by a first plurality of review board members using one or more first electronic scorecards, the winning design submission comprising the second specification, wherein the first electronic scorecards are indicative of a degree to which the design submissions meet requirements in the first specification, and (ii) select one of the component submissions as a winning component submission in response to a review of a number of the component submissions by a second plurality of review board members using one or more second electronic scorecards, wherein the second electronic scorecards are indicative of a degree to which the component submissions meet requirements in the second specification; and a reviewing module configured to facilitate review by developers of submissions submitted by other developers and electronic scorecards produced by review board members in response to such submissions, thereby enabling the developers to learn from results of prior competitions.
-
-
3. A computer-implemented system for computer software development, comprising:
-
a server for storing computer executable instructions thereon that, when executed, implement; a requirements design subsystem for viewing and commenting on requirement specifications for software designs to identify requirements for software to be developed; a competition development subsystem for developing software by conducting a first competition for creation of a design for software using the software design requirements generated with the requirements design subsystem and for conducting a second competition for development of software implementing a design submission that is a winner of the first competition, the software comprising a functional software module that is reusable as a building block of an application; and a software catalog comprising a repository for storing reusable modules developed by conducting the competitions using the competition development subsystem and for providing a directory of information to potential purchasers and licensees about the reusable modules in the repository. - View Dependent Claims (4, 5, 6, 7, 8)
-
-
9. A method for computer software development and storage, comprising:
-
facilitating the viewing of and commenting on requirement specifications for software designs by developers using a requirements design subsystem thereby identifying requirements for new or improved software to be developed; conducting a software design competition using the software design requirements generated with the requirements design subsystem; conducting a development competition for development of software implementing a winning submission to the software design competition, the software comprising a functional software module that is reusable as a building block of an application; and storing in a software catalog software that is a winning submission in the development competition, the software catalog comprising a repository for storing reusable software modules developed by conducting the competitions using the competition development subsystem and for providing a directory of information to potential purchasers and licensees about the reusable modules in the repository. - View Dependent Claims (10, 11, 12, 13, 14)
-
Specification