1. A computer-implemented method of scheduling tasks constituting a project comprising the steps of: (a) providing input signals in a computer representing the tasks constituting the project, the dependencies of said tasks on one another and data defining the duration of each said task; (b) processing said input signals in said computer to calculate an initial set of schedule data which forms an initial schedule including an initial set of times for each said task including earliest starting and latest ending times and an initial subset of said tasks constituting a critical path and providing initial data signals representing said initial set of schedule data; (c) calculating at least one effect parameter for said initial schedule by processing said initial data signals in said computer to produce an effect parameter signal in said computer; (d) providing an effect criterion signal in said computer and comparing each said effect parameter to a corresponding effect criterion by processing said effect parameter signal and said effect criterion signal in said computer to determine if each said criterion is met; (e) if any effects criterion is not met, revising said data by: (1) automatically applying a preset selection policy set forth in a selection policy signal to the schedule to select a task for modification and a preset modification policy to adjust the input data for the so-selected task stepwise and providing adjusted input signals in said computer; (2) recalculating said schedule data by reprocessing said adjusted input data signals to thereby provide recalculated schedule data in recalculated data signals; (3) recalculating said at least one effect parameter based upon said recalculated schedule data; and (f) repeating said comparing and revising steps until said at least one effect parameter meets said corresponding effect criterion.