From the Project > Schedule > Edit Task Details you are able to set a Scheduling Constraint on the task. Each constraint will have a different affect based on other project settings, such as, predecessor and scheduling direction.
The Workamajig Way recommends that you use As Soon As Possible for the system to automatically adjust all Plan Start and Plan Complete dates on tasks that have not yet started each night. This will be based upon entries made via the My Task widget by the individual staff members assigned to the tasks. If changes are made via the project schedule screen, the system will recalculate these dates immediately upon Save.
The benefit to setting a constraint to something other than As Soon As Possible, is if you want to lock down the start or end date of a specific task within the schedule, yet leave the rest of the schedule to auto-adjust. For example: One might want to lock down a task where you have a pre-scheduled meeting with the client and you want the project schedule to reflect this as well.
Clarification of Date Fields
To understand how and why constraints are used, we should first gain an understanding of the dates files associated with each project and task and what they mean.
Project Start and Project Complete
- These project level dates can dictate when the first or last task should be planned to start of complete. Any task that has a date outside of this range (no matter the constraint) will turn Red.
- In the Active Project widget, the status there is dependent on all tasks in the schedule. So if just one incomplete task is Red, then the project status is Red. If all incomplete tasks are green, then the project status is green.
Campaign Start and Campaign Complete
- These dates are mainly for reporting and informational purposes only. They do not have any affect on the project or tasks dates that are associated with the campaign.
Plan Start and Plan Complete
- These are the dates you start with, but at time goes on, the plan changes. How it changes is based on several factors, including but not limited to task constraints, project direction, system setup, and actual dates.
Actual Start and Actual Complete
- These are populated by the users assigned to each task. The actual Start Date is populated by the first person to enter time on the task via the My Task Widget. The Actual Complete Date is populated by the last person to mark the task 100% done via their My Task widget.
Original Start and Original Complete (Also known as Baseline)
- These dates are populated when you click the Finalize button at the top of the schedule. These dates do not change automatically and act as a record of where the schedule started originally as your plan and actual dates are updated.
- This date field appears when you use Constraint you define, such as Must Start On or Start No Earlier Than.
- You can only establish a constraint date for either the Start or Completion date of the task, not both.
- This date does not move, while the plan and actual dates may vary.
Definition of Constraint Types
As Soon As Possible
- This is the default constraint for new tasks and is the designed way of letting the system assist with updating your schedules for you.
- The Plan Start Dates and Plan Complete Dates of your tasks will shift as tasks either get completed early or late. Hence keeping the assigned user(s) working as soon as the task is ready to start.
- For example, once a task has been started, the assigned user(s) on the task enters time through the My Task widget, this will populate the Actual Start Date for the task. To complete a task, the assigned user(s) then check they are done with the assignment/task, which then locks in the Actual Complete Date. After which time, the following task (predecessor) is ready to begin.
As Late As Possible
- With this defined constraint, Workamajig schedules the latest possible start and finish dates for the task, given other scheduling parameters. This means the tasks will not push beyond the latest date set in the plan complete date of the task. The task can still be started early, however there isn't much indication of this as the dates you pass along are always going to be pushed to the latest dates possible. Also if a task tasks longer to complete then what was defined, your next task will be overdue by that same amount of days as well.
- This is the default constraint when a project is set with the scheduling direction of From Project Completion. Which requires a Project Due date.
Must Finish On
- This inflexible constraint indicates the exact date on which a task must finish. The system does not prevent you from marking the task complete before or after that date, however the task will permanently turn red if you mark it done on a date other than the constraint date.
- Regardless if the task is red, when its marked 100% done, it will not affect the current status of the project (Active Projects widget). For example, if a task is red, yet 100% done, and then remaining open tasks are green, then the project status is green.
Must Start On
- This inflexible constraint indicates the exact date on which a task must begin. The system does not prevent you from beginning the task early or late, however the task will permanently turn red if you start it on a date other than the constraint date.
- To start a task, an assigned user on the task will need to update the task in some way via the My Task widget. This is most commonly done by simply entering time on that day via the widget.
Finish No Earlier Than
- This moderate constraint indicates the earliest possible date that this task can be completed. It cannot finish any time before the specified date or else the task will permanently turn Yellow.
Finish No Later Than
- This moderate constraint indicates the latest possible date that this task can be completed. It can be finished on or before the specified date without effect to the status. however if its marked done after this date, then the task permanently turns Red.
- For projects scheduled from the finish date, this constraint is applied when you type a finish date for a task.
Start No Earlier Than
- This moderate constraint indicates the earliest possible date that this task can begin. It cannot start any time before the specified date or else it will permanently turn Red.
- For projects scheduled from the start date, this constraint is applied when you type a start date for a task.
Start No Later Than
- This moderate constraint indicates the latest possible date that this task can begin. It can start on or before the specified date, yet if its stared after the constraint date, then it will permanently turn Yellow.
Duration of Project
- This constraint is typically used for Administrative tasks that will span the duration of the project. You can then enter a bulk amount of hours for "Account Management" or similar services. These hours will then be spread out on the Staff Schedule screen based upon the allocated hours to the Person/Service.
- The plan duration is based on one of two factors:
- If this is the only task (or all tasks are set to Duration of Project), then this tasks Plan Start and Plan Due Date are controlled by the Projects Start and Due dates.
- If there are other tasks in the schedule with constraints other than Duration of Project, then this tasks Plan Start and Plan Due Date are controlled by the task with the earliest Plan Start Date and the latest tasks Plan Due Date.
- Tasks that are set to this constraint MUST be top level tasks, nested tasks will not see this as a constraint choice.
- Predecessors do not work with Project Duration tasks.
By default the system is designed to adjust the start and end dates of tasks for you each night. There are three global options that control how the constraint of As Soon As Possible works.
These option are located in Menu > Admin > System Setup > Account Information > Transaction Preferences > Project.
- Push Schedule Dates On Tasks: This option pushes out the start date of tasks, that have no actual start date, to the next day. This effectively pushes out the end date of those tasks, based on the days in duration of those tasks. Once time or a percent has been entered on the task, the plan start date no longer gets pushed.
- Push Schedule End Dates On Started Tasks: This option allows tasks with an actual start date, to push the end date and the days in duration, to the next day with each nights recalculation. This way tasks remain on the Staff Schedule Screen as a "task still assigned to the user" for the current day. Once the task is marked 100% complete, then the plan due date no longer pushes.
- Actual Dates Change The Plan Dates: This option allows a task with an actual start and/or complete date to update the plan dates to align with the actuals.This allows the remaining tasks to be auto scheduled. If you want to keep a record of the project schedule original dates, then use the Finalize option the first time you make your project active.
For more on this, refer to the Auto-Schedule guide.
Finalize Original Schedule
It is good to use the Finalize option in the schedule when you first make a project active. As this will populate the Original Dates, so you can compare your plan and actuals with what your original dates were.
When planning a task, the duration of the task is not meant to be seen as how long the assigned user has until they need to start working on it. The overall idea here is that if a task is ready to start today, regardless of the due date, they should be working on that task.
So with this in mind, the duration should really reflect how long it takes to complete the task from when you actually start working on it.
Planning From The Start Date
When using the default constraint of As Soon As Possible, you do not need to make sure the plan dates of the task meet up with the project due date. Instead plan for how long the tasks take to actual complete. Then if the schedule goes longer and pushes the due date of the last task past the project due date, then the project status turns Red to alert you the schedule is taking longer than the due date of the project.
Project Templates with Constraint Dates
In your project templates, if you set a constraint date, this does not translate into a new project since all dates are unique to when that project starts. So all constraint dates are set to the start date of the project. This idea here is that you need to choose what these will be.
Another alternative to using constraints is to adjust how you Predecessors are linked and possibly the use of Lag.
If you have a company holiday in the calendar (Public Company Meeting, Blocked Out, All Day), then you cannot have a task plan to start or complete on that day. The schedule will automatically take these company holidays into account. This also applies to weekends.