Back to Support

Project Estimation

Project Estimation
Estimation Reconciliation
Estimation Configuratio
n

Project Estimation

Introduction

The CS/10,000 project estimation tool suite allows you to generate, manage, and validate estimates of effort for a wide variety of projects. The estimation method uses proprietary AI technology to provide both task and effort based estimation for your project.

Estimation

Traditionally, the accuracy of structured estimation methods such as function point analysis or COCOMO (line of code estimation) has been limited by two factors: (1) the number and types of parameters that can be evaluated and (2) the assignment of company specific input values. In CS/10,000 these complex issues have been addressed by a patented expert system/neural network based AI system. The CS/10,000 Project Estimator processes information from a large number of sources to create a meaningful estimate for your project. It evaluates the project plan, project requirements, information about your working environment, and even different aspects of your corporate culture. On the basis of historical project data, the estimator also tunes input parameters to your specific environment - automatically. You are shielded from the intricacies of the AI system behind a user friendly interface that guides you every step of the way. Easy to use and highly accurate compared to other structured methods, the CS/10,000 estimation module contains all the tools that you need to effectively manage and document the entire estimation life cycle.

Validation

The CS/10,000 estimation tool set includes a reconciliation facility that assists you in validating all results generated by the estimator. The Estimation Reconciliator compares actual project effort with estimated effort on a task by task basis to provide a detailed report of method accuracy. The results of this tool help you determine if the estimator requires further tuning. The Estimation Reconciliator also benchmarks and validates estimation results to ensure that your analysis is reliable and accurate.

Optimizing

CS/10,000 is extremely flexible in terms of fine tuning estimation parameters to your specific mode of operation. System parameters can be tuned manually or by the neural network based Estimation Configurator. Each distinct tuning process should be based on the data from a group of similar historical projects. The results can then be used to estimate similar future projects. Multiple sets of tuning parameters can be created and stored in separate configuration files. When you are ready to estimate a project, you can choose to apply the system default configuration or a user defined configuration, whichever provides a better fit to your current project.

The CS/10,000 Project Estimation tool suite offers the project analyst a powerful and sophisticated estimation method, a suite of tools to analyze and validate results, and full control to configure system parameters for optimal results.

Getting Started…

The CS/10,000 Project Estimator will automatically generate an accurate estimate of the duration of your project in person months, based on the parameters of your particular project. To achieve this, the Project Estimator asks you a series of questions about your project. CS/10,000 will then take your answers, and use its proprietary expert system and neural network links to provide an accurate estimate of the length of time needed to complete the project. CS/10,000’s neural network has been pre-trained, using estimates from numerous successful Client/Server projects.

Preparing the Project Plan

The best way to let the Project Estimator assist you with your project estimation is to generate a customized project plan using the Task Advisor. To optimize results make certain that the Project Plan contains the actual set of task groups that will be assigned to the project team. If your project is based on the Superproject template and the Task Advisor Questionnaire has not been completed, the entire methodology of CS/10,000 will be estimated. Extraneous task groups, which will lead to higher estimates, can be easily removed with the Cut function of the Methodology Configurator. If, on the other hand, the Estimation Advisor is applied to a project based on the Empty Template, and no task groups have been added manually, the estimator will return an estimate of 0 Person Months. When task groups are added to a project that are not part of the standard CS/10,000 methodology it is necessary to configure an initial set of estimation parameters manually (see Estimation Configuration).

Running the Project Estimator with System Default Parameters

Once you have run the expert system and customized the methodology for your project, simply click on the Estimation Advisor button, which is located on CS/10,000’s Command Center. This takes you into the Estimation Advisor, which prompts you for the answers the system needs to estimate your project at the task group level. The more questions you answer, the more accurate the estimate will be.

When you have finished answering the questions, simply click on the Report button. This will invoke the CS/10,000 proprietary expert system and neural network to accurately estimate your project.

What if Scenarios

In the beginning of a project we may not be sure how answering the questions (System Requirement Analysis) will affect our task list and subsequently affect our estimate. Test estimates can be produced to give us an idea of what effect different scenarios have on our estimate. Multiple estimation versions for a project can be stored by clicking on the Save button in the View Project Estimates window. The ability to track how various project parameters effect your estimate provides you with the means to optimize the planning and scheduling of your project before major financial commitments are made.

Viewing Estimation Results

The Project Estimation window displays the estimated time in person months that a project is expected to take. This screen appears as a result of running the Estimation Advisor expert system and neural network. If you wish to view a preexisting estimate for the current project, choose the Project Estimator option from the Tools menu item on the main menu.

Estimation Units - Project Effort

The total estimate is calculated in person months, which can easily be converted to other units of effort using the following conversion factors:
·22 Person Days/Person Month
·8 Person Hours/Person Day
·176 Person Hours/Person Month

These time units represent project effort, rather than project duration. Project effort represents the absolute number of time units that need to be expended to complete a project. Project duration, on the other hand, is a measure of the length of time in calendar units between the beginning of a project and the end of a project. Actual project duration can be calculated from project effort by taking into consideration such company dependent factors as the total number of resources assigned to the project, how many hours per day each resource can work on the project, resource attendance, holidays, etc. To give a simple example of such a conversion, consider a CS/10,000 project estimate of 2 person months for a project to which 10 people have been assigned. 2 person months converts to 2*176 = 352 person hours. For a 10 person team, this result divides into 35.2 hours per person. If each of the team members effectively works 5 full hours on the project per day, the project will take about 7 full work days to complete. If the project begins on a Thursday, and team members are not scheduled to work on the weekend, the actual project duration will be 9 calendar days.

Updating the CS/10,000 Project Plan

By clicking on the Save command bottom of the View Project Estimates screen, the Save Project Estimates screen will appear. In this screen you have the option of saving the estimate as well as updating the task list of your current project with the estimated hours that are currently displayed. Unfortunately, you can not go back to view the questions and answers of previously saved estimates. Only the questions and answers of the estimate which was generated last are available for viewing.

Effort Levels

If you selected "Update Project Tasks" in this screen, the task group estimates will be divided among the tasks based on the effort levels you entered on the project plan. If you do not wish to enter your own effort levels, CS/10,000 will use the system defaults, which have already been tested against numerous successful client/server and networking projects.

Effort levels are based on a relative distribution factor - they determine how much of the task group estimate will be distributed to each individual task. The mathematical formula to calculate the hours estimate for each task in a task group based on the effort level for each task is:
Task Hours Estimate = Group Hours Estimate * (Task Effort Level/Group Effort
Effort levels are entered or modified in the timesheets or taskgrid. When creating a project template for an organization, it would be useful to save a particular effort level configuration as part of the template.

The Update Project Tasks function of the Save Project Estimates window reads the effort level assigned to each task in the task grid and distributes the Task Group estimate among the tasks of the group accordingly. The value assigned to the Estimated Hours field of each task in the project plan is also automatically assigned to the Remaining Hours field.

Maximizing the Use of Your Estimation Results

Automate Scheduling

After the estimated hours field of each task of the CS/10,000 project plan has been populated with the results from the estimator, it is a simple matter to transfer this information to the corresponding scheduled hours field. As soon as a resource is scheduled to a task, the scheduled hours field for the resource is automatically updated with the estimated hours value for that task. If the resource is assigned to the task group header of the task, the resource is automatically scheduled to each task underlying the task group header according to the estimated hours for each of the tasks. This method provides a very quick way to schedule resources and hours to tasks.

Generate a Preliminary Cost Estimate

Once scheduling data has been added, the Costing Manager can pull in the scheduled hours to automatically calculate a cost estimate for the project. Thus in a short amount of time it is possible to generate not only a time estimate for a project, but also to schedule resources and generate a cost estimate. This is possible due to the integrated nature of the CS/10,000 project design management modules.

Estimation Reconciliation

Once you have completed your successful client/server and networking system, you can use CS/10,000's Estimation Reconciliator to validate the result of the estimation process.

Why Reconciliation?

The completed project may significantly differ from the planned tasks and projected conditions upon which the initial estimate was based. The initial estimate must be adjusted to account for these differences if a meaningful comparison between the estimate and the actual project effort is be established. The purpose of the Reconciliation Advisor is to recalculate the estimated effort using the actual statistics and results from the completed project. The Reconciliation Advisor gathers actual project data through a question and answer process similar to that used when the system requirements were gathered for the initial estimate. The questions differ only in that the past tense is used: "Did the application replace a mission critical or line of business process?" instead of " Does the application replace a mission critical or line of business process?".

Preparing the Project Plan

To reconcile the actual duration of your project with the results from the estimator it is necessary for the Reconciliator to calculate the actual duration of a completed project. The actual duration is calculated from the total number of actual hours that have been entered for each task of the current project plan. Before reconciling an estimation result, make certain that all tasks of the project to be reconciled have been completed, and that the actual hours have been entered for each task. Actual hours can be entered into the CS/10,000 timesheet or task grid; the Reconciliator will pull the scheduling data from either module.

Reconciliating Your Projects

To begin the reconciliation process, simply select Project Estimate Reconciliation from the Advisor menu. This will take you into the Project Estimate Reconciliation Advisor. Answer the questions of the Advisor based on the actual statistics and results from the completed project, after the fact. The Report command invokes the CS/10,000 proprietary expert system and neural network. Click on this button when you have answered as many questions as you can in the Project Estimate Reconciliation Advisor. The artificially intelligent advisor will use your answers to the questions to generate its best estimate for your project, which you can then compare against the actual time the project took.

Once you have reconciled your project, you can then decide whether or not to use the project to train the neural network, so that it becomes increasingly tuned to your environment and to your particular style of corporate management. If the estimate and the actual hours are remarkably different, you may wish to pay particular attention as to why this occurred, and you may wish to save the project as a separate configuration (see Estimation Configuration), so that it can be used as the estimator template for similar projects in the future.

Viewing Results

The Project Estimate Reconciliation window displays both the actual number of person months the project took to complete, and also the reconciled estimate. This screen can be reached by pressing the Report button from the Project Estimate Reconciliation Advisor.

The Actual and Estimated checkboxes are used to toggle between details on the actual project, which are taken from the actual hours on the timesheets or task grid, and the estimate you have just run on the completed project. A comparison between the two shows you how accurately the CS/10,000 Project Estimator is estimating your projects.

If the Actual option is checked, the total amount of effort that the project actually required, in person months, is listed in the Total Effort box.

Actual phase totals are calculated for the Define, Plan, Prototype, and Implement phases. Click on each of the buttons for each of the four phases of a project to view the task group breakdown for that phase, which indicates how long each task group took to complete. This information is displayed in person days, as the Task Group Effort, with the percentage displayed in the "Percentage of this phase" box.

If the Estimate option is checked, the Total Effort box lists the total estimated effort of the project. The estimate is based on the parameters of the completed project and was calculated by the Estimation Reconciliator. The estimation results from the Estimation Reconciliator will be used by the Estimation Configurator when you are ready to tune the neural network.

As for the actuals, estimates by phase are calculated for the Define, Plan, Prototype, and Implement phases. Click on each of the buttons for each of the four phases of a project to view the task group breakdown for that phase, which lists the CS/10,000 estimate of how much effort each task is estimated to require for completion. This information is displayed in person days, as the Task Group Effort, with the percentage displayed in the "Percentage of this phase" box.

Estimation Configuration

The CS/10,000 Neural Network

After about 5 projects have been completed, you should consider tuning the neural net. Although it is technically possible to tune the neural network with fewer projects, a group of five gives the system a sufficiently wide range of historical data to evaluate. Before project data can participate in tuning, it must be reconciliated. Reconciliation will provide the Estimation Configurator with the accurate historical estimation data that is needed for precise tuning.

Rule Groups & Weights

To gain an understanding of the tuning process, it is necessary to be familiar with the concept of rule groups and weights. Each task group of the CS/10,000 methodology, as well as any task groups that have been configured manually, is associated with a set of rule groups. Rule groups are factors that influence a task group. The degree to which individual rule groups influence a task group is expressed numerically by the weight assigned to the rule group.

In the course of the tuning process the neural network will adjust the weights that are associated with the rule groups in order to align estimation results more closely to actual effort. Tuning is a safe and reliable process - it is not possible to overtrain the neural network. A complete set of tuned estimation parameters can be stored in CS/10,000 as a user defined estimation configuration. Multiple configurations can be created and stored for the estimation of many different types of projects.

Projects developed under disparate development conditions should not be tuned as a group because a distinct configuration, or set of estimation parameters, may be appropriate for each. For example, if an organization has two IS departments which differ significantly in terms of the complexity of their technologies, employee skill levels, and style of management you may wish to use a different set of tuning parameters for each of the departments.

Estimation configurations can also be modified and tuned on a task group by task group basis. You have the ability to manually change default rule groups that are associated with a task group as well as adjust the degree to which the weights of the rule groups will be tuned.

Effort Factors

You influence the current weights of a task group’s rule group by specifying a new minimum, medium, and maximum effort factor for the task group. The effort factors represent the range of effort, in person days, that the task group is judged to require for completion. You can even train the estimator to recognize and estimate any task group that you have created yourself. To accomplish this you first need to link a set of appropriate rule groups to the task group. You must then assign a minimum, medium, and maximum effort factor. After all associations have been made, new as well as modified task groups are automatically tuned by the neural network.

Using the Project Estimation Configurator

Choose the Estimation Configurator item from the Tools menu, to configure the estimator and fine-tune the estimator to your organization’s environment. Clicking on this menu item takes you into the Project Estimation Configurator. There are four configuration operations: 1) tune the project estimator 2) view the estimator configurations 3) add task groups to the estimator, and 4) modify task groups in the estimator.

Tuning the Project Estimator

By choosing the Tune the Project Estimator option, the Estimation Configurator will use your past project history to automatically train the estimator to your environment. You must select a configuration to tune. A configuration contains all the parameters necessary to estimate a project. CSCL Project Estimation Configuration is the configuration shipped with CS/10,000.

Next, you must select the projects with which you want to train the neural network. It is recommended that you tune the estimator with a minimum of five projects and that the selected projects are representative of your corporation's development environment. You may choose any grouping of projects you have completed in CS/10,000 and use them to teach the neural net.

Viewing the Estimation Configurations

The Project Estimator Configuration window is opened by choosing View the Estimator Configurations in the Project Estimation Configurator. After specifying which configuration to view the Project Estimator Configuration window will appear. This window displays the neural network rule groups and their weighting for each task group in the methodology.

Review the task groupings for each project phase by clicking on the phase button (Define, Plan, Prototype or Implement) to populate the task group and rule group listboxes with the appropriate data.

Task Groups listbox: The task groups for each project phase are displayed in this list. Click on any of the task groups for that phase to view the rule groups which influence how that task group is estimated.

Available Rule Groups listbox: A list of the neural network rule groups used for each task.

Add Task Groups to the Estimator

The Project Estimator maintains a list of tasks it knows how to estimate. If you have added your own tasks to the CS/10,000 methodology, choose this option to add your new tasks to the list. This enables the task groups you added to be automatically estimated.

Simply select a task group from the available list, and CS/10,000 will guide you through linking it to the data that the neural net uses to make predictions.

You can either let the Estimation Configurator automatically link the new task groups to default rule groups or you can perform a manual link. Each rule group represents an aspect of the project that influences the task effort, for example, Project Size, Project Politics, Management Skills to name just a few.

Next, you must assign a minimum, medium and maximum effort level to the task group. An effort level is the amount of person days required to complete the task or task group. Now you are ready to add the new task groups to the estimator.

Modify Task Groups in the Estimator

The advanced feature of CS/10,000's Project Estimator is that it allows you to modify the way the expert system and neural net estimate task groups. Essentially, selecting this option from the Project Estimation Configurator allows you to tune the estimation parameters for any task group manually.

Select the task group you wish to modify. The rule groups that are linked to that task will be displayed. The rule groups relate to the questions you answered in the Project Estimation Advisor. They indicate at a high level which questions will affect how the Estimator predicts the time it will take to complete this task group.

CS/10,000 then guides you through the steps to alter any of the rule groups that are linked to the task group. When you change which rule groups are linked to the selected task group, you are prompted to enter your own estimates on the effort required to complete the task group. These steps will automatically tune the estimator for the selected task group, according to your specifications.

Selecting an Estimation Configuration

If your corporation is estimating projects over multiple departments, CS/10,000 allows you to save your estimation parameters as separate configurations for each department, to allow for differing management styles across the corporation. A configuration is the set of data the neural net uses to make predictions. Simply choose the default configuration to tune the estimator, then save that estimation as a new name. This estimate configuration can then be used to estimate subsequent, similar projects. The default configuration can never be altered, so that you may always revert to using the system defaults to estimate your projects.

When you wish to use a particular estimate configuration for estimating a project, select Estimation Configuration from the Options menu. This will provide you with a list of all the current configurations available in the system. Simply select the configuration you wish to use, and click OK. The data for the chosen configuration will then be used to estimate your current project.

Top of page