← Tools

Start-to-start dependency

A start-to-start dependency (SS) is a task relationship where the blocked task cannot start until its blocker has started — not finished.

It models work that runs in parallel once triggered by the same event, rather than work that must be fully sequential. A common example: once data collection begins on a project, the analysis plan can be drafted in parallel — analysis doesn't need to wait for collection to finish, only to have begun. Kanbai stores this as one of four dependency kinds (`start_to_start`, alongside `finish_to_start`, `finish_to_finish`, and `start_to_finish`) on the `task_dependencies` table, and the same cycle-rejection trigger that guards finish-to-start chains applies here too — a start-to-start relationship can still participate in a cycle if it loops back through other dependencies, and Kanbai refuses the insert either way, both in the application layer (a readable error) and in Postgres itself (the actual guarantee). Using start-to-start instead of the default finish-to-start when two tasks genuinely run in parallel keeps a plan's computed schedule honest — treating parallel work as sequential overstates how long a project will take.

See dependency-ordered task graphs in Kanbai's plan catalog →