User Tools

Site Tools


msproject_addin

Microsoft Project Add-In Utility

The Microsoft Project Add-In, named IPM Utilities, is a set of tools created to streamline interactions between certain IPM procedures and your Microsoft Project schedule. Other useful features are included as well, and grouped separately in the 'Other Utilities' section; these are not directly involved with IPM.

1. Installation and Compatibility

The IPM Utilities are installed for all users on a computer, and the installation will require administrative privileges. The download information for the most recent version can be found below.

  • Version 2018.14.7; Released January 31, 2019
  • Use Serial Number 33d5-a6ed to activate the software after launching it for the first time

The 32- and 64-bit versions of Microsoft Project are supported. The ribbon menu does not exist in Project versions before Project 2010, so the interface will appear differently.

IPM Utilities in Project 2010


2. Activation

The IPM Utilities are free, but they must be activated after a thirty-day trial period. This means you need to register the software with the free serial number 33d5-a6ed. The software registers automatically if you use the top button on the activation screen: “Active Now using your issued serial number”.

  1. Activate Now using your issued serial number
    • This option requires you to enter your name, company, email address, and serial number. Use the serial number 33d5-a6ed for the serial number field to activate your software.
  2. Obtain Activation Key via the Internet
    • This option will ask you for your name, company, email address, and serial number (33d5-a6ed). If the information provided is valid, your default web browser will open with a message containing your Activation Key. Copy and paste the activation key into the text box at the bottom of the activation screen and select “Activate Now”.
  3. Obtain Activation Key via the telephone or E-mail
    • This option will either send an email to us with an activation request, or provide you with a Unique ID. You can call the number displayed on the screen, provide us with your serial number (33d5-a6ed) and Unique ID, and we will activate the software for you. This is used primarily for offline activation.
  4. Activate Later
    • You may select this option to continue your free trial and access the utilities. If the Number of Days Remaining displays “0” then your free trial has expired and you must activate the software in order to continue.

3. IPM Settings

This form is responsible for storing your field settings for the IPM Utilities. The Settings Profile Tag text box at the top of the form is used to maintain your settings between multiple Project files. Entering in a unique, identifying tag for the settings you have entered will tag that Project file with your profile, and in the future will load the corresponding settings. This makes transitioning between multiple Project files seamless once they have been tagged with different settings profiles. The text you enter must be 10 characters or less.

The Settings form requires the user to select several fields from their Project file through the drop-down boxes provided in the Field Settings section. Each field select should correlate with its description. These options should correspond to what has already been assigned in IPM, allowing the automated processes to interact with the schedule appropriately.

If these settings are not updated or not correct then you may experience errors while operating the utilities.




4. Import Status

This process uses a Microsoft Excel file exported from IPM to update the status of designated tasks in your Microsoft Project schedule. To accomplish this, follow these steps:

  1. Open the MS Project file that was posted to IPM for statusing.
  2. Select the “Import Status” button from the OPDEC tab
  3. Check the 'Set Phys % Complete = CAM % Complete' option if desired. This option also applies your custom CAM completion percentage as the physical completion percentage. Doing so allows Microsoft Project to display task completion progress in the Gantt Chart view.
  4. Press the “Import Status” button
  5. You will be asked to locate the Excel file that was exported from IPM.
  6. At the end of the process you will be presented with a report showing the status dates that were requested and the result of the status being imported. Cells highlighted in red indicate a difference between the value listed for a field in the Excel file and the value reflected in the corresponding field of your Project file. The “Concern” column will list the Task ID of any Out of Sequence predecessors that the current task has a relationship to. A task's predecessor is considered out of sequence by comparing the Actual Start and Actual Finish of the predecessor and current task based upon the relationship type (i.e. FS, FF, etc.). This does not necessarily indicate a problem, but these issues should be reviewed and understood before continuing.

5. Export Status

This utility exports the current status of your Microsoft Project file to a predetermined format that can then be imported into the cost system. Any inactive tasks in your schedule will be ignored. The typical process is dictated below:

  1. Ensure you have the correct Settings applied and then select the “Export Status” button from the OPDEC tab
  2. Choose from the Export Format drop-down depending on which Cost System is being utilized by the program: Deltek's MPM or IPM's Internal Cost Module.
  3. Press the Export Status button
  4. The tool will update you on the export process using the status bar on the dialog
  5. When the process completes, the resulting “.csv” file(s) will be in the same folder as the MS Project file provided. These files must then be handed off to finance for import into the cost system.

5.1. Errors

The export process first validates your schedule data to ensure it can be transferred to the destination cost system without issues. Below is a listing and explanation of these errors.

  • IPM Format - Regular Tasks
    1. “The assigned earned value technique of '@@@' is invalid” - The value in the EVT field (specified in settings) did not match any expected EVT values. These are PP, 0/100, 25/75, 40/60, 50/50, PC, LOE, MW, BE, AE, and MWPC. AE (Apportioned Effort) and BE (BCWP Entry) values will not trigger this error, but they will also not be exported.
    2. “Summary's Actual Finish doesn't match latest Actual Finish of its detail” - The summary task's dates should align with the latest Finish date of its detail. If the summary is a MWPC task, please ensure that all of its children are identified appropriately with Milestone ID's and Milestone Weights. This check is primarily for catching milestone summaries that include detail tasks not part of the milestone (e.g. a summary task with 'MWPC' EVT, and six detail tasks. Four of the detail tasks are labelled as MWPC with the appropriate Milestone ID/Weight, and two are not. The two that are not could throw off the summary's actual finish calculation.).
    3. “A 'MW' or 'MWPC' EVT assigned to a non-summary task”
    4. “Non-numeric value in CAM % Complete field”
    5. “Contract Group field didn't contain a value.” - This can only occur if you provide a contract grouping field in your settings. It may be looking at the wrong field, or needs to be set to 'Not Applicable'.
    6. “Actual Finish given with CAM % Complete < 100.” - A task must have a CAM Percent Complete value of 100 if it has an Actual Finish date.
    7. “CAM % Complete = 100 but no Actual Finish given.”
    8. “The task has a forecast Start date prior to the Status Date.”
    9. “The task has a forecast Finish date prior to the Status Date.”
    10. “The task has an Actual Start date beyond the Status Date.”
    11. “The task has an Actual Finish date beyond the Status Date.”
  • IPM Format - Milestone Tasks
    1. “No milestone weight assigned” - Check the field you've identified in your settings as the Milestone Weight field.
    2. “No Work Package ID assigned” - Check the field you've identified in your settings as the Work Package ID field. The Task UID in question did not have a value in that field.
    3. “Work Package ID doesn't match its summary's” - This is a detail level task with a value in its Work Package field that doesn't match the value on its summary (parent) task.
    4. “Cannot have an Actual Finish if parent doesn't have Actual Start” - A detail task cannot finish before its summary starts.
    5. “Cannot have an Actual Finish before its parent's Actual Start date.” - A detail task's start/finish dates must align with its summary. Cannot finish after its summary finishes.
    6. “Cannot have an Actual Finish later than its parent's Actual Finish.” - A detail task's start/finish dates must align with its summary. Cannot finish after its summary finishes.
    7. “Doesn't have an Actual Finish while its parent does.”
    8. “Forecasted to finish before its parent's Start date.”
    9. “Forecasted to finish after its parent's Finish date.”
    10. “Not summarized by a task with EVT of MW or MWPC.” - This is a detail task whose summary does not have an EVT value of 'MW' or 'MWPC'.
  • MPM Format
    1. “Work Package ”@@“ on Task ID [###] is missing a hyphen to delineate the Milestone ID.” - IPM updates non-weighted EVTs within MPM using its milestones. The Milestone ID that it updates is the portion of the Work Package text after the hyphen (“-”).
    2. “Task ID [###] has an empty contract group field.” - Check the field you've identified as your Contract Grouping field in your IPM Settings. This field must have a value or needs to be set to 'Not Applicable' in the settings.
    3. “Task ID [###] has an CAM %C > 0 but no Actual Start date.” - The task must actually start before it earns any CAM Percent Complete.
    4. “Task ID [###] has an Actual Finish yet CAM %C is not 100.” - The task must have a CAM Percent Complete value of 100 if it has an Actual Finish date.
    5. “Task ID [###] has an CAM %C of 100 but no Actual Finish date.”
    6. “The task has a forecast Start date prior to the Status Date.”
    7. “The task has a forecast Finish date prior to the Status Date.”
    8. “The task has an Actual Start date beyond the Status Date.”
    9. “The task has an Actual Finish date beyond the Status Date.”

6. Export BCR

This utility is responsible for carrying BCR changes from Microsoft Project over to IPM. It accomplishes this by exporting all of the necessary information from each activity that is marked with a BCR number in the Change Control field identified in your settings. The export is created in a comma-separated values text file (.csv) in the same folder location as the Project file. This file can then be uploaded into IPM.

Before the utility will allow the creation of the export file for IPM, it will first verify the integrity of the changes being made. The validation process will check for several things, but some checks are given a lower priority than others. These low priority checks will be listed as Warnings, while the urgent checks will be listed as Errors. Please see below to determine the criteria for any errors or warnings you may receive. Note that inactive tasks are not subjected to these logic tests, but they may still be exported if the BCR field values correspond.

6.1. Errors

  1. Invalid Baseline Start
    • The activity's Baseline Start field is not recognized as a date.
  2. Invalid Baseline Finish
    • The activity's Baseline Finish field is not recognized as a date.
  3. Baseline Start must be prior to Baseline Finish
    • The activity's Baseline Start date is listed as being later than its Baseline Finish
  4. Invalid Baseline Duration
    • The activity's Baseline Duration field is not recognized as a number.
  5. Activity with an unknown, invalid EVT
    • An EVT was encountered that does not match those that are accepted by IPM. Any value in the EVT field must conform to one of the following eleven values: 0/100, 25/75, 40/60, 50/50, PP, PC, LOE, MW, MWPC, BE, or AE.
  6. Package does not have an EVT assigned
    • This error will report any BCR affected packages that are missing an EVT.
  7. Package has multiple EVTs assigned
    • This error will report any BCR affected packages that have more than one EVT assigned.
  8. Task has a duration without a Package or Exemption defined
    • The activity's Baseline Duration is not equal to 0, it is not a summary, and both the Package ID and Exemption fields are blank.
  9. Closed Task with no Actual Start, Actual Finish, or CAM %C < 100
    • Closed activities must be shown as being complete
  10. Task needs a Milestone Weight to accompany a Milestone ID
  11. Task needs a Milestone ID to accompany a Milestone Weight
  12. Milestone Weight value cannot exceed 16 digits and 4 decimal places
    • The milestone weight cannot be longer than 16 digits total (including digits after the decimal), and cannot have more than 4 digits after the decimal point.
  13. Activity must have an EVT of 'AE' if Base WBS provided
    • The Base WBS field is used only on Apportioned Effort EVT activities
  14. Activity with 'AE' EVT must have a value in the Base WBS field
    • Apportioned Effort activities gain performance based on the Base WBS they are apportioned to
  15. Task cannot have both an EVT and Milestone ID/Weight
  16. Summary has EVT but no Package defined
  17. Summary has EVT but no Control Account defined
  18. Detail Package ID must match its summary Package ID
    • The activity is part of the detail for a summary task tagged with the BCR number, the summary task has an EVT, and the detail task has no Package ID or a Package ID that does not match its summary's.
  19. Detail Control Account must match its summary Control Account
    • The activity is part of the detail for a summary task tagged with the BCR number, the summary has an EVT, and the detail activity has either no Control Account or a Control Account that does not match its summary's.
  20. Detail BCR # must match its summary BCR #
    • The activity is part of the detail for a summary task tagged with the BCR number, the summary has an EVT, and the detail activity has either no BCR # or a BCR # that does not match its summary's.
  21. Detail activities of a milestone summary cannot be milestones
    • The activity is a detail activity of a summary within a summary. The first summary level has an EVT of 'MW' or 'MWPC'. The summary within that summary is listed as a milestone. This activity is part of the detail for the second level summary, and it is also defined as a milestone with an ID and Weight provided.
  22. Weighted EVT Package has no milestones defined
    • The activity is a summary with an EVT of 'MW' or 'MWPC', and it has no detail activities defined as milestones.
  23. MW and MWPC EVTs must be summaries
    • These earned value techniques require earned value milestones to be identified within the schedule. This is done by using a summary activity as the work package and sub-activities as the milestones. If milestones are not requested or required within the schedule, the EVT needs to be reevaluated.

6.2. Warnings

  1. Activity name is duplicated within this BCR #
    • Activity has an EVT provided, and its Task Name is not unique among the other activities tagged with the same BCR #. This seems like it could be indicative of a problem.
  2. Milestone ID does not equal activity UID
    • This is a convention that we recommend users follow, but it is not required.
  3. Package ID not in [Control Account]-[UID] format
    • This is another convention that is recommended for schedule clarity, but it is not required.

7. MilestonesPro to PNG

This utility provides the capability to convert images created in the software Milestones Professional from their default file format to the .png image format. This allows the files to be uploaded into IPM while retaining their high quality image resolution.

Begin by using the Browse button at the top of the form to select the folder containing the Milestones Professional files you would like to export. Use the Search button at the bottom of this section to find all of the Milestones Pro files available. If you enable the “Search SubDirectories” check box, the process will look not only in the folder you selected, but also all folders contained within the initial folder. If the search process either takes too long, or you see all of the files you need already, you can use the “Stop” button to cease the search process.

Once you can see your Milestones Professional files in the list, select which ones you would like to export using the “Select” column. The “Select All” check box will deselect/select all files in the list.

Now, use the Browse button at the bottom of the form to select your export location. This is the folder where the resulting .PNG image files will appear. With the appropriate files still selected, use the Export Selected File(s) button to begin the export process. Once completed, you may access the newly created PNG files in the folder specified.


8. Import Baseline EV Data

This process uses a Microsoft Excel file exported from IPM to update your Microsoft Project file with earned value data.

The information being imported to your Project file represents all the EV data that was identified during the IPM baseline process. Work Package ID, Milestone ID, Milestone Weight, EVT, and schedule Exemption information is updated to the schedule to ensure a solid linking connection to the cost data.

NOTE: It is very important that this process is executed if schedule changes are to be uploaded to IPM, overwriting the schedule that is already there. Avoiding this step can cause EV information identified in IPM to be lost.


9. Export Calendars

Clicking on this utility exports your Microsoft Project file's calendar to a “*.CSV” text file that is saved in the same location as the Project file. This text file is then uploaded into IPM to determine the non-working days for the schedule.


10. Other Utility Settings

This form is responsible for storing the settings for all of the Other Utilities. These are the general-purpose tools not directly related to IPM.

You may manage different settings profiles by using the File options: Create, Save, Rename, and Delete. These profiles are stored on your machine; they are independent from the Microsoft Project file you are using.

The drop-down options should have Project custom fields that correspond to each description. These custom fields are used during the Inspect Schedule Status checks.

  • CAM % Complete: The percent complete as entered by the CAM (Control Account Manager) or activity owner
  • Empty Text Field: An unused text field is required for the process to flag which tasks triggered which Inspect Schedule checks.
  • Empty Date Field: An unused date field is required to perform calculations during the Invalid Baseline Data and Baseline Summary Alignment checks on the Inspect Schedule.
  • Major Events: Enter the field that uniquely identifies the major events in your schedule (i.e. PDR, CDR, etc.)
  • Earned Value Technique: The text field identifying the EVT of each task.
  • Exemptions (DCMA/EVAS): The text field identifying any exemption values for the DCMA and EVAS checks in the Inspect Schedule tool. The exempt value required is specific to the check you would like to exempt the task from, and it will be either the DCMA 14-point number enclosed with braces or the EVAS code enclosed in braces. For instance, to exempt a task from the fifth DCMA check (Hard Constraints), you would place a value of “{5}” into the exemptions field. To exempt the EVAS version of the Hard Constraints check, you would insert a value of “{06A209a}” since that is the EVAS check's code without parentheses.

The last option, “Restore user filter after Inspect Schedule runs/closes”, indicates whether the Inspect Schedule tool will reapply whatever filter you had on your project before running it.


11. Inspect Schedule

This utility contains a a series of schedule health checks broken into three categories: DCMA 14-point, EVAS, and IPM. The IPM checks are designed to OPDEC's IPM software and its custom requirements, while the 14-point and EVAS checks conform to DCMA's requirements.

  • Status Date - IPM recommends setting the time of day in your status date to the project's default end time. If it is not, the utility will display a warning sign next to the status date in the upper right corner.
  • Use Exemptions - If this setting is checked, exemption field values will be taken into consideration (see Exemption Field in Other Utility Settings). These exemptions will only apply to the DCMA and EVAS checks, and the exempted issue count will be displayed in the “Exempt” column of the tool.

11.1. DCMA 14-Point Checks

For convenience, we will refer to two task groups in the documentation. These are Incomplete Tasks and Total Tasks. Some of the DCMA checks require that we include some of these tasks, and these exceptions will be noted.

Incomplete Tasks

  • Summaries - The Summary field equals Yes.
  • LOE - The earned value technique field (provided by the user in the settings) equals “LOE”. Also, if a summary task is assigned an “LOE” EVT, its detail tasks are considered LOE as well.
  • Milestones - The Baseline Duration field equals 0.
  • Inactive - The Active field equals No.
  • Completed - The Actual Finish field does not equal NA.

Total Tasks

  • Summaries - The Summary field equals Yes.
  • LOE - The earned value technique field (provided by the user in the settings) equals “LOE”. Also, if a summary task is assigned an “LOE” EVT, its detail tasks are considered LOE as well.
  • Milestones - The Baseline Duration field equals 0.
  • Inactive - The Active field equals No.

Check Details

  1. Missing Logic
    • Description: Identifies incomplete tasks with either no predecessors or no successors.
    • Percentage: Missing logic incomplete tasks divided by total incomplete tasks.
    • Goal: Less than or equal to 5%.
  2. Leads
    • Description: Identifies task logic links with leads (negative lag) on incomplete tasks. Negative time is not demonstrable and should not be encouraged.
    • Percentage: Lead links divided by total number of links within incomplete tasks.
    • Goal: Zero.
  3. Lags
    • Description: Identifies task logic links with lags on incomplete tasks.
    • Percentage: Lag links divided by total number of links within incomplete tasks.
    • Goal: Less than or equal to 5%.
  4. FS Relationship Types
    • Description: Identifies the number of links using the Finish-To-Start relationship on incomplete tasks. These should make up the vast majority of links in the schedule.
    • Percentage: FS links divided by the total number of links found within incomplete tasks.
    • Goal: Greater than or equal to 90% of links.
  5. Hard Constraints
    • Description: Identifies incomplete tasks with hard constraint types: Must Finish On, Must Start On, Start No Later Than, or Finish No Later Than.
    • Percentage: Incomplete tasks with hard constraints divided by total incomplete tasks.
    • Goal: Less than or equal to 5%.
  6. High Float
    • Description: Identifies incomplete tasks with a Total Slack value greater than 44 days.
    • Percentage: Incomplete tasks with high float divided by incomplete tasks.
    • Goal: Less than or equal to 5% of incomplete tasks.
  7. Negative Float
    • Description: Identifies incomplete tasks with a negative value for Total Slack.
    • Percentage: Tasks with negative float divided by incomplete tasks.
    • Goal: Zero.
  8. High Duration
    • Description: Identifies incomplete tasks within the planning period that have a Baseline Duration > 44 days. The planning period is defined as 60 working days after the schedule's status date; only tasks with a Baseline Start within this period are considered. This check will ignore planning packages (both summaries and their detail tasks).
    • Percentage: High duration, incomplete, not planning package tasks divided by incomplete, not planning package tasks within the planning period.
    • Goal: Less than or equal to 5%.
  9. Invalid Dates
    • Description: Identifies tasks with a Forecast Start/Finish prior to the Status Date, and tasks with an Actual Start/Finish after the Status Date.
    • Percentage: Invalid date tasks divided by total tasks.
    • Goal: Zero.
  10. Missing Resources
    • Description: This check is not applicable. IPM does not allow resources in the schedule.
    • Percentage: NA
    • Goal: NA
  11. Missed Tasks
    • Description: Identifies tasks that were supposed to finish according to their baseline, but have not. These tasks have a Baseline Finish less than the Status Date as well as either a Finish greater than the Baseline Finish or the Actual Finish equals 'NA'.
    • Percentage: Missed tasks divided by total tasks with a Baseline Finish date less than or equal to the Status Date.
    • Goal: Less than or equal to 5%.
  12. Critical Path Test
    • Description: The goal is to test the integrity of the schedule's network logic, and particularly its critical path. If any negative slack is found in the schedule, the test immediately fails with a notification. Otherwise, the steps below are performed.
      1. The major events are released. This means removing any constraints or deadlines on all tasks identified as a major event in your settings.
      2. Gather the current Project Finish date
      3. Calculate what adding 600 days to the Project Finish date will be (according to the default schedule calendar)
      4. Filter the schedule for tasks with Total Slack equal to 0, an Actual Finish equal to NA, and a Summary field value of No.
      5. Find the task within the filter criteria that has the earliest Start date.
      6. Increase this task's duration by 600 days.
      7. Check to see if the Project Finish date is equal to what we gathered in Step #2.
        • If it is not, this indicates a problem in the network logic. The entire schedule (without constraints/deadlines) should shift forward when we increase the duration of our incomplete task.
      8. The process restores all major event constraints/deadlines and resets the duration of our targeted task to its initial value.
    • Percentage: The utility will display 1 for a Pass, and 0 for a Fail.
    • Goal: NA
  13. Critical Path Length Index
    • Description: The CPLI is a measure of the efficiency required to complete a milestone on time. The completion task is targeted automatically by the utility. The calculation steps are listed below.
      1. Filter the schedule for all major events (identified in your settings) that meet the following criteria: EVT is not equal to 'LOE', Actual Finish is equal to NA, and Baseline Finish is greater than the Status Date.
      2. Find the major event among the filtered list with the earliest Forecast Finish. This is our completion task.
      3. Release the major events. This removes any constraints or deadlines associated with major event tasks.
      4. Find the Critical Path Length (CPL). This is the number of working days between the Status Date and the unconstrained completion task's Finish date.
      5. Constrain the completion task to its Baseline Finish date with a Finish No Later Than type.
      6. Find the completion task's Total Float (TF).
      7. Restore the major events' constraints and deadlines.
    • Percentage: (CPL + TF) / CPL. This metric is left as a ratio instead of a true percentage.
    • Goal: Greater than or equal to 0.95
  14. Baseline Execution Index
    • Description: The BEI is a calculation of the efficiency of task accomplishment measuring against the baseline tasks. Listed below are the calculation steps followed:
      1. Filter out inactive tasks, summaries, LOE tasks, and milestones.
      2. Filter the resulting tasks down to those with a Baseline Finish less than the first day of the Status Date's month.
      3. Count and label as Baseline Count
      4. Clear filters
      5. Filter out inactive tasks, summaries, LOE tasks, and milestones.
      6. Filter for tasks with an Actual Finish less than the first day of the Status Date's month.
      7. Count and label as Actual Count
      8. Divide the Actual Count by the Baseline Count. This is the BEI.

The BEI is always shown along with the Hit Task Percentage (HTP). The HTP is displayed in the Exempt column of the utility for this check. The calculation steps for the HTP are listed below.

  1. Filter out inactive tasks, summaries, LOE tasks, and milestones.
  2. Filter for tasks within this subset having a Baseline Finish less than or equal to the last day of the Status Date's month.
  3. Count and label these as the Baseline Count
  4. Add an extra criteria to the existing filter, and filter for tasks having an Actual Finish less than or equal to their Baseline Finish.
  5. Count and label these as the Actual Count
  6. The HTP is the Actual Count divided by the Baseline Count.
  • Percentage: The BEI and HTP calculations are shown above.
  • Goal: Greater than or equal to 0.95

11.2. EVAS Checks

The EVAS checks include most of the Artifact 11 checks (categorized as requiring only the IMS) items with a few exceptions. Excluded are the checks requiring unavailable EV Percent Complete or BCWP values (“06A504a”, “06A504b”, and “10A302b”) as well as check “06A211a” which requires external contractor information.

For convenience, when referencing “incomplete tasks” in the descriptions below, we are referring to tasks that meet the following criteria:

  • Summary - Summary field equals No.
  • Active - Active field equals Yes.
  • Incomplete - Actual Finish equals NA.
  1. (06A203a) SF Relationships
    • Description: Identifies any incomplete tasks with a predecessor linked with a Start to Finish relationship.
    • Percentage: Incomplete tasks with SF relationships divided by incomplete tasks.
    • Goal: Zero.
  2. (06A204a) SS or FF Relationships
    • Description: Identifies any incomplete tasks Start to Start or Finish to Finish predecessor links.
    • Percentage: SS or FF successor tasks divided by incomplete tasks.
    • Goal: Less than or equal to 15%.
  3. (06A204b) Dangling Starts or Finishes
    • Description: Identifies either predecessor tasks without any FS or SS relationships (Open Start) or successor tasks without any FS or FF relationships (Open Finish). Open Starts are only evaluated when the activity contains predecessors and Open Finishes are only evaluated when the activity contains successors.
    • Percentage: Dangling tasks divided by incomplete tasks
    • Goal: Zero.
  4. (06A205a) Use of Lags
    • Description: Identifies tasks with logic links that include lag.
    • Percentage: Lag tasks divided by incomplete tasks.
    • Goal: Less than or equal to 10%.
  5. (06A206a) Use of Leads
    • Description: Identifies incomplete tasks with logic links that include leads (negative lag).
    • Percentage: Leads tasks divided by incomplete tasks.
    • Goal: Zero.
  6. (06A208a) Summary with Logic
    • Description: Identifies summary tasks that have either predecessors or successors.
    • Percentage: Summary tasks with logic divided by incomplete tasks.
    • Goal: Zero.
  7. (06A209a) Use of Hard Constraints
    • Description: Identifies incomplete tasks that utilize one of the following constraint types: Start No Later Than, Finish No Later Than, Must Start On, or Must Finish On.
    • Percentage: Incomplete tasks with hard constraints divided by incomplete tasks.
    • Goal: Zero.
  8. (06A210a) LOE Tasks with Discrete Successor
    • Description: Identifies any LOE tasks with a discrete successor. We define discrete tasks as those having a recognized Earned Value Technique (EVT) that is not 'LOE' or 'AE'. The EVT field is identified in the Other Utility Settings. See the EVT entry in the Glossary section of this documentation for a list of acceptable values.
    • Percentage: LOE tasks with discrete successors divided by total number of LOE tasks.
    • Goal: Zero.
  9. (06A212a) Out of Sequence
    • Description: Identifies tasks that are out of sequence. Here are some peculiarities we take into consideration for this check.
      1. This check will only look at incomplete tasks, except when dealing with Finish to Finish relationships.
      2. The link's lag is always incorporated into the date comparison.
      3. If the lag is in elapsed units, we will use a standard calendar to incorporate it. If not, we will use the default calendar associated with the schedule.
      4. Time of day is taken into consideration when comparing.
      5. Start to Finish relationships are not considered. These are always marked as bad network logic, and should be caught in the above check “(06A203a) SF Relationships”.
      6. Summary tasks and inactive tasks are avoided.
    • Percentage: Out of sequence tasks divided by incomplete tasks plus completed tasks with FF relationships.
    • Goal: Less than or equal to 1%.
  10. (06A213a) Missing Predecessor or Successor
    • Description: Identifies discrete, incomplete tasks either without predecessor or without successor. We define discrete tasks as those having a recognized Earned Value Technique (EVT) that is not 'LOE' or 'AE'. The EVT field is identified in the Other Utility Settings. See the EVT entry in the Glossary section of this documentation for a list of acceptable values.
    • Percentage: Incomplete, discrete tasks without pred/succ divided by total number of incomplete, discrete tasks.
    • Goal: Less than or equal to 10%.
  11. (06A301a) Invalid Summary Baseline Dates
    • Description: Identifies summary tasks whose Baseline Start dates do not match the earliest Baseline Start of all its detail tasks or Baseline Finish dates do not match the latest Baseline Finish of its detail tasks.
    • Percentage: Supposed to count the number of detail tasks that throw off the alignment, not the number of summary tasks that do not match. See JWC.
    • Goal: Zero.
  12. (06A401a) Critical Path
    • Description: See the DCMA 14-Point metric number 12 - Critical Path Test.
    • Percentage: NA
    • Goal: NA
  13. (06A501a) Missing Baseline Start or Finish Dates
    • Description: Identifies incomplete tasks that do not have a Baseline Start or a Baseline Finish.
    • Percentage: Missing baseline date incomplete tasks divided by incomplete tasks.
    • Goal: Less than or equal to 5%.
  14. (06A504a) Prior Month Actual Start Change
    • Description: Identifies tasks whose Actual Start date has changed from the previous month's IMS to the current month's IMS. The user must provide the file location of the previous IMS they would like to check their current file against. Ignores only summary tasks and inactive tasks.
    • Percentage: Tasks with an Actual Start date change divided by the total number of tasks in the previous IMS with an Actual Start date.
    • Goal: Less than or equal to 10%.
  15. (06A504b) Prior Month Actual Finish Change
    • Description: Identifies tasks whose Actual Finish date has changed from the previous month's IMS to the current month's IMS. The user must provide the file location of the previous IMS they would like to check their current file against. Ignores only summary tasks and inactive tasks.
    • Percentage: Tasks with an Actual Finish date change divided by the total number of tasks in the previous IMS with an Actual Finish date.
    • Goal: Less than or equal to 10%.
  16. (06A506a) Invalid Actual Start and Finish
    • Description: Identifies tasks with an Actual Start or Actual Finish greater than the status date.
    • Percentage: Number of invalid AS/AF tasks divided by total tasks.
    • Goal: Less than or equal to 5%.
  17. (06A506b) Invalid Forecast Start and Finish
    • Description: Identifies tasks with a Forecast Start date less than the Status Date without an Actual Start, and tasks with a Forecast Finish date less than the Status Date without an Actual Finish.
    • Percentage: Invalid Start/Finish tasks divided by incomplete tasks.
    • Goal: Zero.
  18. (06A506c) Forecast Dates Riding the Status Date
    • Description: Compares the prior month's IMS to the current month, and identifies tasks that move in constant proportion to the status date. This is the only check that requires an external file be provided by the user. The calculation steps are below.
      1. Identify all tasks, excluding summaries, in the current schedule with no Actual Start date and a Forecast Start date within three days (+/-) of the Status Date.
      2. For each one of these tasks, check the prior month schedule and see if the same task have a Forecast Start date within three days of the prior schedule's Status Date.
      3. Count the tasks that match between the two files.
      4. Identify all tasks, excluding summaries and inactive tasks, in the current schedule without Actual Finish dates, but with Actual Start dates.
      5. Identify all tasks, excluding summaries and inactive tasks, in the prior month schedule with Actual Start dates.
      6. See if any tasks match in this second set. If they do, we check their Remaining Duration. If the Remaining Duration is +/- 2 days then these are flagged and counted as well.
      7. The issue count will be a unique combination of both sets of identified tasks.
    • Percentage: All flagged tasks divided by incomplete tasks.
    • Goal: Less than or equal to 1%.
  19. (10A303a) Zero Duration Planning Package
    • Description: Identifies planning package tasks with a Baseline Duration value equal to 0. Planning packages are required to have a value of 'PP' in their EVT field (defined in your settings).
    • Percentage: PP tasks with zero duration divided by total PP tasks.
    • Goal: Less than or equal to 10%.

11.3. IPM Checks

  1. Out of Sequence Tasks
    • This check is very similar to the EVAS version. The only difference between the IPM and EVAS versions is that the IPM version will look at all completed tasks, and will also accommodate for the Start to Finish relationship type.
  2. Tasks Needing Status
    • This check will identify tasks that require an updated status.
    • Other Criteria: The task is not a summary, has a Start/Finish prior to the status date, and does not have valid actual start/finish.
  3. Invalid Performance
    • This check will identify any tasks whose CAM percent complete field is not in alignment with its actual start/finish.
  4. Invalid Baseline Data
    • This checks for problematic data with Baseline fields: Baseline Start, Baseline Finish, and Baseline Duration. Since MS Project will accept ANY values as baseline start/finish/duration, this check not only ensures the finish date is after the start but also confirms that only date/number values are given (no symbols, question marks, blanks, etc.).
  5. Split Tasks
    • This check identifies incomplete (Actual Finish equals 'NA'), split tasks. These are tasks with an intermittent schedule; they stop/start work one or several times in their duration. Split tasks may cause problems when assigning Actual Start/Finish dates and can negatively affect schedule health.
  6. Effort Driven
    • This check will identify any task marked as Effort Driven.
    • Other Criteria: The task is effort driven.
  7. Unknown EVT
    • This check identifies any values in the EVT field that are not accepted by IPM. Any value in the EVT field must conform to one of the following eleven values: 0/100, 25/75, 40/60, 50/50, PP, PC, LOE, MW, MWPC, BE, or AE.
  8. Constraint on Completed Tasks
    • This check will identify any completed tasks that have a constraint applied.
    • Other Criteria: The task is not complete, has a constraint date, and is not a summary.
  9. Constraint on Summary Tasks
    • This check will identify any summary tasks that have a constraint applied.
  10. Consecutive Constraints
    • This check identifies any tasks with constraints (Constraint Type is not “As Soon As Possible”) whose successors also have constraints.
  11. SNET Not Pushing
    • This check identifies tasks with a “Start No Earlier Than” constraint whose predecessors are pushing the Start date of the task past the constraint date. These constraints do not affect the schedule.
  12. ? Durations
    • This check will identify any tasks with a question mark in its duration.
  13. Non-Fixed Duration Types
    • This check will identify any tasks that do not have a fixed duration type.
  14. Elapsed Durations
    • This check will identify any tasks that have an elapsed duration (an “e” in the duration field)
    • Other Criteria: The task has not finished.
  15. Non-Day Duration Types
    • This check will identify any tasks that have a duration specified in a different unit of measure other than days.
    • Other Criteria: The task is not a summary, does not use days as a unit of measure, and is not finished.
  16. Fractional Durations
    • This check identifies any tasks with a duration that is not a whole number.
    • Other Criteria: The task is not a summary, has not finished, and has a duration that is not a whole number.
  17. Resources Assigned in Project
    • This check will identify any tasks that have been assigned resources.
    • Other Criteria: The task contains entries for the Resource Names field.
  18. Inactive Tasks
    • This check identifies any tasks with a value of No in the Active field of Project. Note: This check only applies for Microsoft Project versions 2010 or later
  19. Manually Scheduled Tasks
    • This check will identify any tasks that have been set as manually scheduled instead of automatically scheduled. Note: This check only applies for Microsoft Project versions 2010 or later
  20. Multiple Calendars
    • This check will identify any tasks that are using a calendar that is different from the default calendar as set in Project Information.

This utility provides the capability to step through each task of predecessor to successor relationship, viewing detailed information about each task along the way.

Upon opening the utility, the task you currently have selected will be displayed in the middle section of the screen. Its predecessors are shown above, and its successors are shown below. Navigate through a relationship by selecting the Predecessor/Successor Task Name link or double clicking anywhere in the row to load the selected task as the current task. You may also select a task in the Project window in order to load it as the current task. Selecting the left arrow will navigate back to the previously selected task, while the right arrow will move the selection to back to your most recent position. You may also enter in the task ID or UID in the boxes at the top of the form and press the ENTER key to navigate to the specified task.

All duration fields displayed are converted to day measurement units (as defined by your Hours Per Day setting in Project). Most fields shown in the Navigate Tasks window are self-explanatory; however, there are two that may require further elaboration: Gap and OoS.

The Gap field displays the duration between the relationship end of a predecessor and relationship start of its successor. The Out of Sequence (OoS) field will be filled with a red flag icon if the task's status is illogical. The criteria of the Out of Sequence check can be changed on the Settings form. The “Compare Actual dates on Out of Sequence checks” option toggles whether the OoS and Gap columns will make date comparisons between the Actual Starts/Finishes provided to ensure they are in sequence, or just accept any Actual Start/Finish provided to a predecessor/successor. When the option is checked, you have the more precise result.


13. Milestone Set/Release

This utility consists of two tabs: Set Milestones and Release Milestones.

The Milestone Field setting indicates which field you have allocated to identify the milestone tasks. This should be an empty text field that only has values (the value itself can be anything) entered for milestone tasks. This process does not use any settings from the Settings form.

Set Milestones
After selecting a constraint date and constraint type, click the Set Milestones button to apply those constraints to all milestone tasks.

Release Milestones
Simply click the Release Milestones button on this tab to set the constraint type of the identified milestone tasks back to 'As Soon As Possible'.


14. Find UID

Clicking the Find UID button or using the keyboard shortcut (Ctrl+Shift+F) will launch the Find UID utility. This utility will select the task UID provided, and scroll the focus of Project to the task.




15. Initialize Project

Clicking this utility simply applies the All Tasks filter to your Project file, opens all outline levels, and scrolls the file's focus to the first task.


16. Help

The Help button will launch this website in your default web browser. For any additional help, please email support@opdec.com


17. About

The About button will display basic information about your version of the installation as well as contact information if you have any questions about the utilities.


18. Check for Update

The Download Update button will display a form that compares your installed version of the IPM Utilities to the version that is currently available for download. If there is a more recent version of the IPM Utilities available, the form will enable the option to download it. If not, the download button will be disabled.

Additionally, you may enable/disable automatic reminders about new available updates through this form by toggling the check box on or off. If kept enabled, the utilities will remind you of any available updates when you try to use a utility.


19. Version History

  • 2018.14.7
    1. Inspect Schedule
      1. Improved the Split Tasks check to look for tasks with only a leading/trailing split.
  • 2018.14.5
    1. Inspect Schedule
      1. Changed the logic that defines a discrete task. Now, the criteria is that the task has a recognized EVT that is not 'LOE' or 'AE'. This change affected two EVAS checks: “(06A210a) LOE Tasks With Discrete Successor” and “(06A213a) Missing Predecessor Or Successor”.
      2. Fixed bug with the IPM version of the Out of Sequence check that would cause an error when checking Start-to-Finish relationship types.
      3. Fixed a bug with all versions of the Out of Sequence check that would cause errors if the schedule was opened as Read Only.
      4. Fixed a bug causing Project's calculation setting to not be restored to the user's preference.
    2. Other Utility Settings and IPM Settings
      1. Removed the text fields as options for Milestone ID, Milestone Weight, and CAM Percent Complete settings
    3. Export Status (IPM)
      1. Updated the error messaging to more clearly identify issues with MWPC summaries and their detail task requirements.
  • 2018.14.3
    1. Inspect Schedule
      1. Fixed an issue where Standard editions of Project caused an error in the EVAS checks.
  • 2018.14.1
    1. Inspect Schedule
      1. The Critical Path Length Index check in the Inspect Schedule utility will now calculate the project after restoring milestone deadlines/constraints. This prevents any additional checks from basing their logic off an altered schedule state.
      2. The default date format of the schedule will now no longer have the ability to affect the results of any checks.
      3. The Other Utility Settings form will now respond appropriately to invalid user actions such as saving a blank profile or trying to rename a blank profile.
  • 2018.14.0
    1. Installation
      1. The IPM Utilities installation is now compatible with both 32- and 64-bit versions of Microsoft Project.
    2. IPM Settings
      1. Added custom text fields 1 - 30 as options for the Exemptions field.
    3. Inspect Schedule
      1. Added DCMA 14-Point and twenty EVAS schedule health checks. Removed some redundant IPM specific checks.
      2. Resolved an error caused by saving the schedule with a new name while the Inspect Schedule form was open.
      3. The Invalid Performance check will now consider CAM Percent Complete values greater than 100 invalid.
      4. The IPM checks will no longer flag inactive tasks.
      5. Added three new IPM checks: Consecutive Constraints, SNET Not Pushing, and Split Tasks.
      6. Added a warning icon that will appear next to the Status Date on the form if the Status Date's time does not match the schedule's “Default end time” of the day.
    4. Other Utility Settings
      1. Removed “Compare OoS Dates” checkbox. The out of sequence checks throughout the utilities will now always accommodate for both the date and time.
      2. Added an option for an “Exemptions (DCMA/EVAS)” field (used in DCMA 14-Point and EVAS checks of Inspect Schedule).
    5. Milestones to PNG
      1. Will now correctly identify a 32-bit Milestones Professional installation on a 64-bit Windows operating system.
    6. Export Status
      1. Both MPM and IPM formats will check for CAM Percent Complete greater than or equal to 100 (previously not checking for invalid values > 100).
      2. Both MPM and IPM formats will now ignore any inactive tasks in the schedule (only in versions of Project 2010 or greater, and only in Project Professional).
      3. Both MPM and IPM formats will check for tasks needing status. These are new errors that may appear upon attempting the export. Forecast dates (Start/Finish) cannot be prior to the Status Date, and Actual dates cannot be beyond the Status Date.
      4. Updated to accommodate text Exemptions values (previously only allowed numeric).
    7. Export BCR
      1. Will no longer validate or export inactive tasks (Project 2010+, Project Professional)
      2. Updated to accommodate text Exemptions values (previously only allowed numeric).
  • 2015.7.2
    1. Inspect Schedule
      1. Corrected issue allowing errors if the user ran the Inspect Schedule without filling in settings first; the problem was only applicable to checks utilizing brand new setting options from the Other Utility Settings form.
      2. Corrected issues involving the restoration of the user's default view after the utility had finished processing.
  • 2015.7.0
    1. Inspect Schedule
      1. Added new Baseline Summary Alignment check which ensures that a summary task's Actual Start and Actual Finish values align with the earliest start and latest finish of all its children
      2. Added new Invalid Baseline Data check which looks for problematic data with Baseline fields: Baseline Start, Baseline Finish, and Baseline Duration
      3. Added new Unknown EVT check that identifies any values in the EVT field that are not accepted by IPM
      4. Added two new setting fields to the “Other Utility Settings” form to support these new Inspect Schedule checks: Empty Date Field and EVT Field. These will need to be updated prior to running the Inspect Schedule.
    2. A new feature added to the Navigate Tasks now allows the user to resize the predecessor/successor regions individually. This gives more visibility to tasks with many predecessors and few successors or vice versa.
    3. Added warning during status import/export process if the schedule's status date is missing.
    4. Corrected scenario where the Export Calendars process could fail due to calendar names that contain an apostrophe.
  • 2015.4.0
    1. Moved Inspect Schedule and Navigate Tasks to Other Utilities section
    2. Created Other Utilities Settings form to allow custom settings that apply only to other utilities. This allows settings profiles to be maintained independently from individual Project files.
    3. The date and number columns on the Navigate Tasks utility can now be sorted properly
    4. Inspect Schedule must select an Other Utilities' settings profile through a menu at the top
    5. Corrected error in Invalid Performance check logic on Inspect Schedule
  • 2015.2.9
    1. Updated Set/Release Milestones to check for an empty Major Events field
  • 2015.2.8
    1. Added two checks to the Inspect Schedule: Missing Predecessors and Missing Successors.
    2. Updated DCMA Critical Path Test logic
  • 2015.2.6
    1. Added option to the Settings form: “Compare Actual dates for OoS checks”. This allows for more flexibility when checking for out of sequence tasks.
    2. Added option to Export Status utility to allow for schedule status to be formatted in accordance with IPM's cost module
    3. Fixed minor cosmetic issues on Export BCR, Export Status, and Navigate Tasks
  • 2015.2.4
    1. Corrected bug in Validate BCR process that could result in in the utility going into a non-responsive state
    2. Modified the DCMA Critical Path Test to restore “As Late as Possible” contraint types correctly
  • 2015.2.2
    1. Updated the Inactive Tasks check on the Inspect Schedule to not be performed in versions earlier than Project 2010
    2. Updated the way a 'Not Applicable' Base WBS was being handled in the Export BCR utility
  • 2015.2.0
    1. Released new utility: Milestones to PNG. Converts Milestone Professional files to a high quality .png image file format.

msproject_addin.txt · Last modified: 2019/03/22 21:25 by cbaugh