Project Milestone Question

kellykaufmann
Mega Guru

Will we break anything if we say that a milestone for a closed task is based on if 'Actual Effort' field =0 instead of looking at whether the task Actual Start Date & Actual Finish Date happen to be on the same date? Will this break milestones in Project Workbench, or any other illustrations?

Why I'm asking: Built-in functionality based on my understanding is that a project task is automatically marked as a milestone if planned duration = 0 for that task. But when a project task is marked as Closed Complete, SN looks at the Actual Start Date and Actual End Date (not actual duration like it does for an open project task) entered for that task, so even if it has a planned duration of several days & Actual Effort as 8 hours on one specific day, it still marks it as a milestone. Wondering if we should change this to look at 'Actual Effort' when Closed Complete and say if Actual Effort = 0, then Milestone. This would of course require people to be diligent about updating Actual Effort. Perhaps also change the functionality for while a project task is open — to look at Planned Effort.

4 REPLIES 4

amullendarby
ServiceNow Employee
ServiceNow Employee

I think what happens is that when a Project Task is set to Closed Complete that the actual duration (Actual End Date - Actual Start Date) overwrites the Planned duration. This is one of the many reasons that baselining is important.



So Milestones are defined by Planned duration at all times, it is the Planned duration that changes based on task state. The Gantt Chart and the Workbench both look for Planned duration = 0 to show a task as a milestone, so if you changed what defined a Milestone then you would also have to change what the Gantt chart, the Workbench, and even what the Milestones related list queries.



This is what I have seen from my testing. Check your Planned duration on a Closed Complete task and see if it gets overwritten by the actual duration. I could be wrong.


Thanks, Alex Darby. That does seem to be what's happening OOTB.



1. So if SN's 'Actual' calculation is (Actual End Date - Actual Start Date), that is different from MS Project's 'Actual' calculation which is ((Actual End Date - Actual Start Date) +1). This is part of what was confusing us. Do you know if we have the ability to change this calculation if we wanted to, to match MS Project's calculation?



2. I understand baselining to be a snapshot with approved changes along the life of a project. But you shouldn't lose your 'planned' dates/duration just because the project task is finished - your planned was your planned at some point in time and your actual is your actual. It should keep that data. Others with different PM experience may feel otherwise!



3. "if you changed what defined a Milestone then you would also have to change what the Gantt chart, the Workbench, and even what the Milestones related list queries." > in the background is there some definition that says milestone = x? And the Gantt chart, workbench, etc. all pull from that definition? So I would possibly only make this change once?


No problem Kelly Kaufmann.



1. You probably could but I am not sure how. I would start by looking at the BR called 'Set Close Data on Inactive' but that is just a guess. I am not alot of help when it comes to scripting.



2. I have heard arguments in many different directions and I am not quite sure why it is set the way that it is. I think that there should be Planned duration (whatever it was set to last), Remaining Planned duration (whatever remains based on what is currently set) and then   Actual Duration (whatever happened). I will have to start an Idea or maybe a Poll on that to see what folks think.



3. I am not familiar with how all the scripting works but you may be able to make the change once. The Gantt Chart is a pretty complicated schedule page that is mostly code. I am not even sure where the Workbench code lives. The simplest part is the Milestones related list. You would have to get a developer to start there and then figure it out, that is my best guess anyway. That relationship query is under System Definition > Relationships, just look for Milestones.



Sorry, I am not much help when the going gets tough. Maybe somebody else will have some better developer input.


Thanks, Alex! We're going to dig into this next week.