To build a schedule, insert dependencies, then change end date. The system should reschedule all dates, based on de dependencies. The system should be able to do that for changes of the due date forward (later) and backwards (sooner).
A project is set-up, quotations are asked and a certain due date of the whole project is estimated based on that. Then the project board states the date is too far away and demands an earlier due date.
The new due date is entered in the schedule and then the start date of the project moves a certain amount to the past. Then by verifying with suppliers, the lead time can be reduced (or not). Eventually the only button to turn is the one involving manual labour, which implies that one has to start scheduling shifts. Shifts cost money and hence gives the board a number to chew on if the newly predicted due date is worth their money.