1. A computer-implemented method, comprising: determining a plurality of stages required to implement a custom software product, wherein the custom software product is comprised of a plurality of pre-written generic software modules; calculating, using a processor, a duration value for each of the plurality of stages, wherein a duration value for at least one of the plurality of stages is calculated based upon a cumulative estimated level of effort for at least one other of the plurality of stages, the cumulative estimated level of effort is determined using a plurality of function points, and each of the plurality of function points represent work to be performed to implement the custom software product; determining a duration values for each of a plurality of personnel types required to implement the custom software product, wherein each of the duration values are determined based upon a respective estimated level of effort of a plurality of levels of effort, and the plurality of levels of effort are used to calculate the cumulative estimated level of effort; attributing one or more resources for each personnel type having a duration value that is non-zero; scheduling the plurality of stages; attributing a billable rate to each resource; calculating a billable revenue value for implementation of the custom software product; and displaying the billable revenue value on a display.