| CPC G06F 8/316 (2013.01) [G06F 8/20 (2013.01); G06F 8/36 (2013.01); G06F 8/71 (2013.01); G06Q 10/06311 (2013.01); G06Q 30/0283 (2013.01)] | 16 Claims |

|
1. A computer implemented method for creating software, comprising:
receiving input from a customer, by a server running a software creating component, the input describing at least one aspect of a software program comprising a group of user-selected features to include the software program;
determining, by the software creating component based on the input, existing code components that may be used to create the software program, the existing code components being stored in a code library accessible by the software creating component;
determining, by the software creating component based on the user input and based on the existing code components that may be used to create the software program, new code components that must be developed for the software program;
controlling connections between features using a graph database;
providing, by the software creating component to the user, a cost estimate for the software program based on the existing code components that may be used and based on the new code components that must be developed;
generating, by the software creating program, a project schedule based at least in part on a project template, the project schedule including events related to the creation of the software program; and
managing, by the software creating program, the events related to the creation of the software program.
|