Steelray Project Analyzer - Criteria Library Reference

Getting Started

SPA provides a library of built-in criteria that you can use to analyze and score project schedules. This reference guide explains how each criterion is calculated.

For each criterion, the following information is included:

  • criteria name
  • rationale (why does SPA check for the condition?)
  • calculation formula

Utility Formulas

The following utility formulas are used in other formulas.

Actual Finish Before Actual Start Tasks

Task.Summary is No
and
Task.Milestone is No
and
Task.ActualFinish is set
and
Task.ActualStart is set
and
Task.ActualFinish is before Task.ActualStart

Constrained Tasks

Task.Summary is No
and
Task.ConstraintType is Not ASAP
and
Task.ActualFinish is not set

Effort Tasks

not a Summary Task
and
Task.Duration  >  0 

Incomplete Critical Tasks

Task.Critical is Yes
and
Task.ActualFinish is not set
and
Task.Summary is No
and
Task.Milestone is No

Incomplete Tasks

Task.Summary is No
and
Task.Milestone is No
and
Task.ActualFinish is not set

Missing Baseline Tasks

Task.Summary is No
and
Task.ActualFinish is not set
and
    Task.BaselineFinish is not set
    or
    Task.BaselineStart is not set

Milestone Tasks

not a Summary Task
and
Task.Duration Is 0

Missing Predecessor Tasks

Task.Predecessors is not set
and
Task.ActualFinish is not set
and
Task.Summary is No

Missing Successor Tasks

Task.Successors is not set
and
Task.ActualFinish is not set
and
Task.Summary is No

Missing WBS Tasks

Task.Summary is No
and
Task.WBS is not set

No Assigned Resource Tasks

Task.Summary is No
and
Task.Milestone is No
and
Task.Resources is not set
and
Task.ActualFinish is not set

Non FS Predecessor Tasks

Task.Predecessors Has FF
or
Task.Predecessors Has SS
or
Task.Predecessors Has SF

Summary Tasks

task.Summary is Yes.

Summary With Predecessor Tasks

Task.Predecessors is set
and
Task.Summary is Yes

Summary With Successor Tasks

Task.Successors is set
and
Task.Summary is Yes

Summary With Resource Tasks

Task.Summary is Yes
and
Task.Resources is set
and
Task.ActualFinish is not set


 

Criteria Library Formulas

The following formulas show how the Criteria scores are calculated.

Effort Tasks

Rationale

The schedule should be primarily made up of discrete tasks that have work associated with them. Summaries and Milestones are needed for reporting and program tracking but should not be the majority of the line items.

Calculation

Total Effort Tasks / Total Tasks
 

Summary Tasks

Rationale

The schedule should be primarily made up of discrete tasks that have work associated with them. Summaries are needed for reporting and program tracking but should not be the majority of the line items.

Calculation

Total Summary Tasks / Total Tasks
 

Milestones

Rationale

The schedule should be primarily made up of discrete tasks that have work associated with them. Summaries and Milestones are needed for reporting and program tracking but should not be the majority of the line items.

Calculation

Total Milestone Tasks / Total Tasks
 

Incomplete Tasks

Rationale

The closer a project is to completion, the less we are able to influence its final financial and schedule outcome without a significant intervention.

Calculation

Total Incomplete Tasks / Total Effort Tasks
 

Incomplete Critical Tasks

Rationale

The Critical Path is one of the most important areas of the program schedule. It is usually the most difficult, time-consuming, and technically challenging portion of the schedule. It should represent a small portion of the overall program schedule.

This score measures the percent of all incomplete tasks that are critical.

Calculation

Total Incomplete Critical Tasks / Total Incomplete Tasks
 

Missing Successors

Rationale

Almost every task should have a successor, with a few exceptions like the end of project milestone.

The question to ask is: 'If the output of the task’s effort does not go to anyone else, why are we doing the work?'

Calculation

Total Missing Successor Tasks / Total non-Summary Tasks tasks without an Actual Finish
 

Missing Predecessors

Rationale

All tasks should have a predecessor, with a few exceptions like starting milestones.

Calculation

Total Missing Predecessor Tasks / Total non-Summary Tasks tasks without an Actual Finish
 

Summary Tasks With Successors

Rationale

Summary tasks should not have predecessors or successors. Many scheduling software applications have difficulty calculating dates and critical paths when summary tasks and detail tasks are linked.

Calculation

Total Summary With Successor Tasks / Total Summary Tasks
 

Summary Tasks With Predecessors

Rationale

Summary tasks should not have predecessors or successors. Many scheduling software applications have difficulty calculating dates and critical paths when summary tasks and detail tasks are linked.

Calculation

Total Summary With Predecessor Tasks / Total Tasks
 

Duration < 5d

Rationale

Task durations should generally be between 5 and 20 working days.

Too much detail can make the schedule unreadable, unmaintainable, and ultimately unusable as a management tool. Too little detail can make the schedule little more than window dressing. Sufficient detail must exist to clearly identify all the key deliverables and must contain enough information to know what state the project is in at any given point in time.

Industry consensus is that near term tasks should be a week to a month in length. When less than a week, you will spend more time maintaining and updating the schedule than is practical. When more than a month, you will not be able to get an accurate estimate of progress and forecasted completion dates. Since already completed tasks cannot be addressed, they are not counted.

Calculation

D5d Task = Task.Duration < 5d and Task.Milestone is No and Task.Summary is No and Task.ActualFinish Is Not Set
Total D5d Tasks / Total Incomplete Tasks
   

Duration > 20d

Rationale

Task durations should generally be between 5 and 20 working days.

Too much detail can make the schedule unreadable, unmaintainable, and ultimately unusable as a management tool. Too little detail can make the schedule little more than window dressing. Sufficient detail must exist to clearly identify all the key deliverables and must contain enough information to know what state the project is in at any given point in time.

Industry consensus is that near term tasks should be a week to a month in length. When less than a week, you will spend more time maintaining and updating the schedule than is practical. When more than a month, you will not be able to get an accurate estimate of progress and forecasted completion dates. Since already completed tasks cannot be addressed, they are not counted.

Calculation

D20d Task = Task.Duration > 20d and Task.Milestone is No and Task.Summary is No and Task.ActualFinish Is Not Set
Total D20d Tasks / Total Incomplete Tasks
 

Predecessors Complete, Task Not Started

Rationale

Schedule progress should drive the end dates of the program. Not scheduling forward or leaving incomplete work in the past does not allow for a true picture of the project status and projected end date.

Calculation

Task Not Started Tasks =

    Task contains predecessor which are complete, but the task has not started.
Total ShouldStart Tasks / Total Non Summary Tasks
 

Tasks with Constrained Dates

Rationale

Tasks should rarely be artificially tied to dates. Durations and/or Resources combined with schedule logic and work day calendars should determine schedule dates. If a significant number of constrained dates are used, the schedule may not calculate the critical path and near critical paths correctly.

Calculation

Total Constrained Tasks / Total Non Summary Tasks Tasks without an Actual Finish
 

Tasks without Baseline Finish

Rationale

Baseline dates for tasks and milestones should be established in the project schedule early in the program. For large projects involving a customer, the contract may require this to be done in 60 to 90 days after the start date and prior to a formal review.

Calculation

Total Missing Baseline Tasks / Total Non Summary Tasks Tasks without an Actual Finish
 

Tasks without Assigned Resources

Rationale

A resource loaded project schedule should have resources assigned to all discrete tasks and should not have resources assigned to summary tasks. Resource planning requires that all discrete tasks be resource loaded in order to analyze and identify resource constraints or overloaded resources.

Calculation

Total No Assigned Resource Tasks / Total Incomplete Tasks
 

Tasks with Total Slack < -20d

Rationale

All schedules should have a reasonably small amount of slack or float. Large positive or negative slack values may indicate a poorly constructed schedule. Large negative slack indicates a logic error or a program that is no longer on track to meet its commitment dates. Large positive slack may indicate poor or missing logic.

Calculation

TS-20 Task =
    Task.Summary = No
    and
    Task.Milestone = No
    and
    Task.ActualFinish is not set
    and
    Task.TotalSlack < -20d
 

Total TS-20 Tasks / Total Incomplete Tasks
 

Tasks with Total Slack < 30d

Rationale

All schedules should have a reasonably small amount of slack or float. Large positive or negative slack values may indicate a poorly constructed schedule. Large negative slack indicates a logic error or a program that is no longer on track to meet its commitment dates. Large positive slack may indicate poor or missing logic.

Calculation

TS30 Task =
    Task.Summary = No
    and
    Task.Milestone = No
    and
    Task.ActualFinish is not set
    and
    Task.TotalSlack < 30d
 

Total TS30 Tasks / Total Incomplete Tasks
 

Tasks with Total Slack > 200d

Rationale

All schedules should have a reasonably small amount of slack or float. Large positive or negative slack values may indicate a poorly constructed schedule. Large negative slack indicates a logic error or a program that is no longer on track to meet its commitment dates. Large positive slack may indicate poor or missing logic.

Calculation

TS200 Task =
    Task.Summary = No
    and
    Task.Milestone = No
    and
    Task.ActualFinish is not set
    and
    Task.TotalSlack > 200d
 
Total TS200 Tasks / Total Incomplete Tasks
 

Tasks with Total Slack < -200d

Rationale

Most projects fall behind schedule during their normal execution. However, a project should not operate for a significant period of time with large negative slack. Recovery plans or workarounds should be identified and implemented. If none are feasible, a new plan should be drafted to an agreed-upon completion date.

Calculation

TS-200 Task =
    Task.Summary = No
    and
    Task.Milestone = No
    and
    Task.ActualFinish is not set
    and
    Task.TotalSlack < -200d
 
Total TS-200 Tasks / Total Incomplete Tasks
 

Tasks Without Finish-to-Start Predecessors

Rationale

The majority of the task dependencies should be Finish-to-Start. Since most of the tasks represent work that will have a start and an end date resulting in some product or document that is needed by someone else, the work is performed in some sequence most of the time. If the majority of the tasks require parallel linkages the tasks may be at too high a level.

Calculation

Total Non FS Predecessor Tasks / Incomplete Effort Tasks Tasks
 

Tasks with Missing WBS

Rationale

All tasks should have a Work Breakdown Structure (WBS) identifier assigned. The WBS is the key to cost schedule integration. A missing WBS identifier gives the appearance of work being done that is not within the budget or scope of the program.

Calculation

Total Missing WBS Tasks / Total Tasks
 

Actual Start/Finish Dates in the Future

Rationale

Actual dates must reflect when a task started and or completed. They should not be auto-generated and should not exist in the future. An actual finish date cannot be earlier than the actual start date for a task.

Calculation

CurrentDate = Status Date (or, if no status date) Today

FutureTask =
    Task.Summary is No
    AND
    Task.ActualFinish > CurrentDate
    or
    Task.ActualStart > CurrentDate
 
Total FutureTasks / Non Summary Tasks
     

Actual Finish Before Actual Start

Rationale

An actual finish date should never be before an actual start date.

Calculation

Total Actual Finish Before Actual Start Tasks / Total Effort Tasks
 

Summaries With Resources

Rationale

As a general rule, summary tasks should not have resources assigned to them. They are strictly an outlining or rolling up feature and should not drive schedule dates or resource loading.

There may be instances when it is acceptable to assign resources to summary tasks instead of detail tasks. This is acceptable as long as resources are not loaded at both levels where they would be double counted.

Calculation

Total Summary With Resource Tasks / Total Effort Tasks
 

Baseline Execution Index

Rationale

A measurement used to indicate the efficiency of actual work that has been completed measured against the baseline.

Calculation

By the status date (or if no status date than by today): Tasks that have actually finished: Actual finish date is not "NA" (or % complete = 100) Tasks that should have finished: Actual finish date on or before the status date. Tasks that have actually finished / Tasks that should have finished 1.0 is perfectly on track. < 1.0 worse > 1.0 better Above .95: green .90 to .85: yellow Under .85: red
 

Performance Index

Rationale

This criteria can be used to calculate both the schedule performance index or the cost performance index based on the fields selected as inputs.  For the schedule performance index, this measures the target efficiency ratio.  For example, if the deliverable is scheduled to cost $50,000 and $25,000 of work has been accomplished, the SPI would be 0.50.

Calculation

Budgeted Cost for Work Performed (BCWP) / Budgeted Cost for Work for Scheduled (BCWS)

Greater than 1.0 is favorable.  Less than 1.0 is unfavorable.

 

Cost Performance Index

Calculation

Budgeted Cost for Work Performed (BCWP) / Actual Cost for Work for Performed (ACWP)

Greater than 1.0 is favorable.  Less than 1.0 is unfavorable.

 

Schedule Performance Index

Calculation

Budgeted Cost for Work Performed (BCWP) / Budgeted Cost for Work for Scheduled (BCWS)

Greater than 1.0 is favorable.  Less than 1.0 is unfavorable.

 

Baseline Vertical Schedule Integration Error

Rationale

This criteria looks at each summary tasks and makes sure that the next level tasks all roll up. It compares the baseline start and finish dates of the summary tasks to those of the lower level details tasks.

At least one of the lower level detail tasks must have a start date that equals the start of the summary task and that at least one of the lower level detail tasks must have a finish date that equals the end date shown on the summary task. The Summary task start date should always be the earliest date represented and the summary task end date should always be the latest date represented.

Calculation

Each child task is analyzed. All children must start in or after the parent task and must end on or before the parent's baseline.

 

Delinquent Tasks

Rationale

Used to identify tasks that should have started but have not.

Calculation

Evaluates all non-summary tasks for the following:

  • Start Date <= Project Status Date AND Actual Start Date is not set.
  • OR
  • Finish <= Project Status Date AND Actual Finish Date is not set.

 

Out of Sequence Tasks

Rationale

Used to identify tasks that have begun when their predecessors or successors are not 100% complete.

Calculation

Each task's dependency is analyzed. The Actual start and finish dates are read. The first step is to determine whether or not the predecessors and successors are complete and also if they have started. The determination is made depending on the task's relationship:

Relationship Out of Sequence Determination
Finish-to-Finish Successor Complete and predecessor not complete
Finish-to-Start Predecessor not complete and successor started
Start-to-Finish Successor complete and predecessor not started
Start-to-Start Successor started and predecessor not started

 

Dangling Activities

Rationale

Discovers tasks that are missing links to its start or finish points. These tasks can change duration without a detectable impact to the schedule.

Calculation

Incomplete Effort Task =
    Task.Summary is No
    and
    Task.Milestone is No
    and
    Actual Finish is not set

Dangling Task =
    Incomplete Effort Task
    and
        Task.Predecessors are not Start-to-Start or Finish-to-Start
        or
        Task.successors are not Finish-to-Finish or Finish-to-Start

Score = Dangling Tasks / Incomplete Effort Tasks

 

Should Start Tasks

Rationale

This criteria (actually a statistic) looks at each non-summary task to determine if the start date has passed.

Calculation

Looks for non-summary tasks with a start date before the status date (or current date if there is no status date). For split tasks, it looks for a resume date in the past.

 

Project Has Status Date

Rationale

This criteria determines whether the project has a status date. When a project doesn't have a status date, you cannot know whether the status fields are current.

Calculation

If the project status date exists, a score of compliant is the result. Otherwise, a score of non-compliant is the result.