Systems and methods for software development
Abstract
This invention relates to methods and a system for developing software. In one embodiment, a method for developing software includes communicating a specification for the design of a software program to a first plurality of developers, in response to the specification, receiving a design from a subset of the developers to a subset of the developers, facilitating a design review process for scoring the designs, selecting one design based on its score, communicating the selected design to a second plurality of software developers, in response to the design, receiving software programs from a subset of the second plurality of developers, facilitating a software review process for scoring the programs, and selecting one program based on its score. In another embodiment, a method for the distributed development of software includes providing a software development system to a distributed community of developers, the system including software development software that utilizes a structured development methodology, a communication server, and a review board for determining the quality of submitted software; accepting a request to create a software program; and facilitating the development of the program by a subset of the distributed community of developers using the software development system.
Claims
exact text as granted — not AI-modified1 - 35 . (canceled)
36 . A method of distributed software development comprising:
providing remote access to a software development system to a distributed community of software developers, the system comprising:
a communication server for: (i) communicating specifications for the design of software programs to one or more members of the distributed community of software developers, (ii) receiving software program designs from some of the members in response to the communicated specifications, (iii) communicating designs to one or more members of the distributed community of software developers, and (iv) receiving software programs from some of the members of the distributed community of software developers in response to communicated designs; and
a review subsystem for facilitating review of the received designs and programs by review boards, each review board comprising one or more developers using an electronic scorecard and capable of determining the quality of the software design and the software program developed by some of the distributed community of software developers;
accepting a request to create a requested software program from an entity; and facilitating the development of the requested software program using the software development system by (i) communicating specifications for designs of portions of the requested software program to at least a first subset of the community of software developers and receiving designs in response, (ii) conducting reviews of the designs using the review subsystem, (iii) selecting a winning design submission based on the reviews, (iv) communicating the winning designs to at least a second subset of the community of software developers and receiving portions of the requested software program in response, (vi) conducting reviews of the received portions of the requested software program using the review subsystem, and (vii) selecting a winning submission based on the reviews.
37 . The method of claim 36 wherein the software programs are programs selected from the group of components, applications, modules, and libraries.
38 . The method of claim 36 wherein the software developers were rated based on their participation in one or more coding competitions.
39 . The method of claim 36 wherein the software development system is distributed geographically.
40 . The method of claim 39 wherein the geographical distribution is administered via the Internet.
41 . The method of claim 36 wherein one or more components of the software development system is implemented as a java applet.
42 . The method of claim 36 wherein the review board is comprised of programmers that were rated in a coding competition.
43 . The method of claim 36 wherein quality of the software is determined, at least in part by the review of design documents, source code, object code, compiled code, class definitions, and methods by the review board.
44 . The method of claim 36 wherein the software program is developed according to a structured development methodology comprises multiple phases.
45 . The method of claim 44 wherein the multiple phases comprise one or more phases selected from the set of a specification phase, a design phase, a development phase, a testing phase, and a support phase.
46 . The method of claim 36 wherein the software development methodology facilitates one or more of: the development of UML models, the development of case models, the development of computer code, the compilation of computer code, and the testing of computer code.
47 . The method of claim 36 further comprising receiving developed software programs from a subset of the community of software developers.
48 . The method of claim 47 further comprising selecting one or more of the received programs to be delivered to the entity based on the quality of the software programs.
49 . The method of claim 48 further comprising rewarding the developers that submitted the one or more selected software programs.
50 . The method of claim 49 wherein the reward is monetary.
51 . The method of claim 49 wherein the reward is an increased skill rating.
52 - 61 . (canceled)
62 . A method of distributed software development comprising:
providing remote access to a software development system to a distributed community of software developers, the system comprising:
a communication server for: (i) communicating specifications for a first software development task to one or more members of the distributed community of software developers, (ii) receiving submissions from some of the members in response to the communicated specifications, (iii) communicating a winning submission for the first software development task along with specifications for a second software development task to one or more members of the distributed community of software developers, and (iv) receiving submissions from some of the members of the distributed community of software developers in response to communicated specifications; and
a review subsystem for facilitating review of the received submissions by review boards, each review board comprising one or more developers using an electronic scorecard and capable of determining the quality of the submissions developed by some of the distributed community of software developers;
accepting a request to create a requested software program from an entity; and facilitating the development of the requested software program using the software development system by (i) communicating specifications for the first task to at least a first subset of the community of software developers and receiving a first set of submissions in response, (ii) conducting reviews of one or more of the first set of submissions using the review subsystem, (iii) selecting a winning submission based on the reviews, (iv) communicating the winning submission from the first task and specifications for a second task requiring use of the winning submission from the first task to at least a second subset of the community of software developers and receiving a second set of submissions in response, (v) conducting reviews of one or more of the second set of submissions using the review subsystem, and (vi) selecting a winning submission based on the reviews.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.