Поскольку я работаю с разными клиентами по разным темам, то в течение дня приходится переключаться между разными задачами. Например, ведешь разработку долгоиграющей задачи, а тут звонит клиент и просит сейчас дать консультацию бухгалтеру, поскольку надо срочно выставить документы или какой то вопрос с правами пользователей. Переключаешься, решаешь вопрос. В конце месяца очень хотелось бы вспомнить подробности как минимум по трем причинам:
1. Нужно обосновать потраченное время.
2. Нужно объяснить, кто и почему внес такие-то изменения.
3. В следующем месяце, возможно, задача повторится. Придется снова отвлекаться и погружаться в контекст. Если прошлый раз кратко описал ход решения, то экономится время.
Итак, решено было использовать такие объекты:
- Проект - это заказчик на постоянной основе или отдельный проект заказчика.
- Тема - это независимая классификация задач, чтобы можно было искать похожие задачи. Например, чтобы анализировать решения и понимать статистику затрат по таким же задачам.
- Исполнитель - возможность решать один проект несколькими разработчиками или консультантами.
- Задача - аналог задач в Битрикс24 или Redmine. Некоторая отдельная задача или часть проекта, которую удобнее анализировать отдельно.
- Этапы работ - центральный объект этой системы. Тут происходит регистрация рабочего времени в разрезе задач, проектов, исполнителей.
Этапы работ удобно использовать для разбиения большого проекта на части или для помесячного выставления счетов клиентам.
В названии можно указать номер этапа или период, за который будет выставлен счет. Проект нужно указать обязательно.
"Основной исполнитель" и "основная задача" - необязательные реквизиты. Используются для автоматического заполнения при регистрации рабочего времени и задач.
Важно указывать, в каком статусе находятся работы по данному этапу:
- Новый - пока в режиме ожидания. По нему нельзя регистрировать время.
- В работе - Единственный статус, при котором можно регистрировать выполнение работ по задачам. Данные не попадут в "Отчет по выполненным задачам".
- Выполнено - Означает, что этап завершен. По умолчанию "Отчет по выполненным задачам" настроен на этот статус.
- Отменено - Выполнение работ по каким-то причинам остановлено. Пока не планируем выставлять счет клиенту.
- Принято заказчиком - тут можно считать, что подписан Акт приемки или оплачен счет.
Закладка "Учет времени" предназначена для фиксации начала и завершения рабочего времени. В течение дня при переключении между задачами просто жмем старт и указываем новую задачу. В предыдущей строке время завершится.
В конце дня на незавершенной строке жмем Стоп. Кнопка "Свернуть" просуммирует время в разрезе "Дата, Исполнитель, Задача".
Так мы получим отработанное за день время в разбивке по задачам.
Закладка "Задачи" является необязательной. Это расшифровка к закладке "Учет времени". Тут можно указывать, какие конкретно действия были выполнены по задачам или какие промежуточные результаты получены.
Тут может быть несколько строк по одной задаче. Колонка "Описание задачи" - текстовая расшифровка, которую можно вывести в "Отчет по выполненным задачам" и приложить к счету.
Колонка "Описание решения" используется как пояснение или напоминание для разработчика, чтобы можно было быстро вспомнить ход решения для каких то нестандартных случаев.
Колонка "Решено" тоже для внутреннего использования. Это напоминание какие задачи сделаны, какие еще предстоит решить.
Кнопка "Заполнить задачи" добавит недостающие строки на закладку "Задачи" в разрезе колонок "Дата, Исполнитель, Задачи" по данным закладки "Учет времени".
То есть в течение дня регистрируем время на закладке "Учет времени", а в конце дня на закладке "Задачи" нажимаем кнопку "Заполнить задачи" и расписываем подробнее.
"Отчет по выполненным задачам" удобно использовать для выставления счетов по этапам работ в статусе "Выполнен". Фильтр по статусу также доступен и можно им управлять.
Галочка "Показать описание работ" - регулирует, показывать или нет расшифровку с закладки "Задачи".
Можно строить отчетность без разбивки по задачам, опираясь только на расшифровку. Тогда нужно создать служебную задачу и регистрировать все рабочее время на нее.
И наоборот, можно обходиться без текстовых расшифровок. Если клиенту достаточно указать краткое название задачи и затраченное время, тогда в этапах работ используем только закладку "Учет времени".
Мне больше нравится смешанный вариант: есть отдельные задачи и есть понимание, что делалось по каждой задаче в конкретный день.
Тестировалось на релизе платформы (8.3.23.1688). В конфигурации включен режим совместимости с 8.3.17.