Как мы заново написали модуль учета рабочего времени сотрудников в среде Битрикс24 для инжинирингового холдинга

Задача учета времени работы сотрудников всегда актуальна. Для этой цели разработано много инструментов. Если вы пользуетесь Битрикс24, то наверняка знаете о стандартном модуле учета рабочего времени. Он покрывает, наверное, около 90% типичных потребностей бизнес-пользователя. Остальные 10% – это специфичные сценарии, которые партнеры 1С:Битрикс24 специально разрабатывают для решения каких-то конкретных задач. 

Ниже расскажем о том, как мы написали модуль учета времени работы сотрудников проектной организации, изменив архитектуру и логику этого процесса.

Чего бизнес-пользователи хотят от тайм-трекеров

Не всем организациям нужно подробно учитывать время, которое они тратят на задачи. Компания, у которой нет необходимости считать и обосновывать бюджет проекта, которая зарабатывает свой месячный ФОТ за 4 дня или ей достаточно того, что сотрудник просто пришел на работу и выполняет свои обязанности, не станет применять тайм-трекинг.

Другое дело, если ваши услуги оплачиваются по схеме Time&Materials или вы берете проектную команду в аренду. Здесь за временем приходится следить.

С точки зрения собственников и руководителей внедрение тайм-трекинга полезно для:

  • обоснования стоимости работ по проекту и размера оплаты труда исполнителей;
  • контроля сроков выполнения работ, отслеживания "провисающих" задач;

  • определения наиболее трудоемких задач;
  • выявления "слабых мест", установления причин непроизводительной работы;
  • обнаружения скрытых резервов рабочего времени, выявления причин срыва сроков, появления авралов;
  • балансирования нагрузки между работниками и определения времени, требуемого для решения конкретных задач;
  • оценки достаточности штата и др.

Проще говоря – система учета рабочего времени всегда знает на что конкретно было потрачено время каждого сотрудника. Это позволяет быстро получать ответы на управленческие вопросы.

Но у медали есть и обратная сторона. Как правило, людям не нравится вести подробный учет своего рабочего времени, особенно в условиях многозадачности. Проектному менеджеру и исполнителю приходится работать как минимум в 2-3 средах: писать код или готовить чертежи и сметы в одних профессиональных приложениях, поддерживать коммуникацию в других, создавать документы – в третьих, вести учет – в четвертых и т.д. Поэтому очень важно сделать процесс учета времени одновременно простым, точным и требующим минимальных усилий. А еще лучше – автоматизированным, защищенным от ошибок перегруженных или ленивых сотрудников.

Если в компании работает несколько человек, то контролировать бюджет времени по проекту – задача монотонная, но выполнимая. А если коллектив состоит из десятков или сотен сотрудников, географически разделенных или работающих удаленно? 

Наш заказчик – это многопрофильная инжиниринговая Группа, которая предлагает своим клиентам решения, позволяющие реализовать сложные архитектурно-строительные проекты. Компания представлена офисами в России (Москва, Санкт-Петербург, Новосибирск), Узбекистане, Белоруссии и других странах. В распределенной команде работают более 700 сотрудников: консультантов, архитекторов, инженеров, менеджеров и управляющих качеством строительства, специалистов по ценообразованию и работе с государственными инстанциями. Им требовался удобный для всех уровней управления инструмент, интегрированный с Битрикс24, предназначенный для ежедневного сбора и контроля данных об отработанном времени сотрудников по проектам.

Почему не все трекеры одинаково полезны или условия на старте

Есть много тайм-трекеров, которые можно разделить на две большие группы. Первая – ПО, в котором действия фиксируются в автоматическом режиме, можно получить историю событий и видеозапись. Вторая – софт, запускаемый вручную для учета времени по конкретным задачам. Предназначение такого ПО – не ловить человека за руку, а собирать информацию для отчетности и принятия решений.

Опыт использования продуктов первой группы довольно противоречив и мы не располагаем кейсами по данному направлению. А вот опытом разработки с нуля модуля учета времени по проектам, которые ведутся в Битрикс24, мы с вами поделимся.

Во многих компаниях Битрикс24 используется для решения задач внутренних и внешних коммуникаций, базового проектного управления. В нем есть простой механизм учета времени, поэтому логично не заводить дополнительные системы, а дописать / интегрировать Битрикс24.

Untitled.png

С одной стороны, Битрикс24 – открытая платформа с хорошей основой, и стандартный модуль закрывал основные потребности клиента по ведению проектов: постановку задач внутри проекта, отслеживание сроков и статусов, указание плановых трудозатрат и т.д.

Но в части управления рабочим временем проектов Битрикс24 был неидеален. В частности, менеджерам проектов нужно было подтверждать затраты времени исполнителей, а такой функционал не был предусмотрен ни в Битриксе “из коробки”, ни в “облаке”.

Еще до обращения в ИНТЕРВОЛГУ заказчик своими силами “допилил” Б24 и согласование менеджерами заработало. Это сняло часть проблем, но приложение все еще не было удобным. Не были реализованы: контроль полноты заполнения таблиц, возможность формирования промежуточной отчетности, показ уведомлений об ошибках для пользователей и др. А хранение таймшитов в БД Битрикса нельзя было назвать изящным. Поэтому Заказчик решил обратиться в ИНТЕРВОЛГУ, чтобы комплексно и профессионально решить оставшийся блок задач. Ниже приведем описание некоторых из них.

Перед вами таблица, которую заполняли сотрудники, работающие в проектах. Из списка выбирался проект, по каждому календарному дню в него вносилось время, которое сотрудник посвятил проекту. К ячейке можно было добавить комментарий с конкретизацией работ. Сверху производилось суммирование и иногда случалось так, что исполнитель “переоценивал” свои усилия.

Таблица исполнителя

Каждая заполненная ячейка становилась записью в таблице tTimesheets. При такой структуре документа невозможно было внести часы и сделать комментарии, если в течение дня исполнитель выполнял разные задачи по проекту. Поэтому возникала необходимость добавлять еще одну строку с тем же самым проектом. Ячейка, проверенная проектным менеджером, вручную перекрашивалась либо в желтый (не согласовано), либо в зеленый (согласовано) цвета.

Таблица менеджера

В конце месяца менеджер сводил данные по трудозатратам. Если данных не было, то форма не отображалась, выводилось диалоговое окно “За выбранный период данных для согласования нет” и производился возврат на форму ввода. Это было проблемой, т.к. данные вносились исполнителями 1 раз в месяц и не всегда вовремя. Поиск путей ее решения тоже попал в ТЗ.

Основными требованиями к продукту стали:

  1. Высокая скорость открытия страницы для ввода данных по учету времени (не более 5 сек.) и страницы для согласования времени менеджером проекта (не более 10 сек.);
  2. Максимально информативные сообщения об ошибках, включающие все технические идентификаторы, доступные в контексте ситуации;

  3. Хранение всех справочных данных для модуля в базе Microsoft SQL Server (временные периоды, сотрудники, проекты и т.д.). После внесения данных о трудозатратах, их проверки и корректировки, данные передаются обратно в БД и сессия закрывается;

  4. Удобное редактирование данных и просмотр комментариев по введенным значениям;

  5. Всякие мелкие детали и украшательства, вроде ежедневного напоминания исполнителям о необходимости заполнить сведения о проделанной работе, а менеджерам – о необходимости согласования работ по итогам недели.

Еще на стадии обсуждения было принято решение о разработке с нуля. Веской причиной стало то, что очередное обновление кода со стороны Битрикса могло снести весь функционал, который мы так старательно писали и тестировали.

Алгоритм работы с модулем, в общих словах, должен был быть таким: месяц открывается, исполнители ежедневно заполняют данные по использованному времени, менеджеры корректируют и согласовывают, месяц закрывается. Согласованная  информация передается в общую базу данных на сервере заказчика.

Схема.jpg

Схема обмена данными, которая требовалась заказчику

Т.к. все задачи и требования были согласованы заранее, то действовали мы по методологии Waterfall.

Результат работы над MVP

Авторизация

Настроили обмены данными между Битрикс24 и MS SQL Server. Например, при выборе пользователем в Битрикс24 раздела “Учет времени” делается запрос к базе данных MS SQL к хранимой процедуре (создана силами заказчика) по полю employeeID, возвращающей SID текущего пользователя (SID) и дату, с которой он действует (SID_VALID_FROM). Эти данные хранятся в сессии текущего пользователя и используются для записи вводимого времени для сокращения числа запросов к базе. Решили вопрос с разными SID одного пользователя (смена фамилии, уход-возвращение в компанию).

Режим ввода потраченного времени

Разделили ввод времени по проектам (таблица) и комментариев (форма). Форму с итоговыми часами по каждому календарному дню и комментариями закрепили. Теперь она всегда “под рукой”, каким бы длинным не был список проектов. Для ускорения вывода названий проектов в таблицу разместили кнопку «Заполнить из моих». Теперь не нужно тратить время на скролл и поиск своих проектов в длинном списке всех проектов компании. Сотрудник, заполняющий таблицу, сразу получает список проектов, которые отметил как свои.

Интерфейс МУВС

Для поддержания связи со “старым” интерфейсом реализовали подсветку ячейки с комментарием красным треугольником (как в Excel). Доработали способ хранения данных, чтобы сотрудники, вводящие название проекта вручную, могли получить список уже после трех введенных символов.

Добавили “Стадии проекта” и теперь ввод данных выполняется в разрезе Сотрудник – Проект – СТАДИЯ – День. К любому проекту можно привязать любую стадию. Без указания стадии введенные данные не сохраняются.

Режим согласования времени

В новом модуле все данные группируются по проектам\стадиям и сотрудникам

Группировка по стадиям проекта.png

Сделали несколько других доработок:
  • Улучшили синхронизацию задач Битрикс24 и модуля учета времени. Теперь, при изменении записей о затратах времени в задаче, происходит их копирование в модуль. В случае ошибок — приходит уведомление в “колокольчик”;

  • Изменили правила работы с тегами. Убрали возможность создания тегов пользователем, теперь только выбор из списка значений. Теги жестко привязаны к проекту;

  • Создали сценарий постановки задач из почты;

  • Оптимизировали процедуру создания бэкапа БД, т.к. стандартный функционал часто выдавал timeout;

  • Неправильные действия пользователей теперь не приводят к возникновению аварийных ситуаций за счет разграничения прав доступа;

  • Все экранные формы пользовательского интерфейса выполнены в едином графическом дизайне стиля «Битрикс24»;

  • Для обозначения одних и тех же операций используются одинаковые графические значки, кнопки и другие управляющие (навигационные) элементы;

  • Реакция системы на действия пользователя (наведение указателя «мыши», переключение фокуса, нажатие кнопки) стали типовыми для каждого действия над одними и теми же графическими элементами, независимо от их расположения на экране.

  • и др.

На разработку, тестирование и отладку MVP “Модуль учета времени сотрудников” команда ИНТЕРВОЛГИ потратила не более 300 часов.

В качестве эпилога

Задача, которую перед нами поставил клиент, с одной стороны, была в рамках нашей компетенции, т.к. ИНТЕРВОЛГА профессионально внедряет Битрикс24 более 10 лет и является золотым сертифицированным партнером 1С-Битрикс. С другой стороны, в процессе разработки требовались решения, которые в других проектах не применялись. За несколько месяцев сотрудничества был реализован весь запланированный функционал, проведено тестирование и модуль запущен в работу. По мере формирования бэклога дорабатывались возможности языковых локализаций, поиск по шифру проектов и дополнительной информации, производилась оптимизация внутренних контролей и т.д.

Сегодня модуль учета времени – уже далеко не MVP, но мы продолжаем поддерживать приложение и работать по другим проектам заказчика.

Если у вас есть идеи, требующие технической реализации на платформах 1С и/или Битрикс – заполните форму внизу.

Оцените статью
24.03.2023
Понравилась статья?
Поделитесь ссылкой с друзьями и коллегами!

Статьи по теме

Автоматизация процесса командировки в Битрикс24: как сэкономить на деловых поездкахЕсли сотрудники часто ездят в командировки, а бюджет на них исчисляется суммой с 6-7 нулями, то можно прилично экономить, автоматизировав процесс в Битрикс24 ...
«Как раньше» больше не работает — B2B-система продаж сейчасВ этой статье хотим поговорить с чем сейчас сталкивается оптовый бизнес (множеством вызовов и изменений, которые требуют адаптации, а также оптимизации процессо...
ИНТЕРВОЛГА — лучшее агентство года по внедрению CRMИНТЕРВОЛГА вновь стала победителем премии RUWARD, учрежденной одним из ключевых рейтинговых агентств на digital-рынке и первой в России AMaaS-платформой. 25 ...
Как учить разработке на Битрикс: наши 20 лет опытаВ статье рассказываем о нашей концепции обучения разработчиков, представляем обновленную Академию Битрикса и рассказываем о влиянии на результат матрицы компете...
Холдинговая структура компании в CRM Битрикс24: все сделки группы на одной странице Если вы используете Битрикс24 для продаж нескольким компаниям объединенным в холдинг, то можно сделать так, чтобы видеть иерархию продаж на уровне всей гру...
Функция b2b-платформы — отправка рекламаций в CRMОптовые покупатели — ключевой сегмент экономики торгово-производственного предприятия, и их удовлетворённость напрямую влияет на успех бизнеса. Новый функционал...
Мы работаем по одному из двух форматов:
  • аренда команды (от 2 человек, не менее 3 месяцев);
  • итерации с фиксированной ценой (1-3 месяца длительностью).
ИНТЕРВОЛГА предоставляет:
  • регулярные онлайн-планерки с заказчиком;
  • квалифицированных специалистов;
  • организованную команду (находятся в одном помещении, что упрощает решение рабочих вопросов);
  • полную прозрачность и регулярность отчетов о результатах.
Ключевые услуги:
  • нагруженный интернет-магазин;
  • личный кабинет;
  • оптовые продажи — B2B-платформа;
  • маркетплейс;
  • технический аудит сайта;
  • Битрикс24 — корпоративные HR-порталы;
  • Битрикс24 — построение CRM-системы;
  • Битрикс24 — личные кабинеты сотрудников;
  • Битрикс24 — аудит портала;
  • 1С — интеграция с другими системами;
  • 1С — доработка системы;
  • маркетинг — комплексное интернет-продвижение;
  • маркетинг — продвижение для B2B.
Хотите получать лучшие статьи от INTERVOLGA раз в месяц?
Подпишитесь на рассылку — спамить не будем