Patent ID: 8341591

Claim:
A software development pipeline tool, comprising: an interface component in a non-transitory computer readable medium and executable by a processor to accept, for each of multiple projects in a software development pipeline, a set of inputs describing attributes and requirements of the corresponding project, each set of inputs being one of 1) a set of work-in-progress inputs relating to a current project in a software development pipeline and 2) a set of placeholder inputs relating to a future project in the software development pipeline, wherein each set of inputs includes at least a project priority input and a flip date input designating a time when the corresponding project is scheduled to flip from an expense to a capital expenditure; and an optioning component in a non-transitory computer readable medium and executable by a processor that: aggregates the inputs to generate a model of the software development pipeline; identifies one or more constraints in the model, wherein each of the plurality of constraints arises when a project of the multiple projects cannot be achieved as planned based on the inputs; and performs an optioning process to resolve the one or more constraints, the optioning process comprising: determining if one or more of the multiple projects are to be left as-is and not receive test changes, wherein a project is left as-is when at least one of the project priority input of the project is a high priority and the flip date input of the project is within a present calendar year; selecting one or more of the multiple projects other than the as-is projects to receive one or more test changes; implementing a test change to one or more of the plurality of inputs of the selected projects that has an impact on the one or more constraints in the model of the software development pipeline; outputting, in real-time, the impact of each test change on the one or more constraints in the model of the software development pipeline; and in response to determining that at least one constraint is still identified in the model, repeating the steps of the optioning process.