Here a a macro that will link two selected tasks S2S and F2F by adding a Finish milestone between them. It will add the S2S lag if they are overlapped.
Sub LinkS2SF2F()
**********************************8
* This macro will connect selected tasks with Start-to-Start & F2F ties
*
* Ray Messinger 8-Aug-08
*
**********************************
Dim tt As Task
Dim tt1 As Task
Dim tt2 As Task
Dim myProj As Project
minperday = ActiveProject.HoursPerDay * 60
Set myProj = ActiveProject
Set myTasks = ActiveSelection.Tasks
fName = ActiveProject.name
If myTasks.Count <> 2 Then
MsgBox "You must have two tasks selected for this macro to work"
Your option 2) is best, regardless of the downside considerations that you mention, which I think are not very significant.
Options 1) and 4) are the worst.
I dont understand option 3).
I notice that you favour option 4) without mentioning the arguments against it.
Before software, project planning was possible.
Then early software made critical path method networking possible even though functionality was limited to FS links with positive or zero lag only.
It is still possible, and recommended good practice, to use only FS links with positive or zero lag.
Start with some rules and stick to them, and dont just bend or break them for convenience.
Every Task should have at least one FS predecessor and one FS Successor.
When it seems necessary to use other kinds of links and negative lag, it is really a sure indicator that the Tasks need to be chopped up into smaller pieces.
Lots of Milestones can be very useful as predecessors or successors for Tasks which dont appear otherwise to have one.
Other links can be applied, as extras, after every Task gets at least one FS predecessor and one FS Successor.
FS links are a good representation of reality. Every Task cannot start until some other Task is finished.
FS with negative lag is a joke, and evil as can be. The signal for the start of a Task B goes off in the future and it is impossible to know when to start Task B, ie when you are x Days before the finish of Task A. It is like jumping off the starting blocks at the swimming pool 0.5 seconds before the gun goes off.
Spider Project is most functional and powerful professional project management software.
The first SP version was launched in 1993 and since then it has been constantly improved. Today is used in 34 countries though most Spider Project customers are in Russia. Spider Project offers numerous unique functional features and is the only PM software that optimizes resource, cost, and material constrained schedules and budgets for projects and portfolios.
The unique features of Spider Project include Quantity Based Scheduling, Conditional Scheduling, Skill Scheduling, Optimal Resource, Cost and Material Leveling, Resource Critical Path Calculation, Cash and Material Flows Calculation and Management, Trend Analysis, Advanced Risk Simulation and Analysis, Calculation of Success Probability Trends, Calculation and Management of required Project Time and Cost Buffers, Application of Corporate Norms, Management of many Parallel Budgets, Multiple WBS and many others.
Spider Project was and is used for management of many large scale programs in Russia, including $51bln construction program for 2014 Winter Olympic Games preparation.
The application areas where Spider Project is successfully used include Aerospace, Banking, Construction, Defense, Energy, Engineering, Infrastructure, Manufacturing, Metallurgy, Mining, Oil & Gas, Railways, Retail, Shipbuilding, Software Development, Telecommunications, Utilities, etc.
P6-Auditor - Display information from Primavera P6 audit tables in a user-friendly format
Unifier-Archiver - Extract and archive important documents and attachments from Primavera Unifier
Unifier-Loader - Load data into and out of Unifier via Excel
PCM-Loader - Import data into Primavera Contract Management with flexible and secure, template-driven Excel spreadsheets
PCM-Archiver - Extract and archive important documents and attachments from Primavera Contract Management
PCM-Unifier Migrator - Automatically transfer live and historical data from Primavera Contract Management to Primavera Unifier with ease
Create Radically Better Construction Schedules with ALICE Technologies
Use the power of AI to create construction schedules that reduce risk while cutting costs and build time. With ALICE, develop the ideal schedule during preconstruction -- or recover projects that are off schedule and over budget.
Here a a macro that will link two selected tasks S2S and F2F by adding a Finish milestone between them. It will add the S2S lag if they are overlapped.
Sub LinkS2SF2F()
**********************************8
* This macro will connect selected tasks with Start-to-Start & F2F ties
*
* Ray Messinger 8-Aug-08
*
**********************************
Dim tt As Task
Dim tt1 As Task
Dim tt2 As Task
Dim myProj As Project
minperday = ActiveProject.HoursPerDay * 60
Set myProj = ActiveProject
Set myTasks = ActiveSelection.Tasks
fName = ActiveProject.name
If myTasks.Count <> 2 Then
MsgBox "You must have two tasks selected for this macro to work"
Exit Sub
End If
Dim TaskIDs(2)
For Each tt In myTasks
tcnt = tcnt + 1
TaskIDs(tcnt) = tt.ID
Next
--- Add Start to Start ---
For t = 1 To tcnt - 1
Set tt1 = myProj.Tasks(TaskIDs(t))
Set tt2 = myProj.Tasks(TaskIDs(t + 1))
Sdate1 = tt1.Start
Sdate2 = tt2.Start
DDiff = Application.DateDifference(Sdate1, Sdate2)
dlagday = Int(DDiff / minperday)
dlagday = dlagday & "d"
tt2.TaskDependencies.Add tt1, pjStartToStart, dlagday add predecessor to task2
tt2.ConstraintType = pjASAP
Next
-- Add Finish Milestone ----
tid = tt1.ID
NewID = tid + 1
ActiveProject.Tasks.Add name:="The New Task", Before:=NewID insert after
Set NewTask = myProj.Tasks(NewID)
With NewTask
.name = tt1.name & " Finish"
.Calendar = tCalName
.Duration = 0
End With
NewTask.TaskDependencies.Add tt1, pjFinishToStart, 0
tt2.TaskDependencies.Add NewTask, pjFinishToFinish, 0
Beep
End Sub
Your option 2) is best, regardless of the downside considerations that you mention, which I think are not very significant.
Options 1) and 4) are the worst.
I dont understand option 3).
I notice that you favour option 4) without mentioning the arguments against it.
Before software, project planning was possible.
Then early software made critical path method networking possible even though functionality was limited to FS links with positive or zero lag only.
It is still possible, and recommended good practice, to use only FS links with positive or zero lag.
Start with some rules and stick to them, and dont just bend or break them for convenience.
Every Task should have at least one FS predecessor and one FS Successor.
When it seems necessary to use other kinds of links and negative lag, it is really a sure indicator that the Tasks need to be chopped up into smaller pieces.
Lots of Milestones can be very useful as predecessors or successors for Tasks which dont appear otherwise to have one.
Other links can be applied, as extras, after every Task gets at least one FS predecessor and one FS Successor.
FS links are a good representation of reality. Every Task cannot start until some other Task is finished.
FS with negative lag is a joke, and evil as can be. The signal for the start of a Task B goes off in the future and it is impossible to know when to start Task B, ie when you are x Days before the finish of Task A. It is like jumping off the starting blocks at the swimming pool 0.5 seconds before the gun goes off.