What do you mean by "without breaking date confines?" Links, including
links with lag and lead times, calculate the start or end dates of successor
tasks, the "controlled" tasks, based on the start or end of the predecessor
or "controlling" tasks. The link type and lag/lead times establish the
rules for that calculation. If you change the rules, you'll change the
calculation results. I get the feeling you've taken the advice to let
Project calculate the task's dates for you but then when it didn't come up
with the results you thought it should, you put in links, leads, and lags to
make it "fudge" the schedule into some pre-determined idea of what the
schedule is supposed to be. Don't do that.
Lags and leads are valuable tools when they describe the true nature of the
work and the task relationships - for example, if I'm moving offices I have
to pack up the furnishings before before I can load them on the truck. But
I don't have to do all the packing before I start loading - after the first
few boxes are done I canh have the loaders put them on the truck while the
packers continue packing. Lead times model such an overlap perfectly.
If the free calculated schedule doesn't hit the deadlines you're required to
meet, don't just throw in lags, leads, or constraints to fudge it into doing
so. Odds are the schedule that results will prove unworkable when you
actually go and try to do it. Instead you need to look for real,
controllable parameters you can change. A task taking too long to meet it's
deadline? Don't just put lead time into the link from its predecessor to
force it to start earlier - odds are it won't be able to no matter what your
schedule says. Instead put more resources on the task to get in done in a
shorter period of time.
HTH