Search code examples
azure-devopsazure-boardsworkitembacklogtime-tracking

How to log the time for azure devops work items and tasks


Is there a report/query in Azure DevOps that helps the person in tracking all the timings like adhoc meetings, day offs, actual work time of particular task so that person can have full control over the time of their work.

There will be 2 case scenarios described below:

  • Case 1: Hours actual work and 2 hours in meeting, we will get 7 hours productivity for that individual person for each individual task.
  • Case 2: 5 day leave ,26 hrs of work, 2 hrs meeting and gets actual working hours automatically for each sprint at the time of sprint planning meeting.

Solution

  • Per the Working days (days off) information, please note that Azure DevOps manages the information on project team level rather than individual level.

    Image

    Per the expectation to collect the information of the Meeting and Work time that individual spends on their daily tasks, you may request individual task assignee to populate these fields in their tasks every day, so that you can leverage Azure DevOps Analytics view integrated in Power BI Desktop to generate tables/reports to monitor the working hours per user, per day, per task or the accumulated working hours in a date range. Here are the brief steps as a sample for your reference.

    1. Create custom fields in the Tasks for individual task assignee to log their own daily Meeting and Work hours on each task; enter image description here Image

    2. Create an Analytics view with the name of Tasks - Work to collect the values in the fields of Assign To, Work Item Id, Meeting and Work, within the Date range from a history date to present, as the source data to be consumed in Power BI later; enter image description here

    3. In Power BI Desktop, load the source data from Azure DevOps analytics view Task - Work; enter image description here enter image description here

    4. Create new tables to process the source data from Azure DevOps analytics view; below are 3 sample tables generated with DAX expressions for your reference.

      User = 
      SUMMARIZE(
          'Tasks - Work',
          'Tasks - Work'[Assigned To],
          "Total Meeting Hours", SUM('Tasks - Work'[Meeting]),
          "Total Work Hours", SUM('Tasks - Work'[Work])
      )
      

      enter image description here

      User/Date =
      SUMMARIZE(
          'Tasks - Work',
          'Tasks - Work'[Assigned To],
          'Tasks - Work'[Date],
          "Total Meeting Hours", SUM('Tasks - Work'[Meeting]),
          "Total Work Hours", SUM('Tasks - Work'[Work])
      )
      

      enter image description here

      User/Task = 
      SUMMARIZE(
          'Tasks - Work',
          'Tasks - Work'[Assigned To],
          'Tasks - Work'[Work Item Id],
          "Total Meeting Hours", SUM('Tasks - Work'[Meeting]),
          "Total Work Hours", SUM('Tasks - Work'[Work])
      )
      

      enter image description here

    You can create your own tables for reports according to your expectations, but please keep in mind to RESET the Meeting and Work fields of all the team members' tasks every day, so that the daily snapshot values in the task fields are correct.