1. A method of performing a software development process comprising: performing a release execution process that analyzes a software code and stores relevant information associated with the software code, wherein the relevant information includes developing and reviewing a piece of the software code, testing, and quality validation of the piece of the software code; executing by a processor a continuous improvement process that executes on a computer platform, the continuous improvement process receives the relevant information and computes a plurality of relevant scores to measure the likelihood of success of a software development project, wherein the relevant scores comprise a level of effort score defining composite of skills needed, lessons learned in previous similar efforts, and developer quality assessment; and performing a product planning process that utilizes the relevant scores to assess the viability of the software development project.