System and method for software development
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-modifiedWhat 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.