This disclosure involves development and deployment platforms for decision algorithms. For example, a computing system provides software development interface to a client device. The system sets, based on an input from the client device via the interface, a decision engine to a test mode that causes the decision engine to operate on test data stored in a first database and that prevents the decision engine from applying operations from the client device to production data stored in a second database. The system also configures the decision engine in the test mode to execute a different decision algorithms on the test data. The system also sets, based on another input via the interface, the decision engine to a deployment mode that causes the decision engine to operate on the production data. The system configures the decision engine in the deployment mode to execute one or more of the tested decision algorithms.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A software development system comprising: a communication interface configured for establishing, via one or more data networks, a connection to a client device and for providing a software development interface to the client device via the connection; one or more non-transitory computer-readable media having a first database in which test data is stored and a second database in which production data is stored; one or more server devices communicatively coupled to the non-transitory computer-readable media and the communication interface, the one or more server devices configured for performing operations comprising: providing a mode selection element in the software development interface and a software version menu element in the software development interface, receiving, from the client device, a first source-selection input at the mode selection element, a first software version selection input at the software version menu element, and a second software version selection input at the software version menu element, setting, based on the first source-selection input, a decision engine to a test mode that causes the decision engine to operate on the test data in the first database and that prevents the decision engine from applying operations from the client device to the production data in the second database, configuring the decision engine in the test mode to (i) execute a first decision algorithm on the test data based on receiving the first software version selection input and (ii) execute a second decision algorithm on the test data based on receiving the second software version selection input, causing the communication interface to provide (i) a first updated version of the software development interface to the client device responsive to the first decision algorithm being executed on the test data and (ii) a second updated version of the software development interface to the client device responsive to the second decision algorithm being executed on the test data, the first updated version of the software development interface displaying a first test result and the second updated version of the software development interface displaying a second test result, receiving, from the client device, a second source-selection input at the mode selection element, setting, based on the second source-selection input, the decision engine to a deployment mode that causes the decision engine to operate on the production data in the second database, and configuring the decision engine in the deployment mode to execute the second decision algorithm on the production data based on receiving the second software version selection input. 2. The software development system of claim 1, wherein the one or more server devices are further configured for creating one or more of the first decision algorithm and the second decision algorithm responsive to one or more definition inputs received from one or more client devices. 3. The software development system of claim 2, wherein the one or more server devices are further configured for creating one or more of the first decision algorithm and the second decision algorithm by performing definition operations comprising: providing, to the one or more client devices, an element selection menu comprising a set of algorithm functions and a set of data objects; receiving, from the one or more client devices, a first input selecting a first icon representing an algorithm from the set of algorithm functions; receiving, from the one or more client devices, a second input selecting a second icon representing a decision object from the set of data objects; receiving, from the one or more client devices, a flow path input connecting the first icon and the second icon; creating, based on the first icon and the second icon being connected via the flow path input, one or more of (i) decision code for performing a decision based on an output of the first decision algorithm or (i) decision code for performing a decision to initiate the first decision algorithm. 4. The software development system of claim 3, wherein the first input drags the first icon to a definition region of the software development interface, the second input drags the second icon to a definition region of the software development interface, and the flow path input connects the first icon and the second icon in the definition region. 5. The software development system of claim 1, further comprising: the client device configured for transmitting, to the one or more server devices, inputs comprising the first source-selection input, the second source-selection input, the first software version selection input, and the second software version selection input, wherein the software development system is configured for communicating the inputs and performing the operations in real-time and during the connection between the one or more server devices and the client device. 6. The software development system of claim 1, wherein configuring the decision engine in the test mode to execute the second decision algorithm on the production data comprises replacing operations performed on the production data by the first decision algorithm with operations performed on the production data by the second decision algorithm. 7. The software development system of claim 1, the operations further comprising: providing, to the client device, a definition region of the software development interface displaying icons representing algorithmic functions from the second decision algorithm and flow paths depicting connections among the icons; receiving, from the client device and after providing one or more of the first updated versions of the software development interface or the second updated version of the software development interface, one or more dragging inputs in the definition region that change the connections depicted by the flow paths; and modifying, based on the connections as changed by the one or more dragging inputs, an order of the algorithmic functions in the second decision algorithm, wherein the one or more server devices are configured for causing the decision engine in the deployment mode to execute the second decision algorithm, as modified, on the production data. 8. A method in which one or more processing devices of a software development system perform operations comprising: providing, via a connection to a client device, a software development interface to the client device via the connection, the software development interface having a mode selection element and a software version menu element; receiving, from the client device, a first source-selection input at the mode selection element, a first software version selection input at the software version menu element, and a second software version selection input at the software version menu element; setting, based on the first source-selection input, a decision engine to a test mode that causes the decision engine to operate on test data stored in a first database and that prevents the decision engine from applying operations from the client device to production data stored in a second database; configuring the decision engine in the test mode to (i) execute a first decision algorithm on the test data based on receiving the first software version selection input and (ii) execute a second decision algorithm on the test data based on receiving the second software version selection input; causing the communication interface to provide (i) a first updated version of the software development interface to the client device responsive to the first decision algorithm being executed on the test data and (ii) a second updated version of the software development interface to the client device responsive to the second decision algorithm being executed on the test data, the first updated version of the software development interface displaying a first test result and the second updated version of the software development interface displaying a second test result; receiving, from the client device, a second source-selection input at the mode selection element; setting, based on the second source-selection input, the decision engine to a deployment mode that causes the decision engine to operate on the production data in the second database; and configuring the decision engine in the deployment mode to execute the second decision algorithm on the production data based on receiving the second software version selection input. 9. The method of claim 8, wherein the operations further comprise creating one or more of the first decision algorithm and the second decision algorithm responsive to one or more definition inputs received from one or more client devices. 10. The method of claim 9, wherein the operations further comprise creating one or more of the first decision algorithm and the second decision algorithm by performing definition operations comprising: providing, to the one or more client devices, an element selection menu comprising a set of algorithm functions and a set of data objects; receiving, from the one or more client devices, a first input selecting a first icon representing an algorithm from the set of algorithm functions; receiving, from the one or more client devices, a second input selecting a second icon representing a decision object from the set of data objects; receiving, from the one or more client devices, a flow path input connecting the first icon and the second icon; creating, based on the first icon and the second icon being connected via the flow path input, one or more of (i) decision code for performing a decision based on an output of the first decision algorithm or (i) decision code for performing a decision to initiate the first decision algorithm. 11. The method of claim 10, wherein the first input drags the first icon to a definition region of the software development interface, the second input drags the second icon to a definition region of the software development interface, and the flow path input connects the first icon and the second icon in the definition region. 12. The method of claim 8, the operations further comprising: receiving, from the client device, inputs comprising the first source-selection input, the second source-selection input, the first software version selection input, and the second software version selection input, the inputs are received and the operations are performed in real-time and during the connection with the client device. 13. The method of claim 8, wherein configuring the decision engine in the test mode to execute the second decision algorithm on the production data comprises replacing operations performed on the production data by the first decision algorithm with operations performed on the production data by the second decision algorithm. 14. The method of claim 8, the operations further comprising: providing, to the client device, a definition region of the software development interface displaying icons representing algorithmic functions from the second decision algorithm and flow paths depicting connections among the icons; receiving, from the client device and after providing one or more of the first updated versions of the software development interface or the second updated version of the software development interface, one or more dragging inputs in the definition region that change the connections depicted by the flow paths; and modifying, based on the connections as changed by the one or more dragging inputs, an order of the algorithmic functions in the second decision algorithm, wherein the decision engine, in the deployment mode, executes the second decision algorithm, as modified, on the production data. 15. A non-transitory computer-readable medium storing program code executable by one or more processing devices, wherein the program code, when executed by the one or more processing devices, causes the one or more processing devices to perform operations comprising: providing, via a connection to a client device, a software development interface to the client device via the connection, the software development interface having a mode selection element and a software version menu element; receiving, from the client device, a first source-selection input at the mode selection element, a first software version selection input at the software version menu element, and a second software version selection input at the software version menu element; setting, based on the first source-selection input, a decision engine to a test mode that causes the decision engine to operate on test data stored in a first database and that prevents the decision engine from applying operations from the client device to production data stored in a second database; configuring the decision engine in the test mode to (i) execute a first decision algorithm on the test data based on receiving the first software version selection input and (ii) execute a second decision algorithm on the test data based on receiving the second software version selection input; causing the communication interface to provide (i) a first updated version of the software development interface to the client device responsive to the first decision algorithm being executed on the test data and (ii) a second updated version of the software development interface to the client device responsive to the second decision algorithm being executed on the test data, the first updated version of the software development interface displaying a first test result and the second updated version of the software development interface displaying a second test result; receiving, from the client device, a second source-selection input at the mode selection element; setting, based on the second source-selection input, the decision engine to a deployment mode that causes the decision engine to operate on the production data in the second database; and configuring the decision engine in the deployment mode to execute the second decision algorithm on the production data based on receiving the second software version selection input. 16. The non-transitory computer-readable medium of claim 15, wherein the operations further comprise creating one or more of the first decision algorithm and the second decision algorithm responsive to one or more definition inputs received from one or more client devices. 17. The non-transitory computer-readable medium of claim 16, wherein the operations further comprise creating one or more of the first decision algorithm and the second decision algorithm by performing definition operations comprising: providing, to the one or more client devices, an element selection menu comprising a set of algorithm functions and a set of data objects; receiving, from the one or more client devices, a first input selecting a first icon representing an algorithm from the set of algorithm functions; receiving, from the one or more client devices, a second input selecting a second icon representing a decision object from the set of data objects; receiving, from the one or more client devices, a flow path input connecting the first icon and the second icon; creating, based on the first icon and the second icon being connected via the flow path input, one or more of (i) decision code for performing a decision based on an output of the first decision algorithm or (i) decision code for performing a decision to initiate the first decision algorithm, wherein the first input drags the first icon to a definition region of the software development interface, the second input drags the second icon to a definition region of the software development interface, and the flow path input connects the first icon and the second icon in the definition region. 18. The non-transitory computer-readable medium of claim 15, the operations further comprising: receiving, from the client device, inputs comprising the first source-selection input, the second source-selection input, the first software version selection input, and the second software version selection input, the inputs are received and the operations are performed in real-time and during the connection with the client device. 19. The non-transitory computer-readable medium of claim 15, wherein configuring the decision engine in the test mode to execute the second decision algorithm on the production data comprises replacing operations performed on the production data by the first decision algorithm with operations performed on the production data by the second decision algorithm. 20. The non-transitory computer-readable medium of claim 8, the operations further comprising: providing, to the client device, a definition region of the software development interface displaying icons representing algorithmic functions from the second decision algorithm and flow paths depicting connections among the icons; receiving, from the client device and after providing one or more of the first updated versions of the software development interface or the second updated version of the software development interface, one or more dragging inputs in the definition region that change the connections depicted by the flow paths; and modifying, based on the connections as changed by the one or more dragging inputs, an order of the algorithmic functions in the second decision algorithm, wherein the decision engine, in the deployment mode, executes the second decision algorithm, as modified, on the production data.