It's not that I'm not familar with those practices. But just because
something might be a common practice doesn't mean we should encourage it to
continue, especially if somehow asks a question about a problem that they're
facing that would become moot if they approached it another way. It is
related to the old issue of whether Project is best used to create a plan or
just to document a plan that has already been created.
I try to make a distinction between what a FNLT constraint is in the real
world of the project work and the entry MS Project CALLS a "FNLT Constraint"
in the software-created gestalt model of that world that is the project plan
we see glowing on out monitor screen. The constraint in the external world
is very definitely real - there's a contract that requires you to deliver X
by the 1st of June and if you don't, the company goes under from the
penaltys incurred. Can't get more real than that! But that's not what a
constraint AS ENTERED INTO THE PLAN IN SOFTWARE is. It is not a requirement
that we must figure out how to meet - it is a limit on what the software
predicts will happen to the plan from the information we've given it, a way
of forcing exceptions to the software's normal behavior. In a manner of
speaking, a constraint MODIFYS or DISABLES a feature of the calculation
engine, forcing it to behave in some non-standad way. The trick is to
insure that the modified behavior results in a model of the project that
behaves more like the real world project than it would without the
constraint.
Consider an Excel spreadsheet that is being used to figure out if you can
afford a new house. We have entered the amount to be borrowed, the interest
rate, and the term and our worksheet is calculating the payment. Interst is
5%, term is 25 years. We decide to do a "what-if" to see what the payment
will be at various amounts borrowed. We want to know the payment at $5000
increments upwards starting at 150 kilobucks and so we use the scenario
tools to build a table. But we have a constraint that the most we've
decided we can afford is $1000 per month and so we put a "must not exceed"
constraint of $1000 on the payment cell. We enter 150k, 155k, 170k in the
amount borrowed and everything works fine. But when we enter 180k for the
principal, Excel insists the payment is $1000 and refuses to calculate any
higher number. No matter what we put into the amount borrowed - 180k, 190k,
210k, 1 million, the payment shown is $1000. The calculated payment is only
an accurate prediction when borrowing amounts are less than about $178k. We
have disabled the calculation for amounts borrowed exceeding a certain
amount by setting a constraint that the payment must not exceed our budget.
As a result, the tool we designed to help us make the buy/no-buy decision is
lieing to us about the consequences of some of the options we're
considering.
Thanks goodness Excel doesn't really behave that way because such a
spreadsheet would be useless for figuring out if we could afford a new
house. But MSP can behave like that and it is the constraint entry that can
make it do it! I have Task A with a duration of 5 days linked to Task B
also 5 days linked to a milestone. We're starting 03 Apr and the contract
requires we finish by 15 Apr. If we have a FNLT constraint of 15 Apr the
milestone shows occuring on 14 Apr; a MFO constraint puts it on 15 Apr. So
far no problem. But now we realize that Task A isn't 5 days but will
require 10. Without the constraint our finish milestone shows on the 21st,
an accurate prediction of the date we'll be able to actually hit IF we have
to live with those durations and start date. But if we put on either of
those constraints, the milestone still shows to be happening on 15 Apr, an
out-and-out lie. Granted, MSP gives us a warning by default but those
warnings can be, and usually are, disabled by the user with just one mouse
click and most users turn off the warning when they're tired of getting
nagged. The result, a project plan that promises to finish on time when
there's no way on God's Green Earth that we're actually going to make it.
I submit to you, if the reason for using scheduling software in the first
place is to figure out what we must do in order to meet our project's
requirements we must leave it free to show us if we're going to hit them or
are going to miss them. Something like an MFO or FNLT co nstraint programs
Project to always place the task in obedience to the constraint - it says,
no matter what we do, no matter what decisions we make, this task will
always fall where we want it to. I suggest that such a lieing plan is as
useless for managing the project as is the above spreadsheet is for managing
our housing search. It merely looks good on paper. It documents what we
want to happen but gives us no help in figuring out how to make it happen.
But simply declaring something will happen in a certain way by using a
constraint to show it that way in the plan is not sufficient in and of
itself to make it so.
--
Steve House [MVP]
MS Project Trainer & Consultant
Visit
http://www.mvps.org/project/faqs.htm for the FAQs