Method and apparatus for estimator tool
First Claim
Patent Images
1. A computer-implemented method, comprising:
- determining a plurality of stages required to implement a custom software product, whereinthe 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, whereina 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, andeach 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, whereineach of the duration values are determined based upon a respective estimated level of effort of a plurality of levels of effort, andthe 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.
2 Assignments
0 Petitions
Accused Products
Abstract
A software estimator tool implements an estimation process. The tool implements a bottom-up estimation process and a top-down estimation process. The bottom-up estimation process calculates an cumulative estimated level of effort for selected stages during the implementation of a custom software product, the custom software product being comprised of pre-written generic software modules. The top-down estimation process uses the cumulative estimated level of effort to estimate a schedule and calculate estimated billable revenue for the implementation project.
-
Citations
35 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer system, comprising:
-
a processor; means for determining a plurality of function points, wherein each of the function points represent work to be performed to implement a custom software product, and the custom software product is comprised of a plurality of pre-written generic software modules; means for determining an estimated value for each of the function points, wherein each estimated value is generated by applying objective metric data to one of said function points; means for determining a plurality of stages required to implement the custom software product; means for determining a duration value for at least one of the plurality of stages by performing a function point analysis to determine a cumulative estimated level of effort for the plurality of function points; means for calculating a duration value for each of the plurality of stages, wherein a duration value for at least one other of the plurality of stages is calculated based upon the duration value for the at least one of the plurality of stages; and means for determining a plurality of duration values for each of a plurality of personnel types required to implement the custom software product. - View Dependent Claims (14, 15, 16)
-
-
17. A computer program product comprising:
-
computer instructions comprising; instructions to determine a plurality of function points, wherein each of the function points represent work to be performed to implement a custom software product, and the custom software product is comprised of a plurality of pre-written generic software modules; instructions to determine an estimated value for each of the function points, wherein each estimated value is generated by applying objective metric data to one of said function points; instructions to determine a plurality of stages required to implement the custom software product; instructions to determine a duration value for at least one of the plurality of stages by performing a function point analysis to determine a cumulative estimated level of effort for the plurality of function points; instructions to calculate a duration value for each of the plurality of stages, wherein a duration value for at least one other of the plurality of stages is calculated based upon the duration value for the at least one of the plurality of stages; instructions to determine a plurality of duration values for each of a plurality of personnel types required to implement the custom software product, a personnel type of the plurality of personnel types; and a non-transitory computer-readable storage medium on which the computer instructions are stored. - View Dependent Claims (18, 19, 20)
-
-
21. A system comprising:
-
at least one processor; means for 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, and the means for determining said plurality of said stages is coupled to the at least one processor; means for calculating, 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, each of the plurality of function points represent work to be performed to implement the custom software product, and the means for calculating the duration value for each of the plurality of stages is coupled to the means for determining the plurality of stages; means for determining a duration values for each of a plurality of personnel types relevant to implementing 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, the plurality of levels of effort are used to calculate the cumulative estimated level of effort, and the means for determining said duration value for each of said plurality of said personnel types is coupled to the at least one processor; means for attributing one or more resources for each personnel type having a duration value that is non-zero, wherein said the means for attributing the one or more resources is coupled to the at least one processor; means for scheduling the plurality of stages, wherein the means for scheduling is coupled to the at least one processor; means for attributing a billable rate to each resource, wherein the means for attributing said billable rate is coupled to the at least one processor; means for calculating a billable revenue value for implementation of the custom software product, wherein the means for calculating said the billable revenue value is coupled to the processor; and means for presenting the billable revenue value, wherein the means for presenting said the billable revenue value is coupled to the means for calculating said the billable revenue value. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A non-transitory computer readable storage medium comprising program instructions executable on a processor to perform acts 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 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 value for each of a plurality of personnel types relevant to implementing 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 providing for display of the billable revenue value. - View Dependent Claims (33, 34, 35)
-
Specification