How to track total time spent per project phase?

Hello! We are aiming to use Asana to structure our Customer Success process, and optimize for the time-to-value which is our main KPI.

Basically, our CS process is divided in consecutive phases (e.g., 1. Kick-off, 2. Installation, 3. Deployment, 4. Onbo arding, 5. Pilot testing etc).

Tasks are designed with a series of dependencies, so that e.g., when the final task of Phase 1 is completed, the first task in Phase 2 is unblocked and ready to be performed by the assignee.

Our main objective is basically to track how much time it took to complete all tasks within each phase. I imagine that a good proxy in Asana could be to track for how long each phase had any active task. This should not simply be a sum of all time spent by task, as within a section there are also different tasks running in parallel. Basically we need to work out the difference, for each phase, between the earliest time a task was unblocked, and the latest time a task was completed.

I am really not sure what is the best way to model project phases to achieve our objectives:

  • Either map project phases as Sections, and then map the status for each task (e.g, Blocked vs Ongoing vs Completed)

    • This is what I am currently trying, but with scarce results - I still have found no way to track the total time per phase. I have created a custom field to store the date where a task was unblocked, but I don’t know how to automatically report the difference, for each project and each project phase, between the earliest “unblocked date” and the latest “completed date”
  • Or the other way around: create Sections for the different the task statuses, map as a custom field the project phas that each task belongs to, and then use rules to move tasks between the different sections based on their status.

    • This could be “nicer” as it would give an easier view of open tasks to the user, but I have no idea how I would track time active per project phase under this setup.

Is anybody able to advise me on best practices? I am sure I am not the first person needing to track time-to-project-completion in Asana, so I am confident there is a way to do this :slight_smile:

Thanks a lot in advance to anytime that takes the time to help me!

@Alberto_LC For time tracking for phases, you can setup some rules and use a Timer custom field that gets triggered to start when the last task of the previous phase is complete. You can setup a milestone task at the end of each phase that’s blocked by the last task(s) in that phase. Set a rule that when work is moved to the next phase, start the timer. This could be done with a custom field for the phases. Then when the final task for that phase is completed and the milestone is unblocked, stop the timer and complete the milestone. The completion of the final milestone in the phase would be the trigger to move to the next phase and start the timer on that next phase.

For time to completion, pull a report that pulls all those milestones. You could set another custom field to milestone task type to allow for easier filtering in your reporting and setting up your rules.

@Alberto_LC, Did you explore Time in section and Time in custom field? I’m not sure if they’ll work for your needs but just wanted to call your attention to them:

Thanks,

Larry

The problem with using Time in Section is that if I model project phases as Sections, tasks will stay in that Section for the entire duration of the project (regardless of blocked vs ongoing vs completed status).
Instead, if I model task status as Sections, each task would have the time it was actually open (which is good) but then I would have no way to track the total time taken to complete all the tasks in a specific custom field “Project phase” - unless you have some ideas about how to do it?

How can I create a rule that starts a timer when a specific task is no longer blocked? So far I am finding all rules to be applicable to all tasks, i cannot restrict to one specific task

@Alberto_LC You should be able to select Task Type in the Check If section of your rule. Select this and select Milestone (if you are using milestones). You will also want to select “Task is no longer blocked” as your trigger. You would also want a custom field to indicate that a particular milestone is your time tracker.

Your time tracker milestone in one phase would be blocked by your Phase completion milestone in the previous phase. So when your phase completion milestone is completed, your time tracker milestone is no longer blocked.

So your rule would look something like:

When Task is no longer blocked > Check if Task type is Milestone and [Custom Field] is set to “Time Tracker” > Start timer in your custom field.

Then your reporting is based off of your time tracking custom field for all Milestones that are set to “Time Tracker”.

1 Like

Feel very over-engineered… seems strange that Asana doesn’t have any OOTB feature to track project phases, since it’s mainly a project management tool

Hi, @Alberto_LC

Here’s another way to achieve what you want.(I hope so)
If you use ‘AI rules’, you can achieve it.
I’m not sure it’s worth using AI. And you may still feel over-engineered.

the result is the following image.

How to make

  1. make two custom fields of the followings.


  2. make the following rule.

  3. make dependencies between tasks like the following.

How to use

  1. Complete ‘start project’ task when you want to start a project.
  2. Complete your tasks in order so that the spent time is recorded in ‘spent phase time[min]’ field.

P.S.
If rule action allow us to set triggerd time to ‘actual start time’ like below, we don’t use IA or script actions😭

Hi again, @Alberto_LC

I came up with one more idea.This version is easier than others, I guess.
This time we use ‘custom task type’ and dashboared.

The result is like below;

How to make

  1. make the following ‘task type’.
  2. make the following rule.
  3. make the following chart in Dashboard.
  4. make dependencies between tasks and set the statuses to not started like the following.

How to use

  1. Complete ‘start project’ task when you want to start a project.
  2. Complete your tasks in order so that we can get durations in status of ‘In progress’ in a chart.