Hard and Soft Constraints
I have recently talked about relationship types in dependency charts. When thinking about tasks and dependencies it is important to consider task constraints. Hard, Soft, and Date Constraints will be discussed in this blog.
A type of constraint that is used too frequently is constraint dates. They have their place, but can cause scheduling problems.
I have previously mentioned that schedules should be dynamic plans – moving as the tasks durations change, and not constrained to dates whenever possible. It is therefore important to NOT constrain tasks unnecessarily.
These constraints are things that ‘Must’ happen. I like to to think of these as ‘Laws of Physics’ type constraints. Something MUST finish before the next task can start. They are sometimes called ‘Mandatory’ constraints. As an example:
- You cannot test the prototype until it has been constructed
- Wallpapering cannot start until the plaster has been completed
- You cannot build the wall until the foundation is finished
Very often people offer me ‘hard constraints’ that are in fact ‘soft constraints’:
- You cannot proceed until management approval
- Stakeholder approval is required before continuing
- You cannot start manufacture until the design is approved
Well you can proceed, however it might be better to get approval first!
These constraints ‘Should/Could’ be met. They are sometimes called ‘Discretionary’ constraints. People often treat these as Hard Constraints. However the constraint is optional. Examples include:
- You cannot continue until senior management approval
- You should not start marketing until the software bugs are removed
You can. However it is good discretion not to!
External constraints can fall into two categories. They can be external to the company, or remain within the company but be external to the project
- External To the Project:
- Approval is required from the finance department
- Another project has to be completed to free up resources for our project
- External To the Company:
- We are waiting delivery from a supplier before the next task can start
- The customer must give approval before we start the next project activity
In either case, the project schedule is at the mercy of people in the projects environment.
Sometimes tasks are constrained to a date. Be careful that the correct date is selected for the correct reason
- Delivery of the ‘skip’ is scheduled for next Monday. Remember that if you need a skip sooner or later than next Monday, then you can change that date!
- Delivery of the ‘skip’ is scheduled for next Monday. Because that is the earliest the company can deliver. (Perhaps it should have been booked earlier?)
- Delivery of the skip is required following ‘Demolition of Wall’. The schedule tells us that that will finish next Monday, so that is when the skip should be booked to arrive
Meeting dates are another category of date constraints that are discretionary. You can change (or cancel!) the project meeting.
Use constraints carefully. I talk about their use in Microsoft Project in another blog.
Constraining tasks can constrain your schedule. It will add problems when tasks move. Tasks will move. Task duration estimates are just that, estimates. A project manager is not a fortune teller! The plan must be dynamic and not over-constrained.