Project Management

Flying Logic's built-in project management features.

A Work in Progress

Flying Logic 2.0 introduced experimental support for Project Management features, which have been expanded in later versions. Currently, we only support a subset of features necessary for Flying Logic to replace a fully-featured package such as Microsoft Project™ or OmniPlan™.

Features Currently Supported

  • Project start date

  • Rudimentary support for project calendar (weekdays)

  • Weekday exceptions calendar

  • Task effort (days only)

  • Per-task start and finish dates, calculated or assigned

  • Task percent complete

  • Milestones

  • Finish-to-start (F2S) task dependencies

  • Rolling up start/finish date summaries to groups

  • Import and Export to Microsoft Project and other project management applications.

  • Scheduling granularities other than days (minutes, hours)

  • Creating and assigning resources to tasks

  • Gantt charts

  • Resource calendars

Features Not Yet Supported

  • Start-to-start (S2S), start-to-finish (S2F), and finish-to finish (F2F) task dependencies

  • Lead and lag time on task dependencies

  • Work Breakdown Structure (WBS) coding

  • Resource leveling

  • Full support for project calendar

  • Costing and budgeting

Enabling Project Management

Using Flying Logic for project management is as simple as creating a new document and then clicking the Project Management icon in the Toolbar, or selecting View ➡ Project Management. Turning on Project Management changes the appearance of entities in the canvas and several inspectors, which are described in detail in the following sections:

  • Entities gain labels for Start Date, Finish Date, Effort, and spinners for Percentage Complete.

  • The Document Inspector gains a new Project Management tab.

  • The Entity tab of the Element inspector contains fields for Start Date, Finish Date, Effort, Percentage Complete, Resources, and Resource Assignment.

  • When creating a custom entity class, there is an option to have entities of the class be a milestone by default; i.e., a task with zero effort.

Project Settings

The Project Management tab of the Document Inspector is where you set up your general project attributes.

The Start Date and Finish Date fields specify the start date (or finish date) for all non-dependent tasks with no specifically assigned start (or finish) date. The arrow button between the fields determines whether the project is scheduled from the start date or the finish date. When scheduling from the start date the Finish Date field is not editable, and when scheduling from the finish date the Start Date field is not editable.

If a project does not start at the beginning of the Start Date or ends before the end of the Finish Date, a “clock” indicator will appear to the right of the date. If the date is currently editable, then the indicator will also act as a button. When pressed, the project will be reset to either start at the beginning of the day or finish at the end the day.

Each document has a standard work calendar. The settings for this calendar can be edited via the following controls.

The Workdays check boxes determine which weekdays will be considered work days for the purposes of date calculations.

The Hours control can be used to set the number of hours in a workday. This affects the meaning a day has when it appears in the effort control in the Element inspector’s Entity tab. Any hour amount greater than or equal to one day will be converted to an amount that includes a day amount; e.g., if the Standard calendar has an 8 hour workday, then an effort of 20 hours is displayed as “2 days, 4 hours.”

The Resources... button opens the Resources dialog that allows the creation of named resources that can be assigned to perform tasks associated with entities. The dialog can also be used to edit and remove resources.

Resource names must be unique within their document, although abbreviations do not have to be unique. Newly added resources start with a units of 100% and use the Standard calendar, but either of these can be changed.

Units indicates a percentage of the hours per workday assigned to the resource based on the calendar. This is an alternate way to indicate a resource works less hours per day instead of creating a new calendar.

The Calendars... button opens the Calendars dialog that allows for the editing, adding and removing alternate calendars. These alternate calendars can then be assigned to resources.

To edit a calendar select it from the combo box. The Standard calendar is also included in this list for convenience.

When creating a calendar you will be asked to provide a name and indicate which existing calendar the new calendar is based upon. Each calendar much have a unique name. In addition to any existing calendar, the new calendar can also be based on the Document Default calendar as set in Project preferences.

The Exceptions... button opens the Weekday Exceptions Calendar, where you can specify exceptions to the regular work week (holidays.)

When you turn Project Management on for a document for the first time, additional information to support project management is added to it. The Remove All Project Management Info button is used to remove all project management information from the document and turns Project Management off. You will only rarely need to use this feature. If you simply want to hide project management information without removing it from the document, just select View ➡ Project Management again.

The Project Management Domain

Flying Logic does not have a built-in domain for Project Management, but a custom domain is available as an example. Select the File ➡ Open Examples… menu item, select the Domains tab in the Open Example dialog, and double-click the Project Management folder to find Project Management.xlogic-d. Double-click on this domain to add it to the current document or create a new document that includes this domain. This domain has five entity classes:

  • Milestone (a class with a default effort of zero days)

  • Fixed-Effort (Work) Task (default resource assignment of Fixed Effort and effort of one day)

  • Fixed-Duration Task (default resource assignment of Fixed Duration and effort of one day)

  • Fixed-Units Task (default resource assignment of Fixed Units and effort of one day)

  • Task (same as Fixed-Effort Task, included for compatibility with Flying Logic 2)

If you are only going to used the Project Management domain in a document, consider hiding the built-in domains (see Hiding Domains).

Entities as Tasks

Flying Logic entities are used to represent tasks and milestones. Tasks with non-zero effort show Start Dates, Finish Dates, and Percentage Complete spinners, while tasks with zero effort only display a Finish Date. Start or Finish dates which have been specifically assigned in the Entity tab of the Element Inspector are displayed in bold.

Merely setting a task’s effort to zero will not change it to the Milestone class, nor will setting a task’s effort non-zero change it to the Task class: you must assign classes yourself based on your intent for the entity.

Effort vs. Duration

The duration of a task, that is, how much calendar time it will take to complete, is determined by the amount of effort the task requires, the resources performing the task, and what calendar the resource will be working on. Flying Logic does not yet support resources or fully-featured calendars, so the duration of tasks is determined by the task’s effort (in days) and which weekdays are marked as workdays in the Project Management tab of the Document Inspector. For example, if you assign a task an effort of 2 days, the start date of the task is a Friday, and only Monday through Friday are counted as work days, then the duration of the task is 4 days, with that Friday and the following Monday being the 2 days of effort required, and the intervening Saturday and Sunday counting towards the task’s duration, but not its effort.

Each task’s effort is set in the Entity tab of the Element Inspector. A task’s duration is always the difference between its Start Date and Finish Date.

Calculated Dates vs. Assigned Dates

By default a task’s Start Date is based on the latest Finish Date of all its predecessor tasks (or the project Start Date if it has no predecessors), and its Finish Date is based on the task’s effort spread over the necessary number of calendar days, skipping non-work days.

There are times when you need to constrain a task to start or finish on a given date. You can do this by entering a specific date in the Start Date, or Finish Date fields of the Element Inspector’s Entity tab. Constraining both dates results in the same amount of effort being spread out over (or compressed into) the assigned dates.

Entering Effort Values

The effort value can be changed by entering a new amount given in days, hours, and minutes optionally separated by commas. You can abbreviate day or days as d, hour or hours as h, and minute or minutes as m. Also, any number with no time unit indicated will be assumed to be the next smallest time unit. Here are some examples:

1 day

2 days

2 day

2d

1 day, 4 hours

1 day, 4h

1 d 4 h

1.5d

12h

A “day” is equal to the number of hours in the Standard calendar. In the example effort amounts above, the two in the fourth row are identical to those in the third row, if the standard work hours per day is 8.

The Resources drop-down menu can change which resources are assigned to a task. To clear a task of any assigned resources, choose the Default item.

The Assignment list can be used to change how multiple resources are applied to a task. The Fixed Effort setting divides the current effort across all the resources, which reduces the duration of the task per newly assigned resource. The Fixed Duration setting indicates that each resource must expend the same amount of effort regardless of total resources, which increases the total effort for each newly assigned resource. Finally, in the Fixed Units setting, each resource only uses part of their time on the task. All other things being equal, two resources will have 50% units, three resources will have 33.3% units, etc.

Percentage Complete

A task’s Percentage Complete can be adjusted from the Entity Inspector, or directly in the Canvas by manipulating the spinner.

Unlike Confidence spinners, which are calculated based on predecessor entities, Percentage Complete spinners are all independent. It is up to you to determine when each task or milestone is complete and mark it as such.

Project Management Features of Chart View

When Project Management is enabled, additional features appear in chart view.

The width and positioning of elements are changed to match the calculated schedule for tasks as indicated by the dates and days of the week that appear in the column header.

Project management specific values now appear in each row. The width of the Resources column can be changed just like the Title and Class columns.

A green completeness bar appears along the middle of entity elements with non-zero effort and completeness.

Edges as Dependencies

Edges between entities represent dependencies between tasks, with a successor task calculated to start after the latest Finish Date of all its predecessor tasks. This is known as finish-to-start (F2S) dependency, and is the most commonly found in project management. Other sorts of dependencies such as start-to-start (S2S) are also used, as is the practice of assigning a positive “lag” time or negative “lead” time to dependencies, however Flying Logic does not currently support these concepts.

Groups as Summaries

When Project Management is turned on, groups display the earliest Start date and latest Finish Date of all their enclosed tasks and subgroups.

Notes on MS Project Export and Import

When exporting a diagram to MS Project exchange format, Flying Logic performs the following conversions.

  • Entities and junctors become tasks.

  • Groups become summaries.

  • Edges determine which tasks are considered predecessors of other tasks. All other attributes of edges are not exported.

  • Entity and group titles, plus junctor names, become task names.

  • Annotations for entities, junctors and groups become task notes.

  • Text 1 or 30 field of the task is set to the element type (“Entity”, “Junctor” or “Group”) based on roundtrip export setting.

  • Text 2 or 29 field of the task is set to entity class (entities only) based on roundtrip export setting.

  • Text 3 or 28 field of the task is set to the user-defined attributes of the element based on roundtrip export setting.

  • Number 1 or 20 field of the task is set to the confidence (entities and junctors only) based on roundtrip export setting.

  • If project management is enabled, calendars and resources are exported.

  • All tasks are marked as auto-scheduled. The exception is entities with a preferred start or finish date, which are marked as manually scheduled.

  • Entities with a user-defined attribute named ProjectGroupTask are not exported but are used to modify the export of their direct parent group. See below for details.

When importing a diagram from MS Project exchange format, Flying Logic performs the following conversions.

  • Tasks become entities unless the Text 1 or 30 field of the task is “Junctor” or “Group”.

  • The entity class of entities is set to the Text 2 or 29 field of the task if the Text 1 or 30 field is “Entity”.

  • In the case where no explicit entity class is assigned as above, the entity classes from the Project Management domain are assigned to entities based on the task attributes, if that domain exists in the document.

  • Summaries become groups and may cause the generation of special entities (see below).

  • Task notes become annotations.

  • The user-defined attributes of the element are set to the Text 3 field of the task.

  • The confidence of an entity are set the Number 1 field of the task.

  • Calendars and resources are imported.

  • If a task is manually-scheduled, the resulting entity is given a preferred start date.

Because MS Project summaries can have predecessors, but Flying Logic groups do not, some special rules are applied to allow for performing a round-trip of documents.

If a summary has a predecessor, the corresponding group will have a child entity with the same title as the group with * START appended (or just START if the group has no title) and a user-defined attribute named ProjectGroupTask with a value of start. This entity will have all the summary’s predecessors as predecessors. The entity itself is a milestone; i.e., have an effort of zero.

If a summary has a successor, the corresponding group will have a child entity with the same title as the group with * FINISH appended (or just FINISH if the group has no title) and a user-defined attribute named ProjectGroupTask with a value of finish. This entity will have all the summary’s successors as successors. The entity itself is a milestone.

Finally, if a summary is manually-scheduled, it will have a child entity with the same title as the group with * SUMMARY appended (or just SUMMARY if the group has no title) and a user-defined attribute named ProjectGroupTask with a value of summary. This entity will have the same effort and preferred start date as the summary.

During export, any entity in a group with a user-defined attribute named ProjectGroupTask will be used to modify the exported summary so it has the proper predecessors, successors and scheduling. These special entities are not exported.

You can create entities with the user-defined attribute ProjectGroupTask directly and have them apply similar modifications during export.

Last updated