На правах рекламы.
Нам всем не хватает… времени. Мы всегда спешим, в часы пик опаздываем или боимся опоздать на работу, в обеденный перерыв пытаемся решить какие-то личные дела, по пути домой стоим в пробке и переживаем, что в детском саду ждет ребенок. Согласитесь, в таком режиме сложно получать удовольствие от жизни и работы.
В Центре разработки программного обеспечения EDISON нашли решение проблемы нехватки времени в его рациональном использовании.
Принятие решения
Представьте себе команду программистов. Фиксированный график с 9:00 до 18:00. Руководитель приходит раньше всех и заносит в таблицу Excel время прихода сотрудников, фиксируя опоздания; уходит позже всех, отмечая время ухода работников. За хронические опоздания делаются строгие внушения. Небольшая часть стажеров совмещают работу и учебу, время от времени отпрашиваясь в вуз, другим иногда приходится решать личные вопросы в рабочее время. Все обязуются отработать. Рост числа сотрудников усложняет учет. Работу «на доверии» мы сочли неэффективной — руководителю сложно определить реальные трудозатраты. В случае авралов возможная переработка не учитывается, и получается, что компания злоупотребляет временем сотрудников, используя их бесплатный труд. А у последних, в свою очередь, нет материального стимула работать больше восьми часов. И вообще фиксированный график фактически превращается в «армейский» режим.
Столкнувшись с такой ситуацией, мы поняли, что сотрудникам необходим гибкий график, а руководству — автоматизированная система учета рабочего времени. Сразу замечу, что внедрение автоматического учета времени не является единственным условием всеобщего счастья и процветания компании. Автоматический учет совсем не отменяет управленческий труд, планирование, постановку задач и контроль их исполнения.
Помимо главной, были и второстепенные причины для такого решения.
- Компания с гибким графиком более привлекательна для сотрудников. Возможность выспаться, миновать пробки, начать и завершить рабочий день в удобное для себя время — хорошая нематериальная мотивация.
- В основном наши клиенты находятся в разных часовых поясах. Для более плотного сотрудничества желательно работать в удобное для них время.
- Иногда некоторым сотрудникам необходимо прийти раньше или задержаться дольше для выполнения специфических задач. Например, системному администратору провести профилактические работы офисного оборудования, или разработчикам предоставить сборку, без которой отделу тестирования нет смысла начинать работу.
Вариант готового решения системы учета рабочего времени не рассматривался, несмотря на явную экономическую выгоду. Решили разработать свой продукт, приспособленный к специфике нашей компании.
Этап первый: изначальные функциональные требования
Первые требования к системе имели в своей основе следующие два документа.
- «Методика учета рабочего времени» — базовый документ, в соответствии с которым должна работать будущая программа. По сути, это приложение к положению о трудовом распорядке.
- Техническое задание, опирающееся на «Методику учета рабочего времени». Согласно данному ТЗ, система должна получать с компьютеров сотрудников данные о времени начала и окончания рабочего дня и обеденного перерыва.
Определение периодов работы и простоя.
Периоды активности и простоя определялись достаточно просто: если сотрудник работает за компьютером, он активен. Если же не работает за компьютером, то не активен.
Разумеется, период неактивности вовсе не значит, что сотрудник не работает, и что это время не надо оплачивать. Периоды неактивности на рабочем месте — вполне естественное явление. Любой может отойти заварить чай, дать отдых глазам, собраться с другими разработчиками на совещание. Тем не менее, было решено, что система должна уведомлять о достаточно больших периодах неактивности (более двух часов в день).
Определение периодов неактивности осуществляется по следующей схеме:
- сотрудник входит в систему или производит разблокировку экрана — заканчивается период неактивности, начинается период активности;
- сотрудник выходит из системы, выключает компьютер или блокирует экран — заканчивается период активности, начинается период неактивности.
На основе полученных данных был реализован отчет «Лента активности», которая представляет собой череду периодов активности и неактивности сотрудника от начала и до конца рабочего дня.
Определение времени начала и конца рабочего дня
Рабочий день программиста начинается, когда он включает компьютер. На языке требований, первое за день событие, с которого начинается период активности сотрудника, — это начало рабочего дня, а последнее событие окончания активности сотрудника — конец рабочего дня.
Зная время начала работы, система в любой момент может определить, сколько сотрудник проработал на данный момент, и сколько ему осталось отработать до окончания восьмичасового рабочего дня.
На основе этих данных был реализован отчет «Статус», в котором сотрудник может увидеть время начала своего рабочего дня и счетчик, показывающий отработанное на данный момент время. Оставшиеся до конца восьмичасового дня часы и минуты было принято не отображать: мы не гоним людей, отработавших восемь часов, с работы. Любые переработки учитываются, и сверхурочная работа оплачивается. Тем не менее, регулярные случаи, когда сотрудник работает на износ, неприемлемы. Поэтому в систему было введено ограничение на максимальную продолжительность рабочего дня: достаточное, чтобы плодотворно поработать, но в то же время не перетрудиться.
Учет обеденного времени
Гибкий график подразумевает и гибкое время обеда. Согласно Трудовому кодексу, оно не оплачивается, поэтому его нужно выделять особо. Для этого реализован специальный веб-интерфейс, в котором сотрудник нажатием одной кнопки отмечает в системе начало обеда. Счетчик продолжительности его рабочего времени останавливается, и запускается счетчик продолжительности обеда. По окончании перерыва сотрудник жмёт на кнопку завершения обеда, и отсчет продолжительности его рабочего времени возобновляется.
Чтобы избежать злоупотреблений, когда можно отметить мнимый обед, к примеру, начав его и сразу же закончив, в систему было задано определённое значение минимальной продолжительности обеда, которое в таких случаях изымается у сотрудника из количества отработанного времени.
На основе вышеописанных данных формируется ряд отчетов, главным из которых является табель рабочего времени всех сотрудников компании, на основе которого и производится расчет заработной платы. Разумеется, есть возможность выгрузки в Excel. Реализация этих требований позволила автоматизировать процесс учета рабочего времени в нашей компании.
Этап второй: развитие системы в ходе ее эксплуатации
После первых положительных результатов мы опубликовали статью об учете времени при гибком графике в блоге. В конце тестовой эксплуатации, проходившей в течение двух лет, система начала словно жить своей жизнью, обрастая новыми требованиями, необходимости в которых ранее не виделось. При этом она оставалась всего лишь прототипом, узко заточенным под процессы конкретной организации.
Учет удаленных подключений и работы вне офиса
Со временем возможности системы было решено распространить и на сотрудников, работающих вне основного офиса. Цель этого нововведения — учет рабочего времени наших коллег в офисах других городов, а также сотрудников с личными ноутбуками.
Отметим, что и у штатных работников бывает производственная необходимость входа на рабочую машину удалённо, например, из дома. Ведь это тоже рабочее время, которое необходимо учитывать.
Синхронизация времени
Даже если на всех компьютерах предприятия часы синхронизированы, это не страхует систему от различных временных коллизий. На одних компьютерах часы могут быть не синхронизированы, на других — переведены специально, в конце концов, сотрудники могут работать в разных часовых поясах. В связи с этим появилось новое требование: все время переводится в единое глобальное время по стандарту UTC.
Наем и увольнение сотрудников
Эксплуатация системы на предприятии шла уже не первый год, за это время пришли новые сотрудники, а кто-то ушел; удалять старые данные из базы не хотелось. Бухгалтерию же интересуют только работающие на данный момент сотрудники. Так возникла потребность реализации функции найма и увольнения, согласно которой у каждого сотрудника есть некий период работы, за который и отображаются его данные. Если же запрашивается отчет за период, в течение которого он не работал, его фамилия не будет фигурировать в списке.
Этап третий: выход на рынок
Перед выходом на внешний рынок были проанализированы потребности потенциальных клиентов и функции программ-конкурентов. В связи с этим к системе, получившей название «Большой Брат», появились новые требования.
Новый дизайн
Старый «ламповый» дизайн созданного веб-приложения, к которому мы все привыкли, не годился для продаж, поэтому был разработан новый интерфейс. Многое было сделано для качественного отображения отчетов во всех современных браузерах.
Скриншоты
Функция периодических снимков экрана оказалась очень востребованной клиентами. Потребность в скриншотах подняла ряд вопросов не только морально-этического характера, но и задач накопления и безопасного хранения такого рода данных и доступа к ним. Прежде всего, скриншотами пользуются для контроля удаленных сотрудников. Офисные же работники итак находятся под контролем линейного руководителя.
Статистика использования приложений по заголовкам окон.
Целью этой функции является определение того, над чем сотрудник трудился в течение дня. Нет необходимости собирать информацию обо всех запущенных программах. Нас интересует фокус внимания пользователя, а за это отвечает текущее активное окно. Используя эту информацию, можно понять, на что уходит большая часть рабочего времени сотрудника.
Контроль разъездных сотрудников
Клиентам из сферы торговли понадобилось отслеживать перемещение своих мобильных сотрудников — курьеров, менеджеров, грузчиков. Потребовались мобильные приложения, посылающие сигналы на сервер о местонахождении, и отчеты, представляющие собой карту города с нарисованной на ней траекторией движения сотрудника в течение дня. Это требование заставило разработчиков готовить версии системы для мобильных устройств, которые бы корректно работали с беспроводными сетями и определяли местонахождение человека при помощи GPS. Специалисты по тестированию программного продукта в кои-то веки вырвались из офисов и целыми днями пропадали (судя по отчетам) в торговых центрах и кафешках.
Таким образом, система, изначально предназначенная для внутреннего использования и формирования табеля учета рабочего времени, стала гораздо более универсальной и многофункциональной программой управления временем на предприятии. Мы используем «Большого Брата» уже более трех лет и очень довольны. Сотрудники планируют свой день по собственному усмотрению, больше времени проводят с семьями, полноценно отдыхают. В коллективе царит прекрасное настроение. В то же время руководитель уверен, что все отрабатывают положенное время, при этом контроль остается практически незаметным.
После выхода на внешний рынок прошло немного времени, но систему, которая постоянно развивается и легко адаптируется к индивидуальным потребностям конкретного бизнеса, уже оценили представители самых разных сфер: от услуг в юриспруденции до нефтегазовой компании. Клиенты, работающие с «Большим Братом», предлагают свои идеи, которые мы готовы реализовать.
Интересно, полезно.
но в таких системах есть масса способов обхода.
пример из жизни реальной компании (годы, правда 2006, может сейчас уже решили..): сотруднику надо уйти по делам. его сосед рядом по кубику периодически шевелит мышку, чтобы компьютер не блокировался. нахождение в опен-спейсах таких ситуаций не исключает
и отдельная важная тема: всегда ли сотрудник задерживается обоснованно?
в общем, с одной стороны, понимаю, что это хорошо. с другой, мне лично ближе прозрачная система kpi, а от систем учета рабочего времени требуется если только некий фикс ''пришел/ушел'' просто для профилактики чрезмерного расслабления