How Dynamic Duration-Based Workflows Work

How Dynamic Duration-Based Workflows Work

CUSTOM FIELDS

When you put a project under control of a Dynamic Duration-Based workflow, it attaches three custom fields to the project. (If any of these fields doesn't exist, Flowsana creates it.)

Duration : This is a number of days, weeks, or months which defines how long the task will take to accomplish. Flowsana adds this time period to the task's Start Date and sets the resulting date as the task's Due Date. (See also   Time Units   below.)

Lag Time:   This is a number of days, weeks or months and can be applied to a dependent task. It defines the amount of time that Flowsana should allow between the Due Date or Completion Date of a dependency task and the Start Date of the dependent task which contains the lag time. It's also used to calculate a lag time between a project's start date and the start date of tasks in that project (see   Project Rules   below). You can specify a negative lag time (i.e. a lag time preceded by a minus sign), like -4 or -1w, to indicate that you want the dependent task to begin prior to the due date of its dependency task.

Assign To:   This is a field in which you can enter the name of an Asana user who is responsible for executing a particular task. You then leave the Assignee field blank for the task. It's designed to be used for dependent tasks: such a task is initially not yet ready to be carried out (because it has dependency tasks which still need to be done first), so it does not have an assignee. As soon as its dependency task is marked complete, Flowsana assigns the task to the user whose name is in the Assign To field.   Note that due to an Asana limitation, this field is a free-text field and in order to work properly, you will need to be sure to type in the name of the appropriate user so it exactly matches the user's name as defined in Asana.

TIME UNITS

The Duration and Lag Time fields can be specified in either days, weeks, or months. To specify a number of days, type the number of days followed by the letter   d . For weeks, use the letter   w . For months, use the letter   m . The default unit is days, so you can also specify a number of days by simply entering a number with no subsequent letter.

For example:

3 d
3 days
3d
3 days
3
3 days
1 w
1 week
4w
4 weeks
3 m
3 months
1m
1 month

GENERAL INSTRUCTIONS FOR USING DYNAMIC DURATION-BASED WORKFLOWS

For projects you want to use with this workflow type, you should set the Duration, and optionally the Lag Time field, for each task in the project. I.e. you are defining the length of time that it takes to perform each task.

Then using the Flowsana website, put that project under Flowsana control and select Dynamic Duration-Based Workflow. After that, tasks in the project will adhere to the following rules.

It's important to remember that for projects under control of this workflow type, you should not manually adjust the due dates of tasks. Due dates are maintained using the start date and duration, so if you manually change a due date, it will get overwritten based on the rules explained here. If you need a due date to be changed, you should do that by adjusting the duration for that task (and optionally the lag time of a previous dependency task).

PROJECT OPERATIONS 

Flowsana implements the following operations at the project level for Dynamic Duration-Based workflows:

  1. If you put a project under Flowsana control which doesn't have a start and due date set, then after it's under Flowsana control you set a start and due date, Flowsana will set all top-level (i.e. non-dependent) tasks in the project to have a start date equal to the project's start date. If any of these tasks have a Lag Time set, that will be taken into account when setting the start date.

    This is great when you want to make a new project from a template. Create and save the template without assigning any start/due dates to tasks or to the project. Then whenever you need a new project based on that template: create a new project from the template; then put that new project under Flowsana control; then assign a start and due date for the project. Flowsana will then set the appropriate dates for that project's tasks.

  2. If you have a project under Flowsana control where a start date is set for that project, and then you modify the project's start date, Flowsana will adjust the dates of all top-level (i.e. non-dependent) tasks in the project.  For example, if you slide the start date of a project back 3 weeks, Flowsana will slide the start date of all top-level tasks back 3 weeks.

TASK OPERATIONS

Flowsana implements the following operations at the task level  for Dynamic Duration-Based workflows

  1. Whenever the start date of a task is changed, its due date will be recalculated by adding the defined duration to the task's start date.

  2. Any time a task's due date changes and it has dependent tasks, each dependent task is evaluated and its start date is adjusted if needed. A dependent task's start date is set to the due date of the task it's dependent on, adjusted for any lag time if one is set. If a dependent task has multiple dependencies (i.e. is dependent on multiple tasks), then the   latest   due date of all of its dependencies is used for this calculation.

  3. If you change the Duration and/or Lag Time of a task, its Start and/or Due date will be adjusted as appropriate, and then any dependent tasks will be adjusted as per rule #2 above.

  4. If you change the Start and/or Due Date of a task, its Duration and/or Lag Time will be adjusted to match your change., and then any dependent tasks will be adjusted per rule #2 above. 

  5. Completing a task, and working with already-completed tasks, will have different results depending on how you've set two options when first creating your template workflow. See the next section for details.  When a task is marked complete and it has dependent tasks, the start date of its dependent tasks is set to the completion date of the dependency task that was just marked complete, adjusted for any lag time if one is set.  If a dependent task has multiple dependencies (i.e. is dependent on multiple tasks), then its start date is only adjusted once all   of its dependencies are marked complete. Also, if any of these dependent tasks has the name of an Asana user in its Assign To field, the task will be assigned to that person.

COMPLETED TASKS

Flowsana handles operations involving completed tasks differently, depending on how you set two options: " When completing a task, adjust its dependents" and " Keep completed dependent tasks fixed" . You can choose to enable or disable each of these options when you first create a workflow for your template. After that, all new workflow-enabled projects that you create from that template will then have the options defined in the way you set them for that template.

Here's what those options mean:
  1. When completing a task, adjust its dependents : If this option is enabled (checked), then when  a task is marked complete, two things happen: (1) the due date of the task is changed to be equal to the completed (i.e. today's) date; and (2) if the task you marked complete has dependent tasks, the start date of its dependent tasks is set to the completion date of the task that you just marked complete - that is, today's date - adjusted for any lag time if one is set .

    The purpose of this option is to support scenarios like the following: say Task A is due on a particular Thursday, and it has a dependent Task B starting that day. But now let's say Task A gets done 3 days early, on Monday instead of Thursday. In this scenario, the principle is that on Monday when Task A is completed, you say, "Oh, we were planning to start Task B on Thursday but since Task A is done already, there's no reason we can't start Task B today on Monday; there's no need to wait till Thursday since its predecessor is complete." If this scenario matches how you operate, then enable (check) this option. If, however, you do not want any tasks to be adjusted when a task is marked complete, then disable (uncheck) this option.  Again, note that as stated in (1) above, this option will change the due date of the task being marked complete (Task A in the example) to the current (i.e. completed) date of that task.  

  2. Keep completed dependent tasks fixed If this option is enabled (checked), then once a task is marked complete, if it is dependent on another task before it, it will not be adjusted even if the predecessor tasks before it are changed. similarly, any tasks beneath the completed task that are dependent on it will not be adjusted.

    The purpose of this option is to support the scenario where, once a task is completed, you do not want it shifting in time regardless of what happens with the timeline of the project and with other tasks.
Note that these two options are not an either/or where you select one or the other; rather, they're independent of each other. The first one has to do with what Flowsana does when you first mark a task complete; the second has to do with what Flowsana does with completed tasks after they have already been marked complete. In general, if you enable "When completing a task, adjust its dependents", you will probably also want to enable "Keep completed dependent tasks fixed". But it's up to you, depending on the behavior that you want. 

FLOWSANA RULES

If you have any Flowsana Rules defined for a Dynamic Duration template, when you create a new project from that template, Flowsana will duplicate all of the template's Rules into the new project.


    • Related Articles

    • How to Set Up a Dynamic Duration-Based Workflow

      Following is information on how to get started with a Dynamic Duration-Based Workflow.  Please see How Dynamic Duration-Based Workflows Work for details on how this type of workflow operates. There are two ways to get started.  If you are building a ...
    • Using Workback Workflows

      A "Workback Workflow" is a type of Dynamic Duration workflow where instead of all task dates calculated and flowing forward from the project start date, rather they all calculate and flow backward from the project end date. This is great for events ...
    • How does the task assignment feature work?

      Flowsana's Dynamic Duration-Based workflow has the ability to automatically assign tasks when they become available to be worked on. This feature is designed to solve the Asana limitation whereby if you assign a task to someone in a template, that ...
    • How does Flowsana's pricing work?

      Flowsana's pricing works based on the concept of Billable Users. A Billable User is an Asana user who's a member of a team having workflow-enabled projects. Flowsana charges at $2.99/month USD per Billable User. Say you have a Marketing team which ...
    • How to Set Up an Auto-Adjust DueDate-Based Workflow

      How to get started with an Auto-Adjust DueDate-Based Workflow:  If you haven’t done so already, create a Flowsana account here. After you’ve created an account and received an email that your account is set up, go to My Workflows on the Flowsana ...