Configuring Project Health

This section includes additional information about configuring schedule health and cost health of a project. For more information about configuring project health, see "Schedule Health", "Cost and Earned Value Health", "Project Health", and "Issue Health" sections in Project Management User Guide.

Configuring Schedule Health

On the project settings page, the Schedule Health policy controls the project’s schedule health indicator, as well as determines the active exception rules for a project.

In the Health section, you can specify the following two rules:

  • Percent of tasks that have Exceptions to turn the Schedule Health Red

  • Percent of tasks that have Exceptions to turn the Schedule Health Yellow

For example, you set the first rule to 60 and the second to 30. If the percent of tasks that have exceptions is less than 30%, the schedule health indicator is green. If the percent of tasks that have exceptions is more than 30% but less than 60%, the indicator is yellow. Otherwise, the indicator is red. The percent of tasks that have exceptions is calculated as Count of Exceptional Tasks / Count of Total Tasks.

Note: When calculating the count of total tasks, PPM does not include the summary task or tasks whose status is either “Completed” or “Cancelled”.

Configuring Cost and Earned Value Health

The Cost and Earned Value Health policy controls whether or not to track the cost health for a project, and if so, which metrics will be evaluated to determine health. It is used to indicate the health of a project in terms of its cost.

If you do not select the For prior months, if actual costs exceed the plan of record by checkbox when defining the Cost and Earned Value Health policy, the cost health of a project is that of its root task. If you select the For prior months, if actual costs exceed the plan of record by checkbox, the cost health of a project represents the factor in the worst condition. The cost health of a project turns red, when either the cost health of the root task or the indicator for the For prior months, if actual costs exceed the plan of record by checkbox is red.

The indicator for the For prior months, if actual costs exceed the plan of record by checkbox is determined by the value of BudgetOverrun which is calculated as follows:

  • If either pastActualTotal or ForecastTotal is null, BudgetOverrun = 0

  • If pastForecastTotal > 0, BudgetOverrun = (pastActualTotal - pastForecastTotal) * 100 / pastForecastTotal

  • If pastForecastTotal = 0 and pastActualTotal > 0, BudgetOverrun = 100

  • If both pastForecastTotal and pastActualTotal is zero, BudgetOverrun = 0

Values of pastActualTotal and pastForecastTotal are loaded according to the following queries:

For pastActualTotal,

select sum(s.actual_total_lcl)
from fm_forecast_actual_period_sum s, ppm_fiscal_periods_nls p
where s.PERIOD_ID = p.FISCAL_PERIOD_ID and p.period_type = 4
and s.FORECAST_ACTUAL_ID = {financial summary.Forecast().Id()}
and p.seq >= {startPeriod.getSequence()} and p.seq < (select p1.seq from ppm_fiscal_periods_nls p1
where p1.start_date <= sysdate and p1.end_date>= sysdate and p1.period_type = 4)

For pastForecastTotal,

select sum(s.plan_total_lcl)
from fm_forecast_actual_period_sum s, ppm_fiscal_periods_nls p, fm_financial_summary ffs
where ffs.active_fs_id = {financial summary.Id()} and ffs.plan_of_record_flag = 'Y'
and s.PERIOD_ID = p.FISCAL_PERIOD_ID and p.period_type = 4
and s.FORECAST_ACTUAL_ID = ffs.forecast_actual_id
and p.seq >= {startPeriod.getSequence()} and p.seq < (select p1.seq from ppm_fiscal_periods_nls p1
where p1.start_date <= sysdate and p1.end_date>= sysdate and p1.period_type = 4)