How PPM handles scheduling
Raytio PPM stores all the data you need to plan and track a schedule — dates, work, duration, dependencies, and progress — as independent fields. These fields are user-managed: changing one value does not automatically recalculate the others. This page explains what PPM provides and how the pieces fit together.
What PPM stores
| Capability | How |
|---|---|
| Dependency tracking | All four types (FS/SS/FF/SF) with lead/lag stored per dependency |
| Work and duration | Independent fields for effort (hours) and calendar time (days) |
| Planned vs actual | Separate planned and actual fields for all scheduling data |
| Baselines | Immutable snapshots of the full schedule at a point in time |
| Variance analysis | ppm_baseline_variance view computes date, work, and duration deltas |
| Progress rollup | ppm_work_item_progress view computes weighted parent progress |
| Critical path data | Dependencies and dates are available for external tools to compute the critical path |
These fields let you capture a full project schedule, measure drift against a baseline, and roll up progress from child work items to parent containers.
How the fields fit together
- Dates (
planned_start,planned_finish,actual_start,actual_finish) record when each work item is scheduled and when it actually happens. - Work (
planned_work,actual_work) records effort in person-hours — how much human labour a task requires or has consumed. - Duration (
planned_duration,actual_duration) records the number of working days a task occupies. - Dependencies record logical ordering between work items, with a type (FS, SS, FF, SF) and optional lead/lag.
- Percent complete records how far along each work item is.
Work, duration, and dates are stored independently so you can model scenarios that don't fit a single formula — for example, a concrete-curing task that has a 3-day duration but zero person-hours of work, or a half-time task where planned_work = 40 and planned_duration = 10.
See the detailed pages for each concept:
- Dependency types: FS, SS, FF, SF with lead and lag
- Work, duration, and elapsed time
- Percent complete: manual entry and rollup
- Baselines and variance
What PPM does not do
PPM does not include a scheduling engine. The following capabilities are not built in:
| Capability | Notes |
|---|---|
| Auto-cascade | Changing one date does not automatically adjust dependent dates |
| Critical path calculation | No built-in forward/backward pass algorithm |
| Resource levelling | No resource calendar or assignment-based scheduling |
| Constraint enforcement | Dependencies are informational, not enforced — you can set a start date that violates a dependency |
| Elapsed time calculation | No working calendar to convert duration to elapsed days |
Because all values are user-managed, dates only change when someone deliberately changes them.
Using PPM with external scheduling tools
For teams that need full scheduling capabilities, the data model is designed to interoperate with external tools:
- Export work items, dependencies, and dates to an external Gantt or scheduling tool
- Let the external tool perform scheduling calculations
- Import the recalculated dates back into PPM
Consider pairing PPM with an external scheduling tool when:
- Your project has many work items with complex dependency chains
- You need critical path analysis to identify schedule-driving tasks
- You need resource levelling to resolve over-allocation
- Stakeholders expect auto-updated Gantt charts that respond to changes in real time
- You are contractually required to deliver a CPM schedule (common in construction and government projects)
For tracking work, managing progress, running variance reports, and maintaining baselines, PPM handles everything directly.