Import Microsoft Project

ALICE Optimize allows for the import and export of Microsoft Project (MSP) schedule files. Read on to learn more about supported use cases, limitations, and technical details for ALICE and MSP interoperability.

To learn how to create new projects based on MSP or P6 files, click here.

Interested in importing an updated version of a schedule you have already configured in ALICE? Check out schedule sync.

How ALICE Supports Microsoft Project's Scheduling Logic

MSP has several differences from traditional CPM scheduling tools like P6. 

Upon the import, ALICE will recognize the Microsoft Project file format, and will automatically apply MSP Scheduling Mode. This will allow the user to achieve the same results as in Microsoft Project, if other external factors  are not in play.

For “Start from Scratch in ALICE” case, the users need to upload empty Microsoft Project file, so ALICE will start using MSP Scheduling Mode, and start to develop their schedule.

Limitations between MSP and ALICE

External Tasks

In Microsoft Project, it is possible to create cross-connected links between multiple schedule files. These cross-connected tasks are called External Tasks. ALICE does not fully support external tasks when imported from MSP. If you utilize this feature in MSP, read on to understand how these are handled upon import to ALICE.

Once imported, ALICE will treat those tasks As Soon As Possible, and they will miss their actual start and end dates, as well as relationships coming/going to external projects. ALICE will export these tasks as standard tasks. 

The temporary solution involves locking the start and end dates in Excel before importing them to ALICE. However, this does not guarantee a 100% accurate experience.

Export .XML File Type

Schedules can be exported out of ALICE into the MSP XML format via the Export button.

Due to the proprietary nature of the standard .mpp file type format used by MSP, ALICE cannot export to .mpp format.

Technical Details: Data Mapping between MSP and ALICE

Many scheduling fields are shared between MSP, P6, ALICE, and other scheduling tools. Below are a few data structures unique to MSP and how ALICE addresses them upon import. 

Calendars with Custom Workweeks

ALICE supports custom MSP workweeks - if a schedule with custom workweeks is imported, the workweeks will appear in the calendars section of the project resources tab in ALICE.

Project Properties

MSP does not have a Project ID, ALICE uses MSP’s Project Name to populate this field.

Task ID

MSP has an ID and a Unique ID field for each task. ALICE uses MSP’s Unique ID field to populate its Task ID field. 

Elapsed duration

If elapsed days are for task duration in MSP, a 24-hour calendar is applied to that task in ALICE. Lag can also be specified as elapsed duration. Add "eh", "ehour" or "ehours" as a suffix to any lag value to allow that specific lag to use calendar hours instead of the project's default lag calendar. For example, to specify a lag of 4 elapsed hours, you would type "4eh".

Manually scheduled tasks

  • MSP users are able to hard code a start date for a given task within MSP. MSP will call this a “manually scheduled” task. ALICE will take those hard dates and add them as a must start on constraint in ALICE. 
  • In the event that the manually scheduled task has another constraint assigned to it, the “must start on” constraint would override it. 

Split tasks

  • MSP allows for tasks to be split an infinite number of times.
  • ALICE only supports splitting tasks into 2 sections each. 
  • If the task is in progress, and has more than one split, ALICE will combine the sections after data date into 1 section, sections before the data date shall be another section.
  • If the task is not in progress, ALICE will honor the first split.

Inactive Tasks

  • MSP users can mark tasks as "inactive". This does not delete the tasks but ignores them in scheduling. 
  • ALICE does not import “inactive” tasks and will notify the user, if applicable, at import. 

Milestones

  • Milestones do not have start or finish distinction in MSP.
  • ALICE uses the following conditions, in order, to determine the milestone type:
    • If a milestone includes a start constraint, or ALAP constraint, set it as a start milestone.
    • If a milestone includes a finish constraint, set it as a finish milestone.
    • If the milestone doesn’t have a start or finish constraint, and does not have predecessors, set it as a start milestone.
    • If none of the above applies and milestone does not have successors, set it as a finish milestone.
    • If none of the above applies, set as a finish milestone.
  • In MSP, users can select “Mark task as milestone”. This would be a task with all of the properties of a task (resources, durations, calendars, etc.) but it would be rendered as a milestone in the gantt chart. 
    • ALICE imports this type of task as a task plus a finish milestone. All of the task properties will remain with the task. The milestone is added as a successor to the task with a FS relationship. The milestone will have the same name as the task and will inherit the successors of the task. 

Project WBS

  • In MSP, users can create summary tasks instead of WBS levels. Unlike ALICE or P6, these summary tasks can include:
    • A duration that is different from the sum of its subtasks
    • Relationships
    • Custom properties
    • Resources
    • Primary constraints
  • ALICE will convert the summary tasks into WBS levels and subtasks as follows: 
    • ALICE uses the MSP Project Name or Title as the root WBS level
    • ALICE propagates the following fields from the summary task to the subtasks
      • Relationships
      • Custom properties
      • Resources
      • Primary constraints
  • ALICE uses MSP’s WBS ID field for ALICE WBS sorting 

Resources

  • Resource Types
    • The MSP resource type work is imported into ALICE as labor.
    • The MSP resource type cost is imported into ALICE as equipment.
    • The MSP resource type material is imported into ALICE as material (no change).
  • Resource Assignment
    • MSP assigns resources in percentage terms. 
    • ALICE converts those percentages to decimals, where 100% of a resource in MSP is equal to 1 of that resource in ALICE.  
  • Resource calendars
    • ALICE will import resource calendars associated with tasks and use these calendars when scheduling the tasks.
    • If a task in MSP has the 'scheduling ignore resource calendars' flag, when that task is imported, ALICE will also import that flagged status and ignore resource calendars when scheduling those tasks.
      • It is not possible to view this flag in ALICE, only in MSP. 
Was this article helpful?
1 out of 1 found this helpful