"Finish no later than" constraints are NOT the best way to express
deadlines. One uses Project to figure out just what it is you have to
do in order to make those deadlines. A FNLT constraint always shows you
finishing on time, even if the plan as you've designed it is such that
it is actually impossible for you to do so. If your tasks move later in
the plan when you remove the constraint, that's your cue that if you try
to work the plan exactly as you designed it, you WILL finish late and be
in trouble. I believe the best practice is to let Project freely place
the tasks where it calculates they will go, ie, no constraints, and
indicate your deadlines with the Deadline field. This marks the date
you must hit on the Gantt chart but the task shows where it WILL fall
with your present work plan, whether on time or late. If your plan will
have you finish after that deadline date it red-flags it for you. Then
you adjust the tasks preceeding the deadline, adding resources or
adjusting their links, etc, to short the chain leading up to the
deadline until the late task moves forward to meet the deadline
required. This gives you a model you can use to experiment with plan
options and design one that will actually let you come in on time and
under budget.