Pull to refresh

Обзор систем учета рабочего времени

Reading time 15 min
Views 136K


Привет, Хабр! Хочу поделится своими результатами тестирования систем учета рабочего времени.

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

Я конечно была не очень рада перспективе появления подобной системы на моем рабочем месте, т.к. считаю, что о работе сотрудника надо судить по результату, а не по формальным показателям. Надеюсь, собранные мной данные, особенно результаты тестирования обхода системы, помогут коллеге, оказавшемуся на моем месте убедить свое руководство в неэффективности подобных решений.

Как я тестировала обход системы


Все программы оценивают нахождение сотрудника на рабочем месте по времени, прошедшему с момента последнего нажатия на клавишу или перемещения мыши.  Некоторые смотрят, что за программа в это время была активна, с разделением на продуктивные и не продуктивные. Некоторые делают скриншоты экранов или записывают видео работы. Бритвы, привязанные к мыши это не наш метод, наши пользователи все продвинутые, поэтому был взят AutoIt и написан небольшой скрипт имитирующий примитивную, но реальную работу — чтение документации, просмотр отчета, если за сотрудником наблюдают, то чем он занимается будет видно и без подобной программы, а если кто-то время от времени просматривает несколько скриншотов, то заметить, что работал скрипт, а не человек – нереально. Особенно, если включать его не на весь день, а на 20-30 минут дополнительного отдыха). Да, программу назвали iexplore.exe, ну кто будет сравнивать количество открытых вкладок и процессов с этим именем).

Скрипт
SRandom(@MSEC) 
opt("MouseCoordMode",0)
Sleep(3000) 
While true 
  if random(0,3,1)=2 then 
	Sleep(Random (1000,5000,1)) 
	Send("{PGDN}") 
  Else 
	Sleep(Random (500,1500,1)) 
	$aPos = MouseGetPos() 
	MouseMove($aPos[0] + Random(300)-115, $aPos[1] + random(300)-110) 
	$aPos = MouseGetPos() 
	MouseMove($aPos[0] + Random(314)-117, $aPos[1] + random(310)-115,3) 
	Sleep(Random (1000,5000,1)) 
  EndIf 
WEnd

При проведении обхода систем выяснилось, что пара тестируемых программ не воспринимают действия скрипта AutoIt за действия пользователя. Было принято решение аппаратно эмулировать работу пользователя, используя подручные средства. Основным условием была имитация активности схожей с реальной. В закромах была найдена плата Arduino Due и написана небольшая программа схожая с нашим скриптом для AutoIt.

Программа
#include <Keyboard.h> 
#include <Mouse.h> 

void setup() {   
Mouse.begin(); 
Keyboard.begin() ; 
} 

void loop() { 
  delay(random(6000)+1000); 
  if (random(0,4)==1) {  
    Keyboard.write(0xD6); 
    delay(random(4000)+4000); 
  } 
  else { 
    Mouse.move(random(6)-3, random(6)-3, 0); 
    delay(100); 
    Mouse.move(random(6)-3, random(6)-3, 0); 
    delay(random(2000)+2000); 
  } 
} 

Итак, обзор.

Сразу скажу, что вариант со сбором данных в облако не рассматривался по причине безопасности, и конфиденциальности, не все готовы делится персональными данными и т.д. Из-за этого в обзоре представлены системы, имеющие локальную версию. Те системы, у которых локальный сервер заявлен, но его получить на тестирование не удалось, помещены в конец списка. Их параметры могут быть не объективны, т.к. приведены по результатам «опроса, а не измерения».

Вот какие критерии мной были добавлены в сравнение

  1. Название.
  2. Источник информации. Сайт, упоминания на хабаре.
  3. Принцип работы. Общее описание работы, и специфика собираемых данных.
  4. Гибкий график. Возможность гибкого графика. Например, пришел с 8 до 10:30 ушел с 17 до 20, обед 30-40 мин в любое время.
  5. Заявки на отпуск, отгул. Табель. Возможность помечать дни как отпуск, отгул, деловая поездка… Какие документы система формирует для ОК бухгалтерии.
  6. Наличие API.
  7. Отчеты. Какие есть отчеты и на сколько они информативны.
  8. ОС и БД с которой работает программа.
  9. Интеграция с АД. Как настраивается, нужно ли пользователям вводить пароль, понимает ли система какой пользователь работает на компьютере.
  10. Настройки. Что необходимо настроить для начала работы системы.
  11. Много пользовательский много компьютерный режим. Умеет ли система распознавать работу нескольких пользователей на одном компьютере-терминальном сервере или одного пользователя на нескольких компьютерах.
  12. Работа через интернет сети. Информация про публикацию и шифрование соединения при передаче данных между клиентом и сервером. Настройки NAT.
  13. Доступ к статистике. Наличие возможности предоставить пользователю доступ к собственной статистике и возможность назначения ролей, разграничивающих доступ.
  14. Обход системы.  Результаты тестирование нашего скрипта.
  15. Для наблюдаемого. Как пользователь может определить, что клиент установлен на компьютере.
  16. Цена.
  17. Скриншот окна программы. На скриншоте отображена статистика собранная за ночь, в которую действия пользователя имитировал скрипт (или плата arduino).

Kickidler

www.kickidler.com
habrahabr.ru/company/kickidler
Принцип работы. На компьютеры сотрудников устанавливаются скрытые агенты, которые производят запись видео с экрана, нажатий клавиатуры и запущенных приложений. Для каждого приложения задается эффективность. Администратор может удаленно управлять компьютерами пользователей. Основное окно программы представляет собой вид на мониторы сотрудников в реальном времени.
Гибкий график. В программе отсутствует возможность задавать график.
Заявки на отпуск отгул. Табель. Заявки и отчеты для бухгалтерии отсутствуют.
Наличие API. Нет.
Отчеты. Отчеты отображают наиболее используемые программы и сайты. Отчеты не информативные, они не рассчитаны на контроль графика работы сотрудников. В отчетах присутствует фильтрация. При просмотре мониторов сотрудников на экране одновременно помещается до 16 мониторов, что будет проблемой при необходимости мониторинга работы сотрудников в реальном времени в компаниях с большим штатом.
ОС и БД. Сервер Kickidler работает под ОС Windows и с БД PostgreSQL. Есть версия сервера под Linux, но в ней реализован ограниченный функционал.
Интеграция с АД. Нет.
Настройки. Для работы системы необходимо установить сервер и агенты на компьютеры пользователей. Для доступа к записанным видео используется отдельная программа «Viewer», которую необходимо установить сотрудникам, которые будут следить за собранными данными. Если система разворачивается локально, то потребуется локальный сервер лицензирования.
Много пользовательский много компьютерный режим. Идентификация происходит по логину пользователя и имени рабочей станции.
Работа через интернет сети. Для работы программы необходим доступ к my.kickidler.com, через который происходит синхронизация сервера, граберов и вьюверов и проверка лицензии. При локальной установке данный адрес должен вести на локальный сервер лицензирования. Заявлена поддержка ssl.
Доступ к статистике. Предоставить пользователям доступ к статистике для самоконтроля невозможно. Доступ к статистике и записанным видео происходит через программу Viewer. Для работы Viewer-а необходимо в админ панели выбрать к каким пользователям разрешен доступ.
Обход системы. Скрипт работает, активность учитывается. Благодаря использованию случайной паузы, график активности тоже меняется. Отследить использование скрипта можно только при просмотре видео по повторяющимся действиям, в этом случае поможет усложнение скрипта.
Для наблюдаемого. Наличие агента можно определить через диспетчер задач по процессам grabber.exe, grabberAgent.exe, grabberSubAgent.exe. Путь по умолчанию C:\Program Files (x86)\TeleLinkSoftHelper.
Цена. Облачная версия: 500 рублей в месяц за одного сотрудника. 10000 рублей за одного сотрудника, без ограничения по времени. Локальная версия: Цена по запросу.



StaffCop

www.staffcop.ru
habrahabr.ru/company/atompark_software
Принцип работы. На машины сотрудников устанавливается скрытый агент, который собирает информацию о активности, запущенных процессах, посещенных сайтах, клавиатурных нажатиях, доступе к файлам, принятые и отправленные сообщения электронной почты и мессенджеров. Перехват почты возможен по незашифрованным протоколам, поддерживаемые протоколы мессенджеров устарели (ICQ, MSN Messenger, Mail.ru Agent…). Есть возможность делать периодические скриншоты.
Гибкий график. Отсутствует возможность задать график.
Заявки на отпуск отгул. Табель. Заявки и отчеты для бухгалтерии отсутствуют.
Наличие API. Нет.
Отчеты. Отчеты разделены по типу собранных данных (скриншоты, процессы, поисковые запросы, посещенные страницы, сообщения мессенджеров, клавиатурные нажатия…). Присутствует фильтрация по периоду или ключевому слову. Программа собирает много данных, но самостоятельно не дает оценку действиям пользователя, из-за чего отчет не имеет достаточную информативность.
ОС и БД. Сервер работает под ОС Windows, использует простую файловую БД.
Интеграция с АД. Нет.
Настройки. Программа распространяется как исполняемый файл, без привязки к серверам разработчика. Поэтому сервер программы разворачивается локально. Агенты можно устанавливать удалено, для этого необходимо иметь права администратора к удаленным машинам. Если агенты устанавливались вручную, на сервере необходимо задать IP адреса машин, с которых необходимо собирать данные.
Много пользовательский много компьютерный режим. Статистика собирается по компьютеру.
Работа через интернет сети. Сервер собирает данные с агентов, поэтому компьютеры сотрудников не должны находиться за NAT-ом. Соединение между сервером и агентом шифруется, алгоритм определить не удалось.
Доступ к статистике. Статистика отображается в приложении сервера. Доступа через веб-интерфейс нет. Предоставить сотрудникам доступ к статистике невозможно.
Обход системы. StaffCop не воспринимал скрипт AutoIt как действия пользователя. Поэтому обход был сделан с помощью платы Arduino которая эмулировала клавиатуру и мышь.
Для наблюдаемого. Наличие агента можно определить через диспетчер задач по запущенной службе Scheduler и процессу SchedulerSVC.exe. Путь установки агента C:\Program Files (x86)\StaffCop.
Цена. Облачной версии нет. Локальная версия: 1300 рублей за 1 пользователя, бессрочная.





ManicTime

www.manictime.com
Принцип работы.  Установленный агент собирает данные о времени работы за ПК и используемых программах (только с графической оболочкой) и сайтах. Так же агент умеет делать скриншоты.
Гибкий график. В расписании указывается время начала и конца или количество часов работы в день. Можно создать несколько расписаний.
Заявки на отпуск отгул. Табель. Заявок нет, но есть метки которыми можно отмечать свое время. С их помощью можно отмечать отгулы и т.д. Есть отчет «Посещаемости», отображающий количество отработанных дней сотрудника.
Наличие API. Для доступа и манипулирования данными сервера есть возможность использовать HTTP API.
Отчеты. Отчетов не много. Они поделены на два типа: время работы (начало/конец, переработка…), и продуктивность (используемые веб сайты, программы, документы, статистика продуктивности).
ОС и БД. Сервер работает под Windows. По умолчанию используется SQLite. Для большого числа пользователей (больше 5 – рекомендация разработчиков), необходимо использовать PostgreSQL или Microsoft SQL Server.
Интеграция с АД. Можно получить список пользователей из АД. Это позволить не вбивать вручную имена пользователей.
Настройки. При установке сервера необходимо выбрать с какой БД работать. СУБД должна быть настроена до установки сервера (кроме SQLite). В агенте необходимо указать адрес сервера куда отправлять статистику.
Много пользовательский много компьютерный режим. Система идентифицирует пользователя по имени компьютеру и логину.
Работа через интернет сети. Для доступа к серверу необходим открытый порт 8080 (можно изменить). Для защиты соединения можно включить https, в котором необходимо будет задать свой сертификат или использовать стандартный.
Доступ к статистике. Есть возможность предоставить доступ к статистике сотрудникам через веб-интерфейс. Так же есть доступ к персональной статистике через клиентское приложение, если оно не в скрытом режиме. Есть возможность давать права на доступ к статистике всего отдела.
Обход системы.  Скрипт обхода работает, активность учитывается, отследить использование скрипта невозможно.
Для наблюдаемого. В обычном режиме агент виден в трее. Если агент в скрытом режиме определить его наличие можно через диспетчер задач. Процесс называется ManicTime Client, стандартный путь установки C:\Program Files (x86)\ManicTime.
Цена. Цена одинаковая для локальной и облачной версии: 67$ за пользователя, бессрочная.





SkypeTime

skypetime.ru
habrahabr.ru/post/272701
Принцип работы.  SkypeTime получает данные о статусе сотрудников с сервера Skype For Business, поэтому установка агентов на машины сотрудников не требуется. Из-за такой концепции количество собираемых данных гораздо меньше чем у рассмотренных аналогов, это: время сотрудника за компьютером и с какой машины произведен вход.
Гибкий график. В графике указывается время начала и конца рабочего дня и количество часов которые необходимо отработать в день. Так же указывается длительность обеденного перерыва и время опоздания. Можно создавать несколько расписаний, которые можно задавать как для отдела, так и для сотрудника.
Заявки на отпуск отгул. Табель. Сотрудник может создавать заявки, которые будут рассмотрены руководством. Для бухгалтерии есть отчет «Worktime» в котором указанно отработанное время по каждому дню.
Наличие API. Нет
Отчеты. Отчеты представляют информацию по времени работы сотрудника и отдела, о событиях (опоздания, отсутствия и ранний уход), о выходных днях сотрудников (отпуск, отгул, больничный…), о устройствах, использующихся для входа в систему и удаленных сессиях. В отчетах присутствует фильтрация.
ОС и БД. Программа работает на ОС Windows и с базой данных MySQL.
Интеграция с АД. Так как сервер Skype For Business имеет интеграцию с АД, отдельная интеграция не требуется.
Настройки. Для начала работы необходимо установить веб сервер, установить SQL Server, предоставить доступ на чтение к БД Skype For Business, развернуть базу данных, предоставить доступ к базе данных и настроить публикации.
Много пользовательский много компьютерный режим. Система распознает пользователей по логинам, по которым производиться вход в Skype For Business. Информация по компьютерам с которых был произведен вход будет доступна в статистике.
Работа через интернет сети. При настройке публикации можно включить использование SSL.
Доступ к статистике. Есть возможность предоставить сотрудникам доступ к статистике через веб-интерфейс. Можно назначать менеджеров отделов.
Обход системы. Для обхода системы использование скрипта или arduino не требуется. Достаточно поддерживать статус скайпа «В сети». Отследить отсутствие на рабочем месте можно только в случаи, если будет пропущен звонок. Пропущенный звонок будет отображён на графике работы сотрудника, что может повлечь более внимательное отношение к работе сотруднику.
Для наблюдаемого. На компьютеры сотрудников не устанавливается клиентское приложение, из-за чего невозможно определить используется ли SkypeTime.
Цена. Цена начинается от 300 рублей за пользователя.



Yaware.TimeTracker

yaware.ru
Принцип работы.  Установленный агент собирает данные о времени работы, и используемых программах, и сайтах. Для каждой программы или сайта задается его продуктивность («Продуктивно», «Нейтрально», «Не продуктивно»). На основании этих данных будут построены отчеты о продуктивности сотрудников и эффективности рабочего времени. В программе присутствует возможность делать регулярные скриншоты и снимки веб-камеры.
Гибкий график. Можно установить время начала и конца рабочего дня, и время, которое необходимо отработать, что бы день был засчитан. Программа поддерживает два варианта графика. «Стандартная неделя» — фиксированные рабочие дни. «Работа по сменам» — позволяет настроить график сотрудника, если его рабочие дни не привязаны к дням недели.
Заявки на отпуск отгул. Табель. Заявок нет, менеджер сам выставляет события (отпуск, больничный), указывать можно как конкретного человека, так и отдел. Для отчета перед бухгалтерией в программе предусмотрены отчеты: «Табель учета рабочего времени», «Отчет по посещаемости».
Наличие API. Есть API позволяющее самостоятельно реализовать доступ к собранной статистике используя HTTP запросы.
Отчеты. В программе много отчетов как по времени работы, так и по эффективности. Часть отчетов отображают схожую информацию. Есть возможность отображать отчет за определенный период. Данные из отчетов можно экспортировать в XLS, CSV, PDF.
ОС и БД. Определить на какой ОС и с какой БД работает локальный сервер не удалось.
Интеграция с АД. Нет.
Настройки. Для облачной версии достаточно установить клиент. Информацию по настройке локальной версии получить не удалось.
Много пользовательский много компьютерный режим. Yaware идентифицирует пользователя по логину и имени компьютера. Если изменить логин или пересесть за другую машину, это будет распознано как новый пользователь. Пользователей можно объединять.
Работа через интернет сети. Соединение агента и сервера происходит по http и https протоколу. Для защиты используется SSL. В локальной версии можно выбрать свой SSL сертификат. SSL сертификатом защищаются как соединение агента с сервером, так и подключение к веб-панели.
Доступ к статистике. Есть возможность предоставить сотруднику доступ к его статистике. Краткую статистику можно узнать из агента, если он не в скрытом режиме. Более подробная статистика отображается в веб интерфейсе. Есть возможность назначить менеджера отдела.
Обход системы.  Скрипт работает, активность засчитывается, в используемых приложениях скрипт не появляется.
Для наблюдаемого. По умолчанию агент отображается в трее, на сервере есть опция, позволяющая скрыть агент. В таком случае наличие агента можно узнать из диспетчера задач по процессам YaService.exe и YaUpdate.exe и службе Yaware.TimeTracker Collector Service.
Цена. Облачная версия: 450 рублей в месяц за сотрудника. Локальная версия: 4800$ за 50 рабочих мест, 96$ за дополнительное рабочее место.



Crocotime

crocotime.com
Принцип работы.  Агент собирает данные о времени за компьютером, и используемых приложениях, и сайтах. Программы без графического интерфейса не учитываются. Приложения можно разделять на эффективные и не эффективные. Есть возможность включить периодическое снятие скриншотов.
Гибкий график. В расписании можно указывать как время начала и конца рабочего дня, так и просто количество часов в день. Время обеденного перерыва задаётся жестко.
Заявки на отпуск отгул. Табель. Заявок нет. Менеджер может устанавливать причину отсутствия: командировка, больничный, отгул, отпуск, прогул. По умолчания при отсутствии программа ставит «прогул». Для бухгалтерии есть отчет «Табель», в котором указанно какие дни отработаны и сколько часов.
Наличие API. Присутствует Web API, позволяющее взаимодействовать с сервером с помощью HTTP запросов.
Отчеты. Отчеты предоставляют информацию по продуктивности работы как компании, так и сотрудника, структуре дня, используемых программах, типах задач, проектах, отклонениям от рабочего времени. В отчетах возможна фильтрация по сотрудникам (отделам), и по времени (день, неделя, месяц).
ОС и БД. Сервер работает на ОС Windows. По умолчанию используется БД SQLite, но есть возможность перейти на PostgreSQL. Миграция в обратную сторону не возможна.
Интеграция с АД. Есть возможность подгрузить пользователей из AD. Это избавит администратора от необходимости вручную вбивать данные сотрудника (ФИО, email…) и структуру отделов в систему. Так же позволит пользователям входить в систему мониторинга по доменным паролям используя авторизацию Kerberos. Выгружать можно не всю структуру, а только часть.
Настройки. Для настройки достаточно установить сервер и агенты.
Много пользовательский много компьютерный режим. Идентификация производиться по логину и имени компьютера. В Crocotime одному профилю сотрудника (одной лицензии) могут соответствовать разные учетные записи (компьютерные или доменные). При наличии нескольких записей внутри профиля, статистика по ним будет суммироваться.
Работа через интернет сети. Для публикации сервера необходимо открыть порт 8085. Для защиты соединения можно использовать SSL, добавление сертификата осуществляется в админ панели доступной через браузер.
Доступ к статистике. Есть возможность предоставить доступ к статистике пользователям для самоконтроля. Статистика доступна через веб-интерфейс. Можно предоставлять доступ к статистике других сотрудников(отделов).
Обход системы.  В админ панели можно выбрать будет ли учитываться программная активность или только аппаратная. По умолчанию стоит учет только аппаратной активности и в этом случаи скрипт AutoIt не воспринимается за действия пользователя. Обход был совершен с помощью платы Arduino, которая эмулировала активность пользователя.
Для наблюдаемого. Наличие агента можно определить через диспетчер задач по процессу
agent_service64.exe и службе CrocoTime Agent. По умолчанию путь агента C:\Program Files\CrocoTime Agent.
Цена. Облачная версия: 150 рублей в месяц за сотрудника. Локальная версия: цена не указана.



TimeCamp

www.timecamp.com
Принцип работы. Программа рассчитана на проектный трекинг, в котором пользователь сам задает чем и когда занимался. Но есть возможность установить агент на ПК. Он собирает данные о времени, проведенном за компьютером и запущенных приложениях.
Гибкий график. Можно установить время начала и конца, и/или продолжительность рабочего дня. Так же заданное время влияет на время работы установленного агента. Если сейчас не рабочее время, агент не будет собирать информацию о активности.
Заявки на отпуск отгул. Табель. Заявок нет, менеджер может изменить тип дня (отпуск, больничный, деловая поездка…) определенного сотрудника. Есть отчет «Посещаемость», в котором отображаются данные о времени работы сотрудника по каждому дню в месяце.
Наличие API. Есть API, взаимодействие с сервером происходит через HTTP запросы. Есть множество аддонов позволяющих синхронизировать данные с различными календарями, и более подробное отслеживание активности в приложениях (например, в Visual Studio).
Отчеты. Большая часть отчетов содержит информацию о проектах и заданиях в этих проектах. Есть отчеты по используемым приложениям и сайтам, график работы сотрудников, эффективность работы. Есть фильтрация по времени, сотрудникам и проектам.
ОС и БД. Есть только облачная версия программы, по этому ОС и БД определить невозможно.
Интеграция с АД. Нет.
Настройки. Для начала работы достаточно создать пользователей и установить агенты на компьютеры.
Много пользовательский много компьютерный режим. Автоматического определения пользователей нет. При установке агента необходимо ввести учетные данные от аккаунта на timecamp.com.
Работа через интернет сети. Для отправки данных на сервер используется SSL. Так как агент сам отправляет данные на сервер, NAT не влияет на работу приложения.
Доступ к статистике. Пользователи могут просмотреть свою статистику через веб-интерфейс. Есть три уровня доступа: пользователь, менеджер, администратор.
Обход системы.  Обойти программу удалось скриптом AutoIt. Скрипт не отображался в запущенных приложения так как TimeCamp собирает информацию только про окна с графическим интерфейсом.
Для наблюдаемого. Агент отображается в трее. Так же определить наличие агента можно определить через диспетчер задач по процессу timecamp.exe и reshost.exe. По умолчанию путь агента C:\Users\UserName\AppData\Local\TimeCamp.
Цена. Облачная версия: 10$ за пользователя в месяц. Локальной версии нет.



В заключение хочу обратить внимание на то что все системы учета рабочего времени удалось обойти. Это означает что нельзя полностью полагаться на данные собранные подобными программами. И в большинстве случаев нет особого смысла в сборе настолько детальных данных. Так же такие программы могут собирать личную информацию, что может быть плохо истолковано с точки зрения закона или как минимум этики. В любом случае необходимо ответственно подходить к выбору системы учета времени, так как при общей схожести, каждая обладает своими уникальными качествами, которые в определенных ситуация могут выступать как плюсами, так и минусами.

И напоследок, если у вас есть опыт использования систем учета рабочего времени, пишите в комментариях какими системами пользуетесь и ваше впечатление о них.
Tags:
Hubs:
+4
Comments 52
Comments Comments 52

Articles