Как запустить новую программу на заводе за 10 дней
Дело было в 2010 году. В октябре месяце к нам в компанию позвонил ИТ-директор другого завода и пригласил в гости. Пообщаться на тему внедрения 1С. Я тут же сел в машину и поехал, всего-то 200 километров до заказчика. «Десяточка» моя пролетела их за два часа.
Когда я вошел в кабинет начальника АСУ, и мы проговорили буквально 10 минут, я понял, что Василий Иванович – наш человек. Специалист с большим опытом автоматизации, который всю свою жизнь проработал на заводе. Знает и его боль, и всех своих пользователей как облупленных. Решает поставленные задачи теми средствами, которые ему доступны. И весьма неплохо справляется, несмотря на ограничения бюджета. В общении с такими людьми у меня возникает ощущение, что мы понимаем друг друга с полуслова, и сразу устанавливается доверие.
Заводу нужна была новая система складского и бухгалтерского учета. Планировалось запустить ее с нового года. Василий Иванович заметил, что до конца года остается немного времени, и нам придется поторопиться с предпроектным обследованием и коммерческим предложением.
Ну, надо – так надо. Я попросил посмотреть структуру завода. Василий Иванович посетовал, что она часто меняется и действующий вариант никто не знает. Точно известно только одно, что реальная структура не совпадает с официально утвержденной. Но после пары звонков он все же распечатал мне огромную портянку формата A1.
На ней мы тут же ограничили организационные рамки проекта, обведя те отделы, которые будем автоматизировать, шариковой ручкой. Думаю, поработать ручкой над структурой предприятия – самое первое и простое, но самое важное действие, которое надо произвести при обследовании. Одним росчерком пера вы выявите основных стейкхолдеров – это руководители помеченных подразделений. И отсечете от проекта тех, кто появится со своими требованиями позже. В список автоматизируемых отделов, кроме бухгалтерии, попали финотдел, служба реализации, отдел снабжения и склады.
После этого я попросил принести положения об отделах, попавших в периметр автоматизации. На мое счастье, они нашлись в одном из шкафов в отделе труда и заработной платы. Пыльные немножко и пожелтевшие. Поэтому никто не гарантировал их актуальности. Но, зная, какой консервативной структурой является завод, я был уверен, что все основные функции в них отражены. Мы с Василием Ивановичем сели и за полчаса отметили те функции, которые нужно автоматизировать. Так мы разобрались с функциональными требованиями.
И, наконец, я взялся за штатное расписание по нужным отделам. Попросил вариант с фамилиями, и мне его, конечно же, дали. Но только посмотреть. Пришлось переписывать реальное количество работающих по отделам прямо в структуру завода. Нужно же было как-то узнать, сколько лицензий 1С поставить.
После этого мы с Василием Ивановичем решили, что «1C:Управление производственным предприятием» им вполне подойдет, так как следующим этапом предусматривалась автоматизация производственного планирования и учета.
Покончив с обследованием за пару часов, я уехал с завода. На следующий день Василий Иванович прислал мне свое техническое задание на автоматизацию на трех страничках. В нем был перечень отчетных форм, которые нужно получать из системы. Очень полезное дополнение к тем документам, что я привез с завода.
Почему нам удалось так быстро сформулировать требования, и мы обошлись без интервью со всеми стейкхолдерами? Не только потому, что и я, и Василий Иванович были специалистами с опытом автоматизации заводов, и использовали легко доступные документы. Но и по той простой причине, что автоматизируемая область – бухгалтерский и складской учет – в России почти полностью регламентированы. И возможностей типового решения вполне достаточно для удовлетворения почти всех требований. А перечень выходных форм снимал большинство оставшихся рисков.
Коммерческое предложение и договор были готовы за три дня. Ну а дальше началось то, что всегда происходит в серьезных конторах. Согласование проекта со стейкхолдерами. Не прошло и двух месяцев (друзья, согласитесь, в нашей предпроектной жизни – это просто миг), как мы уже подписали договор. Естественно, в редакции, подготовленной еще в октябре, и только слегка скорректированной под реалии декабря. С остановкой старых программ 31 декабря и запуском всей системы с 1 января.
Когда я собрал проектную команду и показал им подписанный договор, установилась тишина.
– Как вы вообще это представляете? – спросил меня руководитель проекта Азат. – Контрольный пример не проведен, пользователи не обучены, остатков нет. Ну, остановим мы старую программу. А новая-то как заработает?
– Давай вместе подумаем. Представим нашу будущую систему в динамике, начиная прямо с 1 января. Точнее, с 10 января. Какие документы нам понадобятся в первую очередь?
– Так. Отгрузка продукции должна происходить. И оприходование материалов. Банк и касса должны обрабатываться.
– Правильно. Это человек 10–20 складских работников, бухгалтеров и финансистов. И четыре-пять видов документов. Стандартных, которые всем подходят. Если мы сделаем инструкции и попросим пользователей выйти на работу не десятого января, а, скажем, восьмого, успеем мы их обучить? Успеем. А еще мы организуем техподдержку на месте прямо с 10 января, и они смогут получить ответ на любой вопрос сразу.
– Но у них должны быть реальные остатки, иначе как они отгрузят продукцию?
– Согласен, значит, надо остатки перенести из старой системы в новогодние каникулы. Успеем?
– Успеем, только они декабрь будут закрывать до 20 января. Остатки съедут. Раньше двадцатого переносить нельзя.
– Можно, если переносить их два раза. Поэтому программу переноса нужно написать правильную. Такую, что прежде чем что-то перенести повторно, она поищет это в новой системе, исправит и допишет, но ничего не удалит.
– Ну ладно. Оперативный учет с грехом пополам мы запустим. А что делать с бухгалтерским? Мы в январе точно не автоматизируем всю бухгалтерию. А им в начале февраля сдавать отчетность за месяц.
– Не переживай. Я поговорю с главным бухгалтером.
И я поговорил. Специально для этого съездил на завод.
– Знаете, Анна Петровна, должен вас предупредить – мы не сможем сделать вам полноценный отчет за январь в новой системе.
– Ладно, я получу его из старой.
– Не получите. Мы остановим ее 31 декабря на ввод новых данных. Иначе мы не сможем запустить новую систему с 1 января. Народ просто не будет работать с новой системой, если все, что он делал раньше, он сможет делать в старой. Я уже договорился с Василием Ивановичем. Он перепишет код в старой программе и запретит ввод документов с датой старше 31 декабря. Помните, как Александр Македонский сжег корабли, когда его войско высадилось в Персии? Он не оставил своим бойцам другого шанса, кроме как разбить врага на его территории. Так и мы – сожжем мосты. То есть корабли. То есть старую программу.
– Вы что, думаете, что отчетность завода в контролирующие органы – это шутка? Как, по-вашему, я ее должна сделать и сдать?
– Не знаю даже, что сказать. Ситуация, и правда, необычная. У вас будут данные по отгрузке, приходу материалов, банку и кассе. НДС в отгрузке и к зачету тоже посчитаем. Это все.
– Понятно. Ладно, придумаем что-то, используем доступные данные и статистику за прошлые периоды. Да, придется сделать корректировки позже. Ну ладно, все равно мы их делаем регулярно. В этот раз объясним, что внедрялась новая система, и в ней произошел сбой. Но когда я смогу получить реальную отчетность?
– Вы получите ее в середине апреля. Сразу за весь первый квартал.
Анна Петровна кивнула. Я понял, что она приняла предложенную технологию внедрения. Когда из-за сжатых сроков заказчик идет на отказ от этапа опытной эксплуатации. И сразу запускает систему в промышленную. Осознавая все связанные с этим риски ошибок и неверной отчетности.
И мы начали. Всей команде проекта пришлось активно поработать три дня до нового года и все новогодние каникулы. За это время был составлен и выполнен план быстрого запуска, включающий в себя следующие задачи:
• выявление пользователей, работу которых нельзя остановить;
• выявление справочников, документов и отчетов, которые они будут использовать;
• написание кратких технологических инструкций по работе с нужными объектами;
• обучение задействованных в запуске пользователей;
• программирование обработок по переносу данных;
• перенос и сверку перенесенных данных;
• создание службы техподдержки и системы обращения в нее прямо из программы.
10 января 2011 года завод работал уже как обычно. Но в новой программе. Это был самый быстрый запуск УПП в промышленную эксплуатацию в моей жизни.
История из моей книжки "Франчайзи на грани нервного срыва". Еще больше историй в одноименной серии, подписывайтесь
Как автоматизировать завод и не уснуть за рулем
Ламповый завод или «Лампочка», как его ласково называли рабочие, находился в промышленной зоне – у черта на рогах на севере города. Мы с женой снимали квартиру в центре. И мне приходилось вставать в 6 утра, чтобы отвезти сына в школу, находившуюся в самом южном районе, и успеть на завод к 8 утра, к началу первой смены. По этой синусоиде я катался изо дня в день около года, как-то даже уснул за рулем и проснулся за 5 сантиметрах от бампера грузовика, тормозящего на светофоре.
«Аванта» – молодая, только что созданная фирма, бывший вычислительный центр Водоканала, отправленный в свободное плавание. Семь человек. Быстренько создать ТОО пришлось после того, как на уровне города было признано, что увлечение муниципальных предприятий малыми предприятиями является «перегибом на местах». После чего директор кооператива «Вода» вызвал меня к себе, рассказал, что отдел сбыта Водоканала возвращается из кооператива снова в Водоканал. А что делать с вычислительным центром, он не знает, так как ставка зама по экономике в Водоканале есть, а ставок для программистов – нет.
Было самое начало 90-х годов. Я считаю это время рассветом
ИТ-отрасли страны, работы было много, заказы шли сами собой, работало сарафанное радио. ТОО наше потихоньку набирало силу, и вот – заключило договор на автоматизацию завода. Наш самый большой договор. На заводе предстояло автоматизировать три службы – бухгалтерию, отдел сбыта и финотдел.
Эти три службы не очень дружили. Руководители служб ругались на оперативках. Давали настолько разную отчетность за месяц, что директор, когда подписывал договор, сжал мою руку, посмотрел мне прямо в глаза и сказал:
– Послушай. Они дают мне разные цифры. Не совпадает ничего. Ни склад, ни отгрузка, ни дебиторка. Каждый считает, что только его цифры правильные. Я не понимаю, что у меня происходит на самом деле. Я не знаю, кому верить. Ты должен с этим что-то сделать!
Причиной того, что происходило на заводе, являлось полное отсутствие интеграции между программами отделов сбыта и финотдела, плюс сильно отстающая по времени отчетность бухгалтерии, получаемая из бумажных журналов-ордеров.
У нас не было готовой типовой программы для этих подразделений. Тогда с типовыми программами было туго. Даже если бы такая программа появилась, мы запросто могли о ней и не узнать. Интернета не было, а давать рекламу в газетах, радио и на телевидении было не по карману молодым ИТ-компаниям. Поэтому программу для завода нам предстояло написать с нуля.
Первое, что мы сделали – провели обследование этих трех отделов. Результаты зарисовали в виде схем, на которых изобразили основные функции отделов и используемые документы. А также нарисовали стрелочками связи между данными и функциями сотрудников. Собрали образцы всех документов. Тогда еще не были так популярны современные средства формализации требований — разработка моделей «как есть» и «как будет» в case-системах и написание пользовательских историй (use-case). Мы действовали исходя из простого предположения, что раз мы разрабатываем информационную систему, нам нужно знать все о том, кто и какую информацию обрабатывает, и как именно. А рисунки и образцы документов позволяли получить компактное описание системы.
После чего мы занялись проектированием программы. Разработали структуры всех таблиц. При этом исключили дублирование информации. Если финотдел и отдел сбыта использовали для регистрации оплат разные таблицы в разных программах, у нас это была единая табличка для всех служб. За основу мы взяли систему бухгалтерского учета. Идея все построить на операциях и остатках мне очень нравилась, так как принцип двойной записи, применяемый в бухгалтерии, обеспечивал высокую надежность системы.
«Засада» началась, когда мы приступили к программированию. В этих трех отделах на заводе работало человек 50, каждый рассказал о том, что он делает, и нам надо было написать громадную кучу кода. Товарные и железнодорожные накладные, партионный учет на складе, отгрузка посылками и в контейнерах, учет векселей и других ценных бумаг… Система получалась огромной. А программировать на FoxBase – это вам не в 1С объекты создавать! Каждый справочник, документ и отчет надо было писать как уникальный, вручную. Проработав месяц почти каждый день до глубокой ночи, я задумался. Последнее, что меня окончательно убедило, что мы что-то не то делаем, был случай в январскую ночь. Я приехал на завод в 8 утра, а уезжал в 2 ночи. С утра шел снег, и я с трудом нашел свою машину на стоянке возле завода. Откопал ее. Завел мотор и тут же, через 30 метров, застрял на трамвайных путях, которые просто были не видны под снегом! Мне крупно повезло, что пути ночью чистил специальный трамвай-снегоочиститель. Мужик в кабине поржал немного, увидев мою пятерку на рельсах, прицепил трос и вытащил меня на переезд, откуда я смог выкатиться на шоссе.
В тот день я понял, что если все оставить как есть, то никакого здоровья нам не хватит закончить систему. Прошло уже несколько месяцев с начала проекта, деньги кончались вместе с кредитом доверия директора, а нам все еще нечего было показать пользователям.
И тогда я сделал то, что у меня всегда получалось лучше всего – я автоматизировал нашу работу. Создал универсальный интерфейс, универсальный справочник, универсальный документ и универсальный отчет. Все эти вещи управлялись простым заданием параметров – как правило, указанием таблиц, с которыми работали программы, и их реквизитов. Теперь все программирование заключалось в правильной настройке универсальных объектов, все остальное – расположение реквизитов на экранах, их ввод, редактирование и прокрутку, – программа делала сама. И дело пошло куда веселее. Производительность труда выросла в несколько раз! У сотрудников моих начали потихоньку рассасываться круги под глазами, и в них снова зажглась надежда.
Но деньги все же кончились раньше, чем кодирование. Хорошо, что нам к тому времени было, что показать, и директор завода, хоть и с ворчанием, но подписал дополнительное соглашение. Хороший был руководитель, приходил несколько раз к нам вечером после окончания рабочего дня, наблюдал, как мы работаем. Понимал, что деньги тратятся не впустую. Мы потом еще много раз сотрудничали с ним. Как-то он даже приглашал меня на должность начальника АСУ завода. Но я тогда работал в Сотовой связи и отказался.
И вот настал счастливый день запуска системы в промышленную эксплуатацию. Бухгалтерия и финотдел взлетели сразу. Бухгалтерия вообще нарадоваться не могла после бумажных журналов-ордеров. У них сразу же исчезла необходимость «сводить» разные счета. Единственное, что их беспокоило – как поделить оставшиеся обязанности. Неожиданно у бухгалтера Светы, которая вела 60-й счет (взаиморасчеты с поставщиками), почти не стало работы. Материалы по документам приходовали бухгалтера материального стола, а оплаты – бухгалтер, разносивший банковскую выписку. Так как вся необходимая информация вводилась на других участках, учет с поставщиками получался автоматически. Бухгалтеру 60-го счета оставалось только готовить акты сверки. Проблему нагрузки решили, передав Свете учет по какому-то из неавтоматизированных счетов. Потому что переделывать программу так, как она хотела (разбивая приходный документ на два – для нее и для материалистов), мы отказались.
Но с отделом сбыта получился эпический фейл. Выяснилось, что им совсем не подходит разработанный нами «универсальный интерфейс», и они отказываются с ним работать! Потому что в предыдущей программе «все было на одном экране и было удобно, а так нам приходится три экрана открывать, чтобы все увидеть». Что было с ними делать? Мы долго пытались их уговорить, убедить, что дело только в привычке. Что три экрана – это даже удобнее, меньше информации на каждом. Но ничего не помогло. Даже отказ переделывать интерфейс. Начальник отдела отправилась к директору. Так как ее цифры по отгрузке нравились ему больше всего, ее влияние на директора было значительным. И к нам поступило жесткое распоряжение – «сделать все так, как будет удобно отделу сбыта». Аргументы, что в бухгалтерии все то же самое, но людям нравится, не помогли. И мы, чертыхаясь, переписали для отдела весь интерфейс, потратив еще неделю.
Тогда я понял две вещи. Первая: интерфейс и привычки людей – это очень важно. Нужно готовить людей к его изменению, проводить специальное обучение. А вторая: стейкхолдеры бывают разные. Кое-кого можно убедить в своей правоте, а кое-кого придется просто слушать и исполнять. А то акт-то и не подпишут.
Еще несколько месяцев мы прожили в стрессе, собирая днем требования по доработке, а по вечерам внося изменения в код. Но система заработала и дала нужный директору результат. Наконец-то он получил отчетность, в которой все цифры отделов полностью совпали, так как были получены из единой базы данных! Надо было видеть его глаза, полные радости! Такие мгновения наполняют жизнь автоматизатора смыслом, давая энергию для разработки новых систем, облегчающих людям жизнь и освобождающих им время для творчества.
Напоследок я добавлю только, что наша программа «Свет» положила начало созданию ERP-системы «Лампочки», которая проработала на заводе более двух десятков лет и успешно развивалась собственным АСУ завода.
История из моей книжки "Франчайзи на грани нервного срыва". Подписывайтесь, опубликую тут постепенно все, что проходит по тематике группы
В Питере шаверма и мосты, в Казани эчпочмаки и казан. А что в других городах?
Мы постарались сделать каждый город, с которого начинается еженедельный заед в нашей новой игре, по-настоящему уникальным. Оценить можно на странице совместной игры Torero и Пикабу.
Реклама АО «Кордиант», ИНН 7601001509
На волне постов: работа
Вроде и работяга на заводе, а по факту- разгребаю кодовые массы в Заднице Одина, она же Odin-Ass, она же 1С.
Всем трудящимся - добра и терпения, всем отдыхающим - да чтоб вы выспались наконец-то до отвала)
Если выгораете, то не выгорайте
Только там есть жизнь...
Мой брат сказал однажды мне
Как все на завод иди!
Пол жизни получал я хуй
Ведь надо было выбрать IT!