Конечно же, автоматизация, внедрение программного обеспечения обеспечивают оптимизацию бизнес-процессов и дают существенную экономию затрат. Однако иногда программное обеспечение попадает в руки особенных сотрудников и становится очень опасным инструментом.
Еще в те времена, когда мы автоматизировали электроламповый завод на Foxbase, я столкнулся с воровством, в котором использовалось программное обеспечение. Происходило все так. Первоначально потенциальному покупателю выставлялся правильный счет на полную сумму. После чего с ним связывался ушлый работник отдела сбыта. И предлагал выполнить поставку лампочек по другой, намного более привлекательной цене. Но при условии, что половину разницы клиент перечислит на указанный счет. После поступления этой разницы и предоплаты по новой цене, клиенту отгружали лампы со значительной скидкой. Для этого в старом счете и товарно-транспортной накладной цену незаметно для всех меняли на новую. Чтобы осуществлять хищение, ушлый работник сбыта вовлек в свое преступное сообщество программиста завода, сопровождавшего отдел. Полученную таким образом выручку они обналичивали и делили пополам. Всю эту химию обнаружила через пару месяцев начальник отдела сбыта. Анализируя причины невыполнения плана, она проверила отгруженные позиции в отчете по отгрузке. И обнаружила несколько записей с демпинговыми ценами. После чего подняли копии выставленных счетов, которые, по счастливой случайности, собирала у себя главный бухгалтер при согласовании. На работника отдела сбыта и программиста завели уголовное дело. А нас попросили написать программу, сравнивающую отгрузку с установленными в прайсе ценами.
Тогда я понял, что в программном обеспечении обязательно должны быть отчеты, анализирующие цены. Поэтому, когда мы автоматизировали Автодор, я сам предложил руководству компании сделать специальный отчет по закупкам. В этом отчете цены и объемы из спецификации каждого договора сравнивались с ценами и объемами поставок в счетах-фактурах. В результате несколько поставщиков были пойманы с поличным при попытках поставок материалов по завышенным ценам и сверх договорных объемов.
Второй случай произошел уже со мной. В ту зиму 1992 года я автоматизировал гостиницу. Программа для оформления поселения и расчетов с гостями была только-только запущена, и в ней встречались ошибки. По просьбе администраторов мы поправляли ее прямо за стойкой, чтобы не останавливать оформление заезжающих. Сбои в первые дни происходили часто, и изменений вносилось довольно много. Этим и решила воспользоваться администратор Лада. Вечером она на моих глазах сверила кассу и обнаружила недостачу в 100 долларов. Столько тогда стоил номер в гостинице на сутки для иностранца. «Думаю, в программе произошел сбой, – сказала Лада. – Поправь отчет, убери расхождение, а завтра мы разберемся, что не так. Скорее всего, ошибочно начислили за номер, от которого отказался гость». Я удалил лишнюю запись, на которую указала администратор. А утром рассказал об этом случае на оперативке в кабинете директора. После оперативки меня попросила задержаться главный бухгалтер.
– Послушай, Рустэм, – сказала Галина Александровна, – Ты еще очень молодой, а у нас тут работают весьма прожженные леди. Никогда, запомни, никогда, не исправляй данные в кассовом отчете. Вчера дежурила Лада. Я ее хорошо знаю. И внимательно со всем разберусь. Мы составим реестр номеров, которые она заселила. И я заново сведу кассу.
Через два дня Ладу уволили, а я понял важную вещь. Что я никогда больше не полезу исправлять данные, введенные пользователями. Мы отвечаем за программу, это верно. Но за данные в ней отвечают пользователи. Пусть они самостоятельно разбираются с кассой, которая не сошлась. Все, чем мы можем им помочь – сделать отчет для анализа данных. Такое разделение ответственности гарантирует, что мы, автоматизаторы, не станем пособниками при нанесении экономического ущерба предприятию.
Третий случай произошел со мной во время работы в Сотовой связи. Там я был и разработчиком, и пользователем биллинговой программы. И даже иногда общался с особо дотошными клиентами. А клиенты были очень интересные. В те времена тарифы на сотовую связь были весьма существенными, и счета часто превышали тысячу долларов. Помню, как один из абонентов, получив такой счет, пришел в мой кабинет и бросил на стол детализацию звонков на 20 страницах.
– Вы все посчитали неправильно, исправляйте, – заявил абонент.
– Хорошо, а какие именно звонки посчитаны неправильно?
– Да тут их тысячи! Вы специалист, вот и скажите, какие неправильно посчитаны.
– Хорошо, – я взял в руки распечатку и медленно перелистал все 20 страниц. – Я внимательно все проверил. Все звонки посчитаны правильно.
– Что? Да не может быть, я никогда столько не платил!
– Если вы считаете, что расчеты сделаны неправильно, возьмите маркер и отметьте неправильные расчеты.
После чего абонент что-то понял, с тоской посмотрел на распечатку, выматерился и пошел в кассу гасить долг.
Но некоторые абоненты не успокаивались, даже заплатив. Один из них пришел в мой кабинет, сел напротив, и начал издалека.
– Вы знаете, я ужасно много плачу за сотовую связь.
– Да, тарифы высокие, я вас понимаю.
– Если так дело пойдет, я и вовсе выброшу трубу. Ваша компания потеряет клиента.
– Не хотелось бы. Что мы можем сделать?
– Ну, у меня тут знакомые в техническом отделе. Я все узнал. Это вы написали программу.
– Да, и что?
– А то, что раз вы ее написали, то можете и немного дописать.
– В смысле?
– Ну, поставьте там в коде «крыжик». Если это ИП Самохвалов, пусть она некоторые звонки пропускает. Не начисляет за них. Я в Москву часто езжу. Если программа проигнорирует роуминг, счета будут вполне приемлемыми по сумме.
– Здорово придумано. И, в самом деле, если просто снизить тариф Самохвалову, кто-нибудь да заметит. Но если пропустить пару звонков – совсем другое дело. На нет и суда нет! Правда, я одного не понимаю, зачем мне это делать?
– Так ваша контора сохранит клиента. А вам я буду платить наличными, скажем, 20 % от полученной экономии. И еще друзей приведу. С миру по нитке и вы разбогатеете!
– Спасибо, конечно. Весьма заманчиво. Но нет.
– Нет? Точно нет?
– Абсолютно точно. Мне репутация дороже денег, да и в тюрьму я не тороплюсь.
Я не рассказал об этом случае директору, посчитав его неважным. И, как выяснилось позже, совершенно зря. Уже уволившись из Сотовой, я от друзей узнал, что директор меня вся время подозревал. И вздохнул он с облегчением только тогда, когда заменил программу с открытым исходным кодом на новую биллинговую систему. Которую разработала и сопровождала московская фирма по договору.
Поэтому я не удивляюсь, сталкиваясь с такими случаями в практике наших клиентов. Вот о чем мне рассказывают знакомые директора ИТ.
В одном из российских водоканалов внедрялась новая программа. При внедрении проводился этап опытной эксплуатации. На этом этапе оказалось, что расчеты по многоквартирным домам одной из управляющих компаний сильно расходятся в старой и новой программах. Новая программа считала по показаниям счетчиков на вводе в дом. Старая – по нормативам. Расхождение – не в пользу Водоканала, на сотни тысяч рублей каждый месяц. При разборе ситуации выяснилось, что директор Управляющей компании еще несколько лет назад приходил, жаловался на то, что приборы учета вечно выходят из строя. И договорился со старым руководством Водоканала вести расчеты за воду по нормативам. В старой программе была сделана соответствующая настройка. За несколько лет предприятию был нанесен ущерб, исчисляемый миллионами рублей.
В другом городе произошла похожая история. При внедрении нашей программы «1С:Управление водоканалом 2» были выявлены значительные расхождения между новыми и старыми расчетами по одной из управляющих компаний. Анализ расхождений показал, что ни по одному из домов, обслуживаемых этой управляющей компанией, не начислялись расходы на ОДН (общедомовые нужды). Зато, как выяснилось позже, руководитель управляющей компании заносил в Водоканал наличными каждый месяц 20 % в качестве компенсации. Ущерб и в этом случае составил миллионы рублей.
Какой вывод можно сделать из этих историй? Зачастую сбытовые программы, особенно устаревшие, могут содержать в себе «зловредный код». Который, как правило, выявляется при внедрении новой программы. Конечно, полностью избежать риска сговора сотрудников предприятия с абонентами трудно. Но значительно сократить такой риск можно, внедрив современное, регулярно обновляемое программное обеспечение. Содержащее, к тому же, хорошие отчеты для детального анализа отгрузки.