> For the complete documentation index, see [llms.txt](https://docs.work-relay.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.work-relay.com/functional/gantt-chart/dates-durations-and-their-calculation/step-calculation-modes.md).

# Step calculation modes

[Processes](/processes/working-with-processes/creating-and-basic-editing-of-a-process.md) have [steps](/processes/process-steps/step-types.md) with different calculation modes. Calculation mode is the way steps handle changes in their dates and durations. Calculation mode can be:

## Duration driven

* Step depends only on it's duration.
* Step start date is automatically calculated by system based on date when previous step has been ended (or when process has been started - for first steps).
* Step end date is simply calculated by adding step duration interval to start date.
* When previous step end date is changed, this step dates are shifted too to make step start immediately after previous one.

## Date driven (soft)

* Step dates are set by user or by system at planning stage.
* Step dates are recalculated by system based on date when previous step has been ended.
* Step end date is simply calculated by adding step duration interval to start date.
* When previous step end date is changed, this step dates are shifted too keeping step relative date/time position. This means if there is a gap (positive or negative) between previous and current step, it will not be changed.

## Date driven (hard)

* Step dates are set by user or by system at planning stage.
* Step end date is simply calculated by adding step duration interval to start date.
* Step dates are not affected by previous step dates changes.

## Notes

* In all these modes step durations can be changed.
* Date-driven calculation modes behavior can be overridden by selected [Recalculation Algorithm](/functional/gantt-chart/dates-durations-and-their-calculation/recalculation-algorithms.md).
