Jira api import data

Remaining или Burned time:

  1. хочется видеть график по каждому человеку о том, как он сжигает бизнес-время (строится только по факту закрытия задач)
  2. данный график может быть построен на списании времени, но списание не отражает сожженное бизнес-время (поэтому только по факту закрытия задачи)
  3. сожженное время можно было бы рассчитывать так "Текущее значение Remaining" - "Новое значение Remaining", но см. следующие пункты.
  4. Remaining снижается только до 0, значит в какой-то момент человек просто списывает время не сжигая бизнес-время (это проблема), значит если Logged больше чем Estimated, то задача была недооценена (это проблема)
  5. если Remaining увеличился, значит человек не сжег бизнес-время, а столкнулся с трудностями и увеличил время (это проблема)
  6. Remaining может увеличиваться (если человек списывая время увеличивает значение Remaining), таким образом ни списание, ни Remaining не говорит о сжигании времени)
  7. если задача закрыта, а Remaining остался, считаем, что человек сжег весь Estimated + задача была переоценена (это проблема)
  8. итого сожженное время считаем только по закрытым задачам и только так: Estimated - Logged (внимание, значение может быть отрицательным, значит задача была недооценена)

Как понять, разработчик или тестировщик:

  • недооценил - кто списал больше, чем запланировал, тот и недооценил (оценки каждого в задаче отдельные)
  • переоценил - кто списал меньше, чем запланировал, тот и переоценил (списание каждого в задаче отдельные - основаны на worklog)
  • сжег бизнес-время - анализируем количество списания времени разработчиком и тестировщиком по закрытым задачам

Tasks without changes

WITH statuses_yesterday AS (
    SELECT
        DISTINCT ON (th.tracker_issue_id) tracker_issue_id,
        th.field_value AS status_yesterday
    FROM tracker_issue_history th
    WHERE th.field_name = 'status' AND th.created_at BETWEEN '${__from:date:YYYY-MM-DD}T10:00:00.242Z' AND '${__to:date:YYYY-MM-DD}T10:00:00.242Z'
)
SELECT
    ti.key_id,
    COALESCE(sy.status_yesterday, 'Not changed') AS status_yesterday,
    ti.status_name AS status_today,
    tud.display_name AS developer,
    tut.display_name AS tester,
    ti.summary
FROM tracker_issue ti
LEFT JOIN statuses_yesterday sy on sy.tracker_issue_id = ti.id
INNER JOIN public.tracker_user tud on tud.id = ti.developer_id
INNER JOIN public.tracker_user tut on tut.id = ti.tester_id
WHERE ti.status_name NOT IN ('Ready for Development', 'Closed') AND ti.is_open_sprint_issue=true AND sy.status_yesterday IS NULL;

Что еще?


11.07.2016 12:29

Комментарии

у вас на каждой ссылке редирект
Валерия |

Copyrights © 2007 - 2026 YaPro.Ru