Constraints in Primavera P6 are special dates that restricts the start or completion date of activities. If you use a constraint in a schedule, you would set the date of the constraint manually to the date you require, as it is independent of any currently scheduled dates. This can affect the critical path of the schedule, which is why there are concerns about constraint usage; shown in most of the guidelines for good scheduling.
In this video, we will discuss the different types of constraints and common the mistakes made with constraint usage. These can result in a schedule that is impractical, unrealistic, or illogical.
Types of Constraints in Primavera P6
There are two main categories of constraints in Primavera P6; internal and external. Let’s take a look at both of these categories.
Internal Constraints are tactical or technical constraints that are imposed on the project by internal events or conditions. They are often more controllable then external constraints, but they still need to be accounted for in the schedule. Softer constraint types can be used that will highlight the restriction, but not lock down the network logic or violate the critical path. Examples of internal constraints are:
- Management Targets – for achieving a certain strategic objective; like system upgrades or the development of new technologies to improve efficiencies.
- Market Conditions – can drive constraints on certain types of projects where the time to market can impact profitability.
- Inter-project Dependencies – can be a factor when deliverables from one project affect the start of work in another project.
- Resource/ Skill Constraints – would be the availability of specialized personal to perform certain activities within the schedule.
- Outage Periods – a common constraint found within the electrical utility companies. A lot of project schedules can be affected by or dependant upon outage periods when parts of the electrical grid are powered down for repairs. These events often feature as hard constraints in many utility company project schedules.
External Constraints are situations imposed upon your project by external situations that are out of your control. Harder constraints can be used to represent external constraints. Examples of external constraints are:
- Contractual Constraints – this may be a date imposed on your project by the contract. The customer may require certain deliverables to be completed on or before a specific date and failure to do so can sometimes result in a financial penalty.
- Environmental Constraints – these are imposed by environmental agencies or sometimes the local government. For example, the fish spawning policy dictates that there are specific dates during the year when work cannot take place in a river or lake.
- Seasonal & Weather Constraints – these constraints can affect many projects. For example, it may be necessary to shut down a construction project during a harsh winter because freezing temperatures that make it too dangerous or impossible to work.
- Legal/Administrative Constraints – these constraints can include legal deadlines based upon pending changes to the law, or submittals, inspections, and the approval of permits.
- Third-Party Constraints – these may include subcontractor timelines, manufacturer lead times, and long procurement items.
When Should Constraints Not Be Used?
Some of the most common misuses of constraints found in the capital projects industry are:
- Falsely setting activity dates that cannot otherwise be met by network logic. Dates should always be calculated by Primavera P6 based upon the relationships they have with other activities, as shown in Figure 1.
- If there are no internal or external restrictions on the activity, constraints should not be used to lock in desired dates, as shown in Figure 2.
Instead re-engineer the network logic to find a way to achieve the desired dates.
- Constraints should not be used as an alternative to activity relationships. Using constraints in place of activity relationships diminishes the validity of the project schedule. When the project is programmed, activities that are not dependent on preceding activities will not be affected by delays in the schedule, shown below in Figure 3.
- Using finish constraints to hide float is considered a bad scheduling practice. If activities are exhibiting high float, find viable and realistic successors for the activity. If there isn’t a logical successor, link the activity to the project complete activity or milestone. Then enter a narrative in the P6 notebook area to explain the high float, as shown below in Figure 4.
Constraints should not be used to prevent dates changing when the project is updated. Using constraints to lockdown activities and prevent them from moving when the project is progressed, will undermine the schedules’ data integrity. It is virtually impossible to perform effective critical path analysis with schedules built in this manner and the schedule will have little value to the project management team.
You should never use constraints in Primavera P6 that cannot be justified or explained regarding a tangible external or internal date restriction. Start On and Finish On constraints will protect the network logic and only drive negative float into the network when their dates are exceeded.
Hard constraints can wipe out negative float on their assigned activity and will move the activities in violation of their calculated dates. If you follow these guidelines, your projects will be respected by your peers and customers.
We’ve produced a short video, ‘Using Constraints in Primavera P6’ where you can get a feel for the constraint types and their usage. Watch this video to better understand good scheduling guidelines and get tips on how to work using constraints.
You can also see other Oracle Primavera P6 videos by Ten Six here as well as subscribe to our YouTube channel to receive notifications of when we post a new video.