In KTern, constraint types and constraint dates are crucial
elements that influence the scheduling of tasks. These constraints define
limitations or conditions that must be met for a task’s start and end dates. Let’s
look at how constraint types and constraint dates work, and how they affect
total slack, start date, and end date of a task during auto scheduling and
manual scheduling.
Constraint Types
KTern supports several constraint types, each with a
specific purpose and impact on task scheduling:
- Must
Start On (MSO): The task must start on the specified constraint date.
- Must
Finish On (MFO): The task must finish on the specified constraint
date.
- Start
No Earlier Than (SNET): The task cannot start before the specified
constraint date.
- Start
No Later Than (SNLT): The task must start on or before the specified
constraint date.
- Finish
No Earlier Than (FNET): The task cannot finish before the specified
constraint date.
- Finish
No Later Than (FNLT): The task must finish on or before the specified
constraint date.
- As
Soon As Possible (ASAP): The task should start as early as possible.
- As
Late As Possible (ALAP): The task should finish as late as possible
without delaying subsequent tasks.
Constraint Date
The constraint date is the specific date associated with the
selected constraint type. For example, if the constraint type is “Must Start
On,” the constraint date is the exact date on which the task must start.
Effects on Scheduling
Total Slack
Total slack is the amount of
time that a task can be delayed without affecting the project’s end date.
Constraints can significantly impact total slack:
- Must
constraints (MSO, MFO): These constraints eliminate slack because the
task must adhere to the specified start or finish date.
- Flexible
constraints (SNET, SNLT, FNET, FNLT): These constraints may reduce the
slack by setting boundaries on when a task can start or finish.
- ASAP
and ALAP: These constraints optimize the scheduling to either minimize
or maximize the slack.
In the above image, task "1.3 Validate with KT Enterprise Architect" has the Total Slack as 6 days. However, After adding the constraint type "Finish no later than" and the constraint date "Nov 12 2024", the total slack is taken from the constraint date i.e 2 days.
Start Date and End Date
Auto Scheduling
Auto scheduling automatically adjusts task dates based on
dependencies and constraints. Here’s how constraint types influence start and
end dates:
- MSO/MFO:
The task’s start/end date is set to the constraint date, overriding
dependencies.
- SNET/SNLT:
The task’s start date is adjusted to respect the constraint, ensuring it
doesn’t start before or after the specified date.
- FNET/FNLT:
The task’s end date is adjusted to respect the constraint, ensuring it
doesn’t finish before or after the specified date.
- ASAP:
The task is scheduled to start as soon as possible considering
dependencies.
- ALAP:
The task is scheduled to finish as late as possible without delaying
dependent tasks.
Manual Scheduling
Manual scheduling allows users to set start and end dates
directly. Constraints serve as a reference regardless of the constraint type with no direct impact on the dates or Total Slack.
Examples
Example 1: Must Start On (MSO)
- Constraint
Type: Must Start On
- Constraint
Date: 2024-11-04
- Effect:
The task must start on November 4, 2024, regardless of dependencies or
resource availability.
Example 2: Start No Earlier Than (SNET)
- Constraint
Type: Start No Earlier Than
- Constraint
Date: 2024-11-01
- Effect:
The task cannot start before November 1, 2024. It may start on or after
this date based on dependencies and resources.
Understanding constraint types and constraint dates in KTern
is essential for effective project scheduling. Constraints help manage and
control the start and end dates of tasks, affecting total slack and ensuring
that project timelines are met. Whether using auto scheduling or manual
scheduling, constraints provide a framework for maintaining order and
predictability in project management.