Autoschedule behavior for Finish-to-Finish predecessors on started tasks
search cancel

Autoschedule behavior for Finish-to-Finish predecessors on started tasks

book

Article ID: 431636

calendar_today

Updated On:

Products

Clarity PPM On Premise Clarity PPM SaaS

Issue/Introduction

Autoschedule does not move the finish date of a task to match a Finish-to-Finish predecessor once the task status is set to Started․

Examples-

  • Task finish dates do not shift to align with FF dependencies.

  • The scheduler appears to ignore FF constraints for tasks with actuals.

  • Finish dates remain calculated based on the Actual Start and remaining duration.

This occurs when a task has an Actual Start date recorded and a Finish-to-Finish dependency linked to a successor or predecessor date.

Users may perceive the scheduler as inaccurate when dates do not align with visual dependency lines.

Environment

Clarity - All supported versions

Resolution

A finish-to-finish (FF) dependency refers to a situation in which the initial task must be completed in order for the following task to be completed. The Predecessor Task A and Successor Task B are directly related, and these two tasks can even take place at the same time, but task B is totally contingent on task A. That said, task B does not have to be finished at the same time as task A.

This behavior is working as expected based on standard scheduling logic.

  1. When a task is Not Started, the scheduler treats it as a flexible block that can move to satisfy dependencies. Once a task is Started, it gains an Actual Start date. This "pins" the start of the task to the calendar.

  2. The calculation of the Finish Date is based on the Actual Start plus the planned duration. It will not automatically extend the finish date to meet an FF constraint if the current work is calculated to finish earlier as doing so would incorrectly imply the work is taking longer than planned.

  3. A Finish-to-Finish dependency is a minimum constraint, not a "must match" constraint. The logic dictates the successor task cannot finish until its predecessor task has finished.