See embedded ...Can't address your specifc VBA issues because I view Project
as a management tool with programming allowed for flexibility and to extend
its utility, not a development environment.
G Lykos said:
Steve, I now have what I need. There are some nuances, I did some further
thinking, and made a partial change in direction.
1. We're looking for planned work to date. Not baseline, but rather
current
plan. Not BCWS (i.e. baseline cost), but rather work (man-hours). The
question it is answering is, "How many man-hours were to have been
expended
by today on the current plan?"
Planned work is what the baseline represents. It is saved after the plan is
finalized and before work begun and once created should never change except
when the project itself is redefined. Once work begins, the schedule
represented by the Start, Finish, Duration, and Work fields is automatically
set equal to the data entered into the Actual Start, Actual Finish, Actual
Duration+Remaining Duration, and Actual Work+Remaining Work. ISo what you
are calling "planned work" is not even close to planned work at all - it is
Actual Work for work done + Forecast Work (if I can invent a name) for work
not yet performed. The "current plan" - the schedule you see when you
display the basic default Gantt chart - is not the plan at all once work is
underway - at least for work that as been done the plan is the baseline
while the "plan" is actuals. That sum may be quite different from what was
planned, ie, what your original estimates entailed.
2. For us, "actual hours" are earned hours. Also, we are not on Project
Server, and do not apply timesheet hours to Project tasks. The task work
is
based on a man-hour estimate (actually a mix of different skill types),
and
there is a performance measurement process external to Project which
yields
a task "percent work complete" (effectively a physical percent complete)
that is applied to the task and generates "actual [earned] hours".
"Actual
Hours" as recognized by Project against the task does not necessarily have
an exact relation to the time period where it occurs upon posting of
"percent work complete" since Project just fills actual work from the
start
of the task as the percent work complete increases. For this reason, I
realized that calculating an Actual Work to Date based on Status date is
not
meaningful - the standard Actual Work is in fact what is needed,
regardless
of its relation to the Status date.
So you're measuring progress not by what actually happened in the physical
universe but rather some abstract accounting principle that has no bearing
on the real progress to achieving the goal of the project????? The bottom
line needs to be something that when your client sticks his head in the door
and asks "When will it be done?" you have a better answer than "When it is
finished." I don't see how the "earned hours" pseudo-progress metric you
describe helps you come up with an accurate projected completion date and an
accurate real cost at completion estimate (which, IMHO is the whole reason
for bothering with such issues in the first place - if you're not aiming at
that it has no point).
Project fills in the % Work Complete that is the equivalent to the %
(duration) Complete only by default. If you wish disconnect the two,
turning off the "Updating Task Status Updates Resource Status" option
setting.
% Work complete is not an equivalent to % Physical Complete - If you like I
can give some concrete examples where the three completion percentages are
wildly different from each other for the same in-progress task.
Your last sentence is very confusing. Actual work to status date is VERY
meaningful - actual work to date is simply work to yet another status date
that just happens to also coincide the current date. Comparing where you
were at various status dates is extremely useful because it can give you
indicators whether you're progressing according to plan or are losing
ground, and if you're losing ground is it at a constant or an accelerating
rate going from bas to worse.
3. However, a companion statistic to 1. above is current cost to date.
The
question is, "How much were we planning to have spent by today on the
current plan?" This like 1. above requires a manual accumulation drawing
upon TimeScaleValues.
This is absolutely what the stock BCWS measures. What you're insisting is
the plan, ain't.
So I'm ending up with calculated man-hours to date and actual (earned)
man-hours, calculated cost to date and actual (earned) cost, all based on
current plan. And no, using the built-in EV parameters doesn't provide
that
same information. We do an earned value assessment outside of Project
using
real actual costs from our accounting system, with the project baseline as
the standard for comparison.
See above - as I've said several times now, that is because what you are
calling the "plan" isn't the plan - for work that has been performed what
you are calling the "plan" is numerically equal to the actual because
posting progress updates the schedule fields to be equal to the actual
fields.
Having worked now with Project a bit on this and an earlier exercise
involving custom fields, some things become clear.
1. The Project implementation of custom field names is very poorly
conceived. You outta be able to read or write a field value using a
syntax
as exists everywhere else with collections along the lines of
TaskCustomField("Textn" or "My Name", interchangeably).Value = desired
value, or vice versa.
2. The lack of a collection Sum method is a nuisance.
3. The lack of a Work custom field causes constant non-value-added
bookkeeping in the in-and-out scaling caused by having to use a custom
Number field as a proxy, and yields inconsistent data displays (comma
separators of 000's, unit designator).
4. Ideally, such a basic data manipulation (current planned work to date,
current planned cost to date) would be able to be handled via a formula in
a
calculated field.
It is handled already in the EV fields. For sum to-date, you just need to
set appropriate status date for your reports of interest.
Brings to mind the question - is there a published list of enhancements
for
the next version of Project?
I'm not aware of such a list having been published yet.