Recalculation Algorithms
Recalculation Algorithm is a scheme of step dates recalculations that defines how to handle changes in steps (as current, as other) dates.
Steps of process can have 3 basic Calculation Modes, and one of them ("Duration Driven") is quite simple - steps are just placed one-by-one and are shifted together like railcars in the train. Other two Date Driven modes (soft and hard) are almost equal and their behavior can be changed.
Recalculation Algorithms can be accessed from Gantt Chart page of any process or process instance via Settings menu (1). Open it, go to "General" submenu and click "Manage" button (2) to show "Manage Recalculation Algorithms" popup (3):
There user can:
- Add new algorithm (4)
- Edit selected algorithm (see below)
- Delete selected algorithm (5)
- Set available algorithms (7) for different Gantt modes (6)
- Set default algorithm for each mode (8)
Adding new algorithm:
- Click "Add" button (4)
- Type Algorithm Name (10) and, optionally, Description in the popup appeared (9)
- Click "OK" (11) to apply changes
- New Algorithm (with pre-configured default properties) will be shown in the algorithm list. Red color will indicate unsaved changes (12).
- Click "Save Changes" button (13) to save new Algorithm or "Cancel" (14) to discard changes.
Deleting Algorithm:
- Click "Remove" button (5) to delete selected algorithm
- Click "Save Changes" button
- If there are only one algorithm in the list, the "Remove" button will be disabled to prevent deletion of all algorithms.
- If delete an algorithm that is selected as default (8), one of another avaliable (7) algorithms will be set default instead.
Configuring availability of algorithms:
- Select Gantt Mode which availability will be configured for (6)
- Select one or several algorithms in Available Algorithms picklist (7)
- Click "Add" button (15) to move selected algorithms to Allowed (16)
- Remove unnecessary algorithms from allowed in the similar way (17)
- Set an order in which algorithms will be displayed in Gantt Settings by moving them with "Up" and "Down" buttons (18)
Setting default algorithm:
- Select necessary algorithm from the picklist (8). It will contain a list of algorithms added to allowed.
- Select algorithm to edit in the list (19)
- A "General" section (20) will be shown for this algorithm in the middle of popup
- Change algorithm name (21) and description (22), if necessary
- Set what to do when step duration is changed (23)
- Configure what to do when step Start Date is changed (24)
- Configure what to do when step End Date changes (25)
Configuring what to do when step Duration is changed:
- End Planned Date (default): if change step Duration, system will recalculate planned End Date of the step (e.g., if user makes a step longer, system will move end date and step will be planned to finish later).
- Start Planned Date: if change step Duration, system will recalculate planned Start Date of the step (e.g., if user makes a step longer, system will move start date and step will be planned to start earlier).
Configuring what to do when step Start Date is changed:
- End Planned Date (default): if change step Start Date, system will shift planned End Date of the step by Duration interval.
- Duration: if change step Start Date, planned End Date of the step will be unchanged. Planned step length (Duration) will be changed.
Configuring what to do when step End Date is changed:
- Start Planned Date (default): if change step End Date, system will shift planned Start Date of the step by Duration interval.
- Duration: if change step End Date, planned Start Date of the step will be unchanged. Planned step length (Duration) will be changed.
Note: system will not change any date if this will result in negative or zero-length step duration. I.e., if user try to set Start Date later then End Date or End Date earlier than Start Date (or make these dates equal up to minute), system will not apply changes.
To set up behavior of other steps, see the following section "Configuring relative tasks settings".
There are "relative tasks settings" sections in each Date recalculation settings (26, 27). User can set which relative steps (tasks) should be recalculated when changing step dates. By default only successors of the step being changed will be recalculated, and predecessors will remain unchanged, but user can change this behavior by checking proper checkboxes (28). To change relative tasks recalculation settings, select proper option by clicking on it (29):
Both predecessors and successors of step being changed can be recalculated in two directions: Backward (when Start/End Date is changed to earlier) and Forward (when Start/End Date is changed to later). These two directions have own sections in the right part of Manage Recalculation Algorithms popup (30, 31).
To set default relative task settings user can just check proper checkbox (28) if it was unchecked. System will show pre-populated settings in both Backward and Forward sections.
- Recalculations for Predecessors and Successors are slightly different (not all options are available for both of them).
- Recalculation for the "Forward" direction (31) is performed in the same way as for "Backward".
How to set up the relative tasks settings:
- Click on necessary "Successors" or "Predecessors" section (32).
- Check the main "Recalculate..." checkbox in the proper section to turn recalculation on (33).
- The form (34) will be shown under this checkbox.
-
Select Recalculation Stop criteria (35):
- Recalculate all Predecessors - all predecessors will be shifted correspondingly to date change in spite of their calculation mode. Steps will shift each other like railcars in the train moving backwards up to the first step at all. This will cause the whole process be planned to start in other date/time. E.g., if change planned date of step C-2 to one day earlier (42), the whole process will start one business day earlier too (43). Similar situation will be if recalculate successors in forward direction - the whole process end date will be changed to later.
- Stop on Soft Date Driven Tasks - each predecessor will push it's own predecessor back until this predecessor is have Date Driven (Soft) calculation mode set. The chain of pushes will stop at this step.
- Stop on Hard Date Driven Tasks - chain of predecessors pushes will stop at first Date Driven (Hard) step.
- Stop on Soft/Hard Date Driven Tasks - chain of predecessors pushes will stop at first Date Driven (Soft or Hard) step.
-
Select what to do with gaps between tasks, if they are present (36). E.g., user moves End Date of Step 8 from 06/13 to 06/08 - see pictures below:
- Preserve - do not change relative dates positions. Date-driven steps can have gaps between them (positive, when successor starts later than predecessor ends - highlighted with yellow on the picture below) or negative (when successor starts earlier than predecessor ends, highlighted with red on the picture below). This option will make system keep these gaps (44).
- Remove - system will place steps next to each other and gaps will disappear. In this case first affected predecessor can even become starting later because of disappeared gaps (45).
- Consume - system will "eat" gaps up to their zero length, then predecessors will be pushed. At the picture (46) Step 8 has been moved earlier and the latest gap became shorter (highlighted with orange). After moving Step 8 earlier, another gap became shorter (highlighted with purple). And when Step 8 has been moved more earlier, the last gap has been eaten.
- Negative gaps are fully disappearing in Consume mode and behave like in "Remove" mode when date of the gap end is changed.
- Consume mode is available for Predecessors in backward direction and Successors in forward direction.
-
Recalculate Indirect Predecessors checkbox (37) turns on the proper feature.
- Indirect Predecessors are steps that belong to sub-processes, that are set on steps that are predecessor of changed one. E.g., initial process has several subprocesses (47, see picture below). If do not turn recalculation of indirect predecessors on and move step D-2 back, only direct predecessors steps (D-1, B-1...B-3, Main-1...Main-5) will be recalculated (48). If turn this feature on, steps A-1...A-5 and C-1...C-3 will be recalculated too (49).
- Gaps (38) picklist in indirect predecessors suggests two options ("Preserve" and "Remove") that take the same effect as gaps between tasks described above. No "Consume" option offered for them.
- This option is available for Predecessors recalculation only.
-
Recalculate Tasks in Started Subprocesses (39) checkbox turns on the proper feature. It is actual for process instances that have started subprocesses and future steps in these subprocesses will be recalculated.
- E.g., there is a process with started sub-process (50, see picture below). Such situation can be after process restart. Move step "main-4" 3 days earlier. Without "Recalculate Tasks in Started Subprocesses" option on, the started subprocess (51) will not be affected by recalculation, but not started (52) will be. With this option on, started subprocess will be recalculated too (53).
- When the "Recalculate Tasks in Started Subprocesses" option is turned on, there are two more options will be available: Method (40) and Gaps (41). E.g., there is a process with started subprocess that has steps with dates set (54) and user moves the last step 4 days earlier:
- Method specifies how steps in started subprocesses will be recalculated. Method can be:
- "Shift by difference between old and new End Planned Dates" (default) - first future step in started subprocess will be shifted to the same number of days (55), other will behave respectively to their calculation type and "Gaps" option (see below).
- "Align to new Start Planned Date" - first future step in started subprocess will be aligned with start of changed step (56) - it will get Planned Start Date equal to one of changed step will get.
- "Align to new End Planned Date" - first future step in started subprocess will be aligned with finish of changed step (57) - it will get Planned Start Date immediately after the Planned End Date of changed step.
- Gaps - this picklist in started subprocesses suggests two options ("Preserve" and "Remove") that take the same effect as gaps between tasks described above. No "Consume" option offered for them.
- Method specifies how steps in started subprocesses will be recalculated. Method can be:
Recalculation Algorithms can be exported or imported. This can be performed for all algorithms together only.
- To export algorithms click "Export button (57). An "Algorithms JSON" popup will appear (59) with pre-selected JSON containing all algorithms config. Copy this JSON to paste it into necessary file to keep it.
- To import Algorithms from JSON click "Import" button (58). An "Import from JSON" popup (60) will appear. Paste JSON text into proper field (61) and click "Import" button (62). Click "Yes" button in confirmation popup (63). Imported algorithms will replace all existing (including unsaved). Click "Save changes" button (13) to apply new algorithms configuration.
0 Comments
Add your comment