Полная версия
Создаём вселенную: управление проектами
Создаём вселенную: управление проектами
Артём Нагуманов
© Артём Нагуманов, 2018
ISBN 978-5-4493-3622-4
Создано в интеллектуальной издательской системе Ridero
– Скажите пожалуйста, куда мне отсюда идти?
– А куда ты хочешь попасть? – ответил Кот.
– Мне все равно… – сказала Алиса.
– Тогда все равно куда и идти, – заметил Кот.
– …только бы попасть куда-нибудь, – пояснила Алиса.
– Куда-нибудь ты обязательно попадешь, – сказал Кот. – Нужно только достаточно долго идти.
Льюис Кэрролл. Алиса в стране чудес.Для кого написана эта книга
Всё, о чём говорится в этой книге, происходило со мной в действительности и является моим жизненным опытом. Как показывает практика, очень немногие люди пользуются опытом других, наступая на одни и те же грабли и падая в те же самые ямы. Кто-то считает, что должен сам допустить те или иные ошибки и сам же их исправить, однако многим свойственно забывать, что человеческая жизнь очень коротка и можно попросту не успеть сделать всё, что задумано. Другое заблуждение заключается в том, что порой люди переоценивают свои возможности и думают, что смогут разрешить какой-то вопрос, опираясь на свои знания и умения. К сожалению, зачастую это приводит к неудачам.
У меня иной подход: я стараюсь максимально использовать опыт других людей. Ведь практически все проблемы, с которыми вы сталкиваетесь, уже были кем-то решены, и просто глупо не воспользоваться этими решениями. Возможно, кто-то из вас в ответ на это скажет, что тогда остановится саморазвитие, – и будет абсолютно неправ. Как правило, при использовании какого-то готового решения в процессе его применения необходимо вносить всевозможные корректировки, доработки, делать подгонку под конкретную ситуацию, тем самым еще более глубоко вникая в проблему. В итоге предлагаемое решение будет более качественным и проработанным. Приведу простой пример: представьте, что вы построили дом и встал вопрос в прокладке электропроводки. Можно придумать самостоятельно, как лучше выполнить прокладку, провести её по минимальным маршрутам, чтобы сэкономить кабель, и в результате получить пожар, когда вы будете вешать картину и случайно наткнётесь шурупом на кабель в стене. Чтобы этого не произошло, необходимо пользоваться стандартами и принципами, разработанными для прокладки кабелей. Они написаны исходя из опыта тех, кто постоянно сталкивался с теми же проблемами, с которыми столкнетесь и вы, вследствие чего, возможно, лишитесь дома из-за пожара. Когда мне поступала та или иная задача, я всегда брал небольшую паузу, чтобы остановиться, оглядеться по сторонам и подобрать наиболее подходящее решение. И, следуя такому простому правилу, достиг таких успехов, которых большинство людей не достигнут никогда. Почти всегда подобранное решение необходимо подстраивать под условия своей задачи. Это не всегда бывает просто, но именно таким образом вы можете в полной мере раскрыть свой потенциал как инженера, управленца, специалиста. Используя данный подход в реальных задачах, я получил уникальный опыт и хочу поделиться им с вами. О своих результатах, о победах и поражениях я буду рассказывать на протяжении всей книги. В ней будут рассматриваться как общие вопросы управления, так и конкретные технические детали. Данный материал будет интересен менеджерам, техническим специалистам, ИТ-директорам, а также всем, кому не безразличны отрасль строительства дорог в России и влияние на неё информационных технологий.
Я прошёл длинный путь – от специалиста до ключевого руководителя. Глядя на себя со стороны, однозначно могу сказать, что большинство принятых мною решений верны. В книге я постараюсь показать реальные задачи и сложные ситуации, а также пути их решения.
Начиная писать книгу, я планировал «смешать» свой опыт работы на разных предприятиях и проектах – он всегда был весьма эпичным и заслуживающим внимания, – но, проанализировав всё, о чём я хотел рассказать, пришёл к выводу, что достаточно взять определённый временной промежуток – и в нём будет немало ярких и интересных событий. Всё, о чём я буду писать, относится к одному предприятию – самому крупному, в котором я когда-либо работал. В результате работы над книгой получилось своего рода руководство к действию, как в сложных условиях выполнять проекты любого масштаба. В то время меня не покидало ощущение, будто я смотрю на себя со стороны и кого-то сам себе напоминаю. Эта мысль не давала мне покоя долгое время, пока однажды я не понял, с кем из персонажей я себя ассоциировал. Им оказался небезызвестный мистер Томпкинс из «Романа об управлении проектами» Тома Демарко – с той лишь разницей, что всё происходящее было реальностью, я был вынужден находиться в омуте событий и искать пути решения проблем, которые сыпались на меня как из рога изобилия. В книге не будет никакой «воды» – я постараюсь доносить свои мысли простым языком, который будет понятен всем. Итак, начинаем!
Рождение холдинга
Для начала давайте определимся, что же мы всё-таки будем называть холдингом. Одно из классических определений данного термина может звучать так: «Холдинг – структура коммерческих организаций, включающая в себя материнскую компанию и сеть мелких дочерних компаний, которые она контролирует». Но откуда же берутся все эти компании? Что должно произойти, чтобы они начали объединяться? На самом деле причин может быть множество, начиная от покупки крупными компаниями более мелких и заканчивая принуждением войти в холдинг под угрозой потерять рынок сбыта или клиентов.
Я стал свидетелем и участником событий, которые привели к рождению крупного холдинга по строительству и содержанию автомобильных дорог и мостов. В холдинг входит 40 подразделений, общая численность сотрудников – 4000 человек, имеются 2500 единиц колёсной и строительной техники, собственные карьеры инертных материалов, дробильные комплексы, асфальтобетонные заводы, производство дорожных знаков, барьерного ограждения, железобетонных изделий и мостовых конструкций. Все подразделения находятся в разных местах Свердловской области. Они территориально отдалены друг от друга.
На момент моего прихода в холдинг он представлял собой несколько отдельных юридических лиц, каждое из которых жило по своим законам. О какой-либо ИТ-инфраструктуре не было и речи, не говоря уже о централизованных системах учёта и управления. Но тогда мне ещё только предстояло узнать реальное положение дел. Не было ничего, даже телефонного справочника, через который можно было бы выйти на руководителей региональных подразделений. Единственное, что было, – это записная книжка Макса, одного из руководителей холдинга. Из этой книжки можно было получить хоть какие-то контакты для налаживания связей с региональными подразделениями. Макс поставил перед собой одну, но очень важную задачу: зарабатывать деньги. Здесь хотя бы есть понимание, к чему стремиться. Моя задача на первый взгляд была понятна: создать ИТ-инфраструктуру, купить компьютеры, объединить всё в одну информационную систему и на этой базе построить систему управления предприятием Но, поразмышляв дальше, можно задать вопрос: «Зачем?». А ведь верно: всё работает, дороги строятся, люди получают заработную плату. И тут возникает вопрос: почему же тогда в России такие плохие и дорогие дороги, если процесс налажен и люди трудятся не покладая рук? Хороший вопрос. Может быть, всё не так, как выглядит снаружи, и есть какие-то скрытые факторы, из-за действия которых мы никогда не видели хороших дорог. Я предположил: всё, что сейчас есть, работает крайне неэффективно. Но как же исправить ситуацию? За тысячелетнюю историю страны это сделать не получилось – так почему же должно получиться сейчас? Такие вопросы я задавал сам себе и Максу на постоянных переговорах, целью которых было понять, что мы будем делать дальше. Путём обсуждения этих вопросов постепенно был определён круг задач для ИТ-директора и его будущего отдела. Решение этих задач сулило повышение эффективности такой огромной и запутанной отрасли, как строительство автомобильных дорог России.
Мысли о причастности к чему-то грандиозному грели душу и одновременно пугали: а вдруг ничего не получится, вдруг будет ещё хуже? Скажу честно: меня не раз посещали мысли отказаться от этого проекта, но в итоге получилось так, что я погрузился в него чуть больше, чем полностью.
Постановка задачи и пути её решения
Макс изначально поставил глобальную задачу: создать систему контроля холдинга, которая позволит снизить издержки. Поставленная задача слишком сложна и многогранна, в связи с чем её необходимо разбить на более мелкие подзадачи:
– Учёт материальных ценностей и полное исключение хищений в холдинге, в первую очередь топлива и запасных частей для строительной техники.
– В любой момент времени должно быть известно географическое нахождение каждой единицы строительной техники.
– Заработную плату должен получать только тот, кто выполняет работу, полезную для холдинга. Исключить возможность приписок в работе водителей, механизаторов, рабочих.
– Понятный документооборот: согласование и заключение договоров с контрагентами.
– Система согласования платежей, которая позволит подтвердить правомерность любых денежных расходов, а также найти информацию о любом платеже по разным признакам – например, по статье расхода, сумме, контрагенту и т. д.
– Все вышеописанные задачи должны обслуживаться персоналом с низкой квалификацией.
После недели размышлений над списком требований Макса единственное, что я знал со 100%-ной уверенностью, – так это то, что нам потребуется мощная программная система. Но поскольку охватить нужно несколько областей учёта, то и систем может потребоваться несколько. А если будет несколько систем, то как они будут взаимодействовать между собой? К тому же придётся искать специалистов, разбирающихся во всех этих системах. В общем, не очень радужная перспектива. Нужна такая система, которая внутри себя сможет объединить многие области учёта, и чтобы при необходимости один человек смог разобраться с любой её частью. Один из вариантов, который пришёл мне в голову, – это 1С и её отраслевые решения. Тем более я имел опыт работы с данной системой. Бегло опросив Google, я нашёл отраслевые решения, которые в теории могли решить практически все задачи из списка Макса. Ну что же – решено: одной из наших программных систем будет 1С. Забегая вперёд, скажу, что ни разу об этом не пожалел. Более глубоко изучив отраслевые решения, предлагаемые 1С, я пришёл к выводу, что все задачи из списка Макса можно решить с помощью этой системы, за исключением одной: определения местоположения строительной техники. Погрузившись в вопрос о местоположении, понял, что потребуется программно-аппаратный комплекс, состоящий из навигационных терминалов, программного сервера обработки данных и клиентского интерфейса, через который можно будет эти данные получать и анализировать.
Один в поле воин
Несмотря на масштабность проекта, ресурсы были весьма ограниченными. Не было и речи о том, чтобы набрать команду, – на первоначальном этапе планировалось, что заниматься всеми поставленными задачами я буду в одиночку, а в дальнейшем, в зависимости от полученных результатов, будет приниматься решение по поводу усиления стойкого оловянного солдатика, т.е. меня. Как бы странно это ни звучало, но я начал в одиночку реализовывать все поставленные задачи в холдинге, в котором работают 4000 человек и используется 2500 единиц колёсной и строительной техники! Скажу больше: у меня даже не было своего рабочего места – всеми делами я занимался дома за компьютером, а в качестве склада использовал свой собственный гараж.
Контроль работы автотранспорта
Разведка боем
Было решено начать с контроля автотранспорта, поскольку на разрозненных участках работают сотни людей, и никому нет дела до навигационной системы. Скажу больше: люди на участках – против этой системы. Во-первых, люди всегда против чего-то нового, а во-вторых, против того, чтобы производился контроль, – как говорится, в мутной воде легче рыбку ловить. В холдинге периодически вскрывались хищения: пропадал дорогой асфальт, а топливо лилось рекой. Такие случаи вскрывались совершенно случайно, а не благодаря чьей-то кропотливой работе. Например, один из сотрудников увидел в дачном посёлке знакомый самосвал, который привёз асфальт на продажу, или один из наших партнёров рассказал, что ему пытались продать цистерну нашего же топлива, и т. д. Мне было совершенно ясно, что воровство искоренить не получится, но вот значительно сократить – вполне реально. Должна была работать целая система, одно из предназначений которой – сокращение потерь материалов и топлива. Система должна работать беспристрастно, а ресурсы на её поддержание должны быть минимальны. Это звучит примерно как «Изобрести искусственный разум», умный и справедливый. Что-то из области фантастики, но выбора нет – нужно изобретать.
Как я уже сказал, решено было начать с контроля автотранспорта, и требовалось подобрать необходимое навигационное оборудование. Я решил подобрать неприхотливый, недорогой и простой в обслуживании навигационный терминал. Но как сделать верный выбор среди сотен моделей и производителей, которые просто заполонили российский рынок? Я вёл долгие поиски, долгие переговоры с производителями, но раз за разом терминалы не могли пройти мой внутренний отбор: у кого-то не было на борту акселерометра (прибор, измеряющий ускорение и необходимый для отсечки бросков координат), у кого-то – протокола 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С Екатеринбурга. Скажу сразу: мне удалось переманить его к себе. Я ввёл его в курс дела, объяснил архитектуру проекта, и уже вместе с Алексеем мы дали конфигурации название – «Координация транспорта». Наша конфигурация должна была внешне максимально напоминать «Управление автотранспортом» – ведь если вы помните, обучение диспетчеров я уже провёл, да к тому же и внешний интерфейс был удачным.