Читать книгу Создаём вселенную: управление проектами - Артём Нагуманов - Страница 7
Контроль работы автотранспорта
Разведка боем
ОглавлениеБыло решено начать с контроля автотранспорта, поскольку на разрозненных участках работают сотни людей, и никому нет дела до навигационной системы. Скажу больше: люди на участках – против этой системы. Во-первых, люди всегда против чего-то нового, а во-вторых, против того, чтобы производился контроль, – как говорится, в мутной воде легче рыбку ловить. В холдинге периодически вскрывались хищения: пропадал дорогой асфальт, а топливо лилось рекой. Такие случаи вскрывались совершенно случайно, а не благодаря чьей-то кропотливой работе. Например, один из сотрудников увидел в дачном посёлке знакомый самосвал, который привёз асфальт на продажу, или один из наших партнёров рассказал, что ему пытались продать цистерну нашего же топлива, и т. д. Мне было совершенно ясно, что воровство искоренить не получится, но вот значительно сократить – вполне реально. Должна была работать целая система, одно из предназначений которой – сокращение потерь материалов и топлива. Система должна работать беспристрастно, а ресурсы на её поддержание должны быть минимальны. Это звучит примерно как «Изобрести искусственный разум», умный и справедливый. Что-то из области фантастики, но выбора нет – нужно изобретать.
Как я уже сказал, решено было начать с контроля автотранспорта, и требовалось подобрать необходимое навигационное оборудование. Я решил подобрать неприхотливый, недорогой и простой в обслуживании навигационный терминал. Но как сделать верный выбор среди сотен моделей и производителей, которые просто заполонили российский рынок? Я вёл долгие поиски, долгие переговоры с производителями, но раз за разом терминалы не могли пройти мой внутренний отбор: у кого-то не было на борту акселерометра (прибор, измеряющий ускорение и необходимый для отсечки бросков координат), у кого-то – протокола RS485 (для подключения датчиков уровня топлива), а у кого-то была слишком высокая цена. На поиски я потратил неделю, но результатов так и не было. И тут мне в голову пришла простая и в то же время глубокая мысль: посмотреть статистику использования терминалов на навигационном сервисе Wialon. Уже через минуту у меня на руках был список топ-5 игроков на рынке навигационных терминалов. И одним из них был терминал ASC-3 от производителя «АПК КОМ». Как вы уже догадались, он с лёгкостью прошёл мой строгий отбор – и уже на следующий день я заказал 2500 терминалов ASC-3. Кто-то, вероятно, скажет: «Зачем сразу так много? Можно было взять один, протестировать, а уж потом заказывать всю партию», – и, возможно, будет прав. Но у меня к тому моменту уже не было времени, однако была уверенность, что я поступаю правильно. И моё чутьё не подвело – терминалы работали, как заявлено, и подходили по всем параметрам.
Итак, навигационные терминалы подобраны – теперь необходимо определиться с программной частью. Ниже перечислю основные требования:
– Наличие Web-интерфейса.
– Удобный интерфейс, понятный неподготовленному пользователю.
– API для получения навигационной информации внешними системами.
– Широкий круг поддерживаемых навигационных терминалов.
Поскольку в процессе поиска навигационных терминалов я уже натыкался на сервис Wialon белорусского производителя Gurtam, то решил проверить его возможности. Оказалось, это именно то, что мне нужно. Через несколько дней был куплен Wialon Pro.
Для функционирования Wialon необходим сервер. Его характеристики полностью зависят от количества терминалов и пользователей, которые будут работать с навигационной информацией. Прикинув, что пользователей будет около 100, а терминалов – 2500, я заказал достаточно мощный сервер с двумя процессорами RAID массивом пятого уровня и 90 Gb оперативной памяти. Дорожный бизнес подвержен постоянным проверкам со стороны государства – к вам могут прийти с проверкой и просто изъять всё оборудование, в том числе сервер. По этим причинам я решил разместить его на съёмной квартире; к тому же в таком случае получалось значительно сэкономить на Интернете (примерно в 10 раз). Квартира была предварительно подготовлена: поставлен мощный кондиционер, проведены пожарная и охранная сигнализации, проведён быстрый Интернет. Данная серверная впоследствии не раз спасла меня от разных нештатных ситуаций. Кто-нибудь обязательно спросит: почему я не арендовал серверы за границей? Ответ очень простой: на тот момент никто не смог предложить мне адекватную цену за необходимые характеристики. А это было только начало – я понимал, что в последующем мне придётся наращивать мощность и количество серверов. Важный момент: я сразу же привязал внешний IP-адрес сервера к доменному имени. Не думайте, что IP-адрес будет с вами навсегда, – рано или поздно вы столкнётесь с тем, что его придётся менять. Забегая вперёд, скажу, что и я в своё время столкнулся с данной проблемой, но потратил на её решение всего один час, а не долгие месяцы работы. Речь идёт о тех месяцах, которые могли бы потребоваться для того, чтобы изменить адрес отправки навигационной информации, – ведь в терминал прописывается адрес сервера, на который отправляется информация. В каждый из терминалов я прописал доменное имя, и это оказалось весьма удачным решением.
Итак, сервер установлен, навигационное оборудование настроено, Wialon весело показывает окно ввода логина и пароля. Дело осталось «за малым» – установить 2500 терминалов на транспортные средства. До этого всё шло так гладко и продуманно, что я потерял бдительность и полагал, что в вопросе установки терминалов не будет ничего сложного, Как же я ошибался! Начнём с того, что вся техника разбросана по Свердловской области и никто не может сказать, где она находится (ну логично ведь – контроля транспорта нет!). Обычной стала ситуация, когда, договорившись с начальником участка, приезжаешь на установку, а техники нет, и снова никто не знает, где она: кто-то говорит, что нет такой техники вообще, кто-то – что она уехала выполнять задание по строительству. А ты стоишь где-то на пыльной территории, ограждённой забором, и думаешь: туда ли вообще приехал или нет? Водители были настроены против установки терминалов на их автомобили и всячески препятствовали этому: кто-то мог просто закрыть кабину, кто-то – оборвать провода на установленном терминале. Но несмотря на противодействие, работа не останавливалась. Для ускорения процесса было нанято несколько монтажников, каждый из которых сталкивался ровно с теми же проблемами, что и я. Дело продвигалось, но крайне медленно. Добавилась новая проблема – уже установленные навигационные терминалы переставали работать: где-то обрывался провод, где-то был плохой контакт, где-то сгорал предохранитель… В результате монтажники не то чтобы новые терминалы ставить, даже старые чинить не успевали. Казалось, что это ад и замкнутый круг! Я взял небольшую паузу и решил придумать способ, чтобы нерабочий терминал стал не моей проблемой, а проблемой водителя, начальника этого водителя… да чьей угодно, только не моей. Но как это сделать, когда все против тебя? Для начала я решил выяснить, что же общего в работе автотранспорта на каждом участке. О чудо, есть нечто общее – это путевой лист! Он выдаётся каждому водителю перед выездом. В нём фиксируются время выезда с базы и время прибытия на базу. Кроме того, водитель сам заносит туда свои остатки топлива в баке. Мой план был таков: отказаться от бумажных путевых листов и перейти на электронные; после того, как электронные путевые листы «приживутся», завязать на них километраж и моточасы с навигационных терминалов. Если вдруг навигационный терминал не работал, то в электронный путевой лист записывались нулевые показания километража и моточасов. Как следствие, у водителя не должно списываться топливо. А всё несписанное топливо будет числиться на водителе. По моей задумке, водитель не мог допустить такого и должен был начинать разбираться. Как следствие, к процессу должен подключаться местный электрик и чинить навигационный терминал.
После всех этих размышлений я принял решение параллельно внедрять электронные путевые листы. Как и любой электронный документ, путевой лист обладает возможностью разнообразных выборок за любой промежуток времени: например, с лёгкостью можно по фамилии водителя узнать, сколько топлива ему было выдано, по гос. номеру транспортного средства можно получить количество рейсов с карьера на дорогу и т. д. Чтобы сделать то же самое, используя бумажные путевые листы, потребовались бы большие ресурсы и время – необходимо было обработать каждый бумажный путевой лист. Как уже упоминалось ранее, я изначально был нацелен на отраслевые решения 1С. Поэтому мой выбор пал на продукт «Управление автотранспортом» от фирмы «Рарус». Это проверенная временем и надёжная программная система, которая, помимо электронных путевых листов, предоставляет широкий функционал по обслуживанию автопарка – например, учёт запасных частей. Данное программное обеспечение я решил опробовать на одном из участков, прежде чем распространять на весь холдинг. Была куплена лицензия на пять пользователей, установлена на старенький сервер, который был расположен на этом же участке. Диспетчерам был настроен удалённый доступ, проведено первоначальное обучение. Всем диспетчерам была дана команда сначала заводить электронный путевой лист, а уже с него печатать бумажный и отдавать водителю. На первом этапе у меня была цель приучить сотрудников работать с электронными путевыми листами – и постепенно все отделы привыкли к этому. Помимо диспетчерской службы, информация оказалась полезной для бухгалтерии – и они начали её активно использовать. Пока шёл процесс внедрения, я разрабатывал модуль для 1С, который бы получал навигационную информацию (километражи, моточасы) из Wialon. К тому же данный модуль ограничивал бы диспетчеров и не позволял им указывать завышенные километраж и моточасы. Спустя месяц работы первая версия модуля была готова, а сотрудники на участке немного привыкли к системе электронных путевых листов. Я уже был готов попробовать работу в связке с Wialon, но тут возникли серьёзные проблемы: программная система управления автотранспортом была защищена специальным ключом и не позволяла вносить изменения в свои алгоритмы. Необходимость таких изменений была острой, т.к. были найдены ошибки в работе, а также требовался функционал, которого изначально заложено не было. Я понимал, что в дальнейшем проблемы будут только накапливаться, влияя на качество работы всего холдинга. Было решено отказаться от «Управления автотранспортом» фирмы «Рарус» и начать разрабатывать свою собственную конфигурацию для 1С, которая будет использоваться для ведения электронных путевых листов. Я понимал, что объём работы крайне велик, но знал, что это – одна из центральных частей системы, и к каждому её алгоритму мы должны иметь доступ. Первоначально я начал самостоятельно разрабатывать архитектуру и писать код. Через месяц работы начал вырисовываться контур нашей конфигурации для 1С. Уже были готовы формы всех основных видов путевых листов, был написан алгоритм расчёта топлива в зависимости от разных условий – например, от массы перевезённого груза. Стало понятно, что я иду в правильном направлении, но вот времени, чтобы заниматься чем-то ещё, у меня уже не было, а нужно было двигаться дальше. И я начал поиск 1С-программиста, который смог бы продолжить разработку конфигурации для управления автотранспортом. Как оказалось, даже за хорошие деньги тяжело найти специалиста, который сможет не просто реализовывать какие-то мелкие пожелания бухгалтеров, а в одиночку разрабатывать систему, которая в дальнейшем станет одним из центральных звеньев в работе холдинга. Когда я провёл десятое собеседование, то начал задумываться: а не слишком ли большие требования выдвигаю, и, может быть, стоит самому дорабатывать систему? Однако я отбросил эти мысли и продолжил поиск. Искал везде – на сайтах работы, через знакомых, на досках объявлений, – но результата так и не было. И вот однажды на одном из участков холдинга я столкнулся с 1С-программистом. Звали его Алексей. Он приехал по просьбе местного руководителя решить какие-то локальные проблемы в бухгалтерской базе. Ради интереса я начал наблюдать, что он делал. И мне показалось, что можно попробовать посотрудничать с ним в разработке нашей собственной конфигурации для управления автотранспортом. Оказалось, что Алексей работал в одном из подразделений 1С Екатеринбурга. Скажу сразу: мне удалось переманить его к себе. Я ввёл его в курс дела, объяснил архитектуру проекта, и уже вместе с Алексеем мы дали конфигурации название – «Координация транспорта». Наша конфигурация должна была внешне максимально напоминать «Управление автотранспортом» – ведь если вы помните, обучение диспетчеров я уже провёл, да к тому же и внешний интерфейс был удачным.
Параллельно у нас в работе было несколько дел: установка навигационных терминалов, разработка конфигурации «Координация транспорта», обучение диспетчеров. Через два месяца работы в таком режиме была готова первая версия «Координации транспорта», которой уже сносно можно было пользоваться. Также на тот момент было установлено порядка 500 навигационных терминалов. Модуль связки 1С с навигационной системой тоже был готов. На трёх крупных участках холдинга были внедрены электронные путевые листы и со скрипом, но велись. Скажу больше: уже всё было завязано на них, и просто так прекратить их использовать уже не получилось бы. Всё было готово, чтобы попробовать контролировать пробеги и моточасы по показаниям с навигационных терминалов. В воскресенье вечером контроль был включён, чтобы рабочая неделя началась в новом режиме. Но того, что начало происходить дальше, я совершенно не ожидал! Оказалось, что практически по всем транспортным средствам километраж завышался в два раза. Соответственно, и топлива списывалось в два раза больше положенного. Казалось бы, вот тебе факты – сообщай руководству, применяй административные наказания и работай дальше! Однако переломить систему оказалось не так-то просто. На меня ополчились все работники предприятия, а начальники региональных подразделений все как один пытались доказать Максу, что навигационные терминалы не работают корректно, а лично я вставляю палки в колёса и мешаю непосредственной работе строителей. Макс был на моей стороне, к тому же на каждый выпад в мою сторону я делал показательные замеры. Садился на якобы проблемный автомобиль и вместе с водителем работал смену, а в конце перед комиссией сравнивал показания одометра и показания навигационного терминала. Каждый раз разница между показаниями составляла не более 10%. Ещё один интересный момент: почему-то все безоговорочно верят одометру, даже несмотря на то, что производитель закладывает погрешность до 10%. Но иногда были случаи, что водитель был ни при чём, а проблема заключалась в навигационном терминале. Например, изначально был некачественный монтаж, что приводило к потерям связи, и, как следствие, бесследно пропадали части километража. В автоматическом режиме такие проблемы решить невозможно. Было решено ввести новую штатную единицу «Старший диспетчер». В его задачи входило разбирать проблемные случаи и давать разрешение на закрытие электронного путевого листа. Но для этого потребовался специальный механизм, который блокировал бы путевой лист до момента разбора. И я придумал такой механизм, который позволял в телефонном режиме вести разбор и при его окончании через кодовое слово разрешать или запрещать закрытие путевого листа. В разборе, как правило, участвуют старший диспетчер (моё доверенное лицо) и диспетчер регионального подразделения холдинга. Данный механизм настолько плотно прижился, что уже воспринимался как неотъемлемая часть работы.
Основная причина, по которой водители пытаются приписать больший километраж, – это воровство топлива. Чем больше километража приписано, тем больше топлива можно украсть. Нередки случаи, когда продажа украденного топлива приносит водителю доход больший, чем его официальная заработная плата. Также зачастую случается, что в схеме воровства участвуют механики и диспетчеры. Мне стало предельно ясно, что просто так расставаться с таким лакомым куском сотрудники-воры не станут. Если бы было 10 водителей или 50, то можно было бы с каждым по отдельности провести беседу, наказать, ещё как-то повлиять, на крайний случай уволить и даже передать информацию в полицию. Но когда водителей тысячи, этот подход осуществить невозможно. Чтобы снизить градус напряжённости, я решил применить следующую схему: целенаправленно дать 20% погрешности и разрешить диспетчеру использовать этот процент сверх показаний телематических терминалов. По сути, я разрешил контролируемое воровство, но тем самым, во-первых, снизил его, во-вторых, взял под контроль, с прицелом в дальнейшем снизить его до нуля, и самое важное – снизил напряжённость среди сотрудников. Бóльшая часть восприняла этот шаг как компромисс и продолжила работать дальше. Это однозначно была локальная победа, но самые серьёзные битвы были ещё впереди. Как ни странно, Макс был недоволен результатами – он требовал полностью искоренить воровство, запрещал идти на любые компромиссы, но мне удалось убедить его хотя бы некоторое время поработать в таком режиме и не закручивать гайки. В данном случае жёсткие меры могли привести к коллапсу, к тому, что люди будут массово саботировать рабочий процесс. И если бы это произошло, у нас начались бы проблемы с заказчиком и в худшем случае могли быть расторгнуты контракты на строительство дорог. Макс принял мои аргументы, и мы начали двигаться дальше.
А сейчас я хотел бы подвести итоги за полгода работы просто в сумасшедшем режиме:
1. Установлено 1000 навигационных терминалов.
2. Написана собственная конфигурация 1C «Координация транспорта», которая позволяла вести электронные путевые листы.
3. Разработан модуль взаимодействия 1С с навигационной системой.
4. Разработана система «разбора полётов», с помощью которой решаются проблемы закрытия путевых листов, когда оборудование работало некорректно.
5. На трёх крупных (в общей сумме – 600 сотрудников) региональных подразделениях внедрены вышеописанные системы.
В результате удалось сократить расход топлива примерно на 20%. Но как же так: пробеги мы сократили почти в 2 раза, а расход сократился только на 20%! Исходя из этого я понимал, что есть ещё много лазеек. Мы закрыли приписывание километража – и тут же водители нашли какой-то новый способ обхода системы, но я пока не знал какой. Я всё чаще говорю «водитель», потому что проблему контроля механизмов (бульдозеры, погрузчики, тракторы), работающих по моточасам, решили отложить, поскольку на данный момент я не знал способа получить реальные моточасы.
Для того чтобы дойти до результатов, описанных выше, мне пришлось работать – без преувеличения – всегда. Не было такого дня, чтобы я не занимался работой, – за эти полгода я ни разу не читал новости и не смотрел телевизор. Я был настолько вовлечён в рабочий процесс, что всё остальное было вторично. А за собой я увлекал будущий костяк команды. Скорее всего, не уделяя проекту такую уйму времени, нам не удалось бы достичь даже этих скромных результатов. На первый взгляд хоть что-то начало получаться, но моему удивлению и негодованию не было предела, когда я узнал, что весь наш результат был только «на бумаге»: все эти красивые цифры показывались в отчётах, а фактически расход топлива не изменился. Я узнал об этом, когда запросил информацию по закупкам топлива. Но как же так, в чём проблема – может быть, где-то допущена принципиальная ошибка? Делать нечего – необходимо перебирать все звенья системы и смотреть, что же работает не так. После проверки оказалось, что система работает как задумано. А проблема совсем в другом: как оказалось, бухгалтерия не делала удержаний из заработных плат водителей – ни копейки, – несмотря на сотни литров перерасхода. Когда я пришёл в бухгалтерию и начал требовать удержаний, на меня смотрели как на сумасшедшего и отвечали, что они так работали всегда и ничего менять не собираются. Ну, что же – раз менять ничего не собираются, будем менять их. Конечно же, огульно в данном случае действовать нельзя. Поэтому я хорошо подготовился, совместно с Максом мы придумали схему, через которую можно произвести удержание из заработной платы водителя, оформляя при этом минимум бумаг. Схема очень простая, и в двух словах её можно выразить так: удержание перерасхода топлива за счёт премиальной части заработной платы. Для бухгалтерии были разработаны инструкции и приказы. Если кто-то был с чем-то не согласен, с ним особо не церемонились – сразу отправляли на вольные хлеба. Непозволительной роскошью было иметь бухгалтерию, которая создаёт дополнительные проблемы. Всё осложнялось тем, что бухгалтеров 50 человек, и располагаются они в разных офисах – крайне тяжело каждого из них обучить, довести необходимые приказы. Но деваться было некуда, и эта работа проводилась. В следующий месяц с горем пополам была произведена часть удержаний. Столько потрачено сил, а фактическая экономия оказалась не той, которую ожидали… К тому же добавились новые проблемы – например, кто будет доводить до бухгалтерии фамилии и суммы для удержания? А что делать, если до момента начисления заработной платы ещё не разнесены путевые листы? А если путевые листы вообще не выписывались, а топливо тратилось? Вопросов снова больше, чем ответов. И я начал чувствовать, что всё превращается в болото, в котором можно было сидеть бесконечно – что-то делать и не иметь чёткого результата или, что ещё хуже, иметь ложный результат, который будет вводить в заблуждение. И в конечном итоге это будет приводить к потере денежных средств. Снова есть над чем задуматься – и снова идея: нужно построить работу отделов и подразделений так, чтобы они просто не могли работать неправильно. А критерии правильности или неправильности определим. Совместно с Максом мы сформулировали критерии, которые необходимы для удержания перерасхода из заработной платы водителя: