Менять или не менять?
Вот в чем вопрос
СОВЕЩАНИЕ
Новый IT-директор спокойно осмотрел собравшихся в конференц-зале, для такого большого помещения наполненность была явно мала. Вовремя пришли не все приглашенные, но свои все на месте.
Отсутствовали бухгалтерия, коммерческий отдел, снабжение и кадры.
- Начнем, пожалуй, - огласил Сергей Петрович, открыв совещание.
Шесть пар глаз устремились на председателя, всем видом показывая, что внимательно слушают руководителя. Собрались руководители департаментов: разработки программного обеспечения, системного администрирования и сервисного обслуживания. С начальниками пришли ведущие специалисты.
В принципе сотрудников было достаточно, чтоб обсудить повестку дня и принять решение, но из-за политических моментов и на всякий случай пригласили всех заинтересованных (пострадавших).
Сергей Петрович вывел на флипчарте большими буквами: ОБНОВЛЕНИЕ ВСЕХ КОНФИГУРАЦИЙ 1С Предприятие.
Некоторые из присутствующих поежились.
- Какие будут предложения?
- Давайте четко определим, что мы обновляем, - сказал специалист от разработчиков Валерий.
- Хорошо, - поддержал его IT-директор.
Компания у нас крупная и работы предстояло много. Уходя на пенсию, Василий Иванович, предыдущий IT-директор, выполнил свой дембельский аккорд и убедил учредителей потратить много денег на обновление оборудования. Системные администраторы и сервисники были в восторге. Пришлось, конечно, побегать, но теперь все было замечательно, надежно и быстро.
Прикладные программы были весьма старых версий, но все боялись их тронуть, так обновления не проводились последние лет пять. Доработок делалось много. С большими усилиями внедряли новые конфигурации, но в общем проблем ожидалось много.
ОПОЗДАВШИЕ
Стрелой в зал влетел коммерческий директор Дмитрий и ничего не говоря сел за стол, уставившись на доску с надписью.
- Сразу скажу, я против, - бесцеремонно заявил он, - Вы мне всю торговлю поломаете.
- Продолжайте доклад, Валерий, - спокойно подбодрил ведущего программиста Сергей Петрович, - Дмитрия мы позже заслушаем.
Коммерсант только махнул рукой.
- У нас в эксплуатации конфигурации Розницы. В магазинах тридцать штук, все идентичные, немного устаревшие. Законодательство все время меняется, мы как можем допиливаем, но иногда не успеваем и нарушаем законодательство.
- Сколько у нас магазинов, - решил уточнить недавно пришедший IT-директор.
- Семь, Сергей Петрович.
- Почему конфигураций тридцать?
- Для повышения живучести. Каждое торговое место автономное, мы даже ключи защиты покупали на одно рабочее место, чтоб в случае аварий товар можно было отпустить, пробить чек и принять деньги.
- Надежно.
- Даже при отключении электричества в течение часа касса будет работать. Выход из строя сетевого оборудования никак не повлияет на работу с покупателями.
- Продолжайте, разумный вы наш, - с улыбкой подбодрил руководитель.
- Для сбора информации, загрузки цен, передачи информации и инвентаризации в каждом магазине есть Управление торговлей, ее тоже нужно обновлять, чтоб обмен данными не дописывать. По количеству магазинов их семь плюс одна в центральном офисе для сбора информации.
- Извините, опоздала, - скромно появилась кадровичка, молча присев через стул от коммерсанта.
- Здравствуйте, - с улыбкой приветствовал Сергей Петрович Татьяну, женщину вполне привлекательную, да и за две недели в компании он видел ее чаще других и при устройстве на работу встретился с ней первой.
- Уже начали, без бухгалтерии, - в зал вошла свита во главе с главбушкой Марией Семеновной, - только дайте сдать квартальный отчет, потому ломайте, но чтоб починили, а то знаю я вас, программистов.
Последнее слово было сказано не без отвращения, но вроде как играючи.
- Учтем ваши пожелания, в общем вы почти вовремя, - не возражал Сергей Петрович. Показав глазами Валерию продолжать.
- Бухгалтерия предприятия и Зарплата и Управление Персоналом обмениваются данными, не каждый день, но есть критические дни, когда этот обмен просто необходим. В дни выплаты зарплаты, обязательно нужно отправить в банк зарплатную ведомость из Бухгалтерии предприятия, которая формируется в Зарплате и Управление Персоналом.
На миг повисшее в зале напряжение закончилось легким выдохом, еле уловимой улыбкой председателя, а Валерий немного шкодливо дернул плечами.
- В БП доработок почти нет, да обновляем мы ее регулярно. Доработки в обменах данными из-за несовпадения версий с другими конфигурациями корреспондентами, здесь проблем не должно быть. В ЗУП немало доработок, касающихся наших особенностей начисления премий. Обновлений ЗУП давно не было, на сколько я понимаю поменялось все на столько, что наши доработки придется дописывать снова.
- Мы с таким трудом все стабилизировали, я столько нервов потратила, - заявила расчетчица, - не трогайте ничего!
- А мне необходимы обновления, - тихо сказала Татьяна, - в законодательстве столько поменялось, я не все данные на людей формирую, нас оштрафуют в конце концов. У программистов на меня все время ресурсов не хватает.
Конец фразы был сказан уже не тихо, а с явным раздражением.
- Ну что вы Танечка, успокойтесь, сделаем для вас все в лучшем виде, - ласково произнес Сергей Петрович.
У некоторых на лицах появились ухмылочки.
- Вы мне обещаете, Сергей, - потупив глазки, почти прошептала кадровичка.
- Ну конечно, - уверенным тоном, строго глядя на начальника отдела программного обеспечения, успокоил ее IT-директор.
Не спеша, провожаемый взглядами некоторых представительниц женского пола, в конференц-зал явился снабженец, представительный мужчина в строгом костюме. Сев около коммерческого директора, произнес:
- Не помешаю?
Пожал руку Дмитрию, улыбнулся Танечке и не только ей, как будто случайно вспомнив, зачем он здесь, уставился на доску. Надпись ему не понравилась, но он сдержанно промолчал.
- Виктор, у снабжения есть соображения по обновлению конфигураций? – вежливо спросил Сергей Петрович.
- Не знаю, зачем это нужно, меня и так все устраивает, - услышали все в ответ.
- Для снабжения реализовано рабочее место, с нашей спецификой закупки товаров, - продолжил доклад Валерий. – Если в торговле будут сильные изменения в структуре, то придется допиливать, но техническое задание понятно, функционал восстановим, я думаю проблем будет минимум. При разработке функционала для снабжения мы девяносто процентов времени потратили на проект, разработка заняла немного времени.
- Ловлю на слове. Мне больше здесь не нужно присутствовать? – спросил снабженец. – Дел по горло, нужно работать.
- Успехов, - пожелал председательствующий и помахал ему рукой. Проще его отпустить, чем он будет вносить смуту, да и девушки явно забыли о совещании и с обожанием уставились на ловеласа.
НЕПРИГЛАШЕННЫЕ
Не успела за ним закрыться дверь, как послышался возмущенный голос старшей экономистки:
- Меня почему не пригласили?! Я по-вашему ничего не значу в этом заведении.
«Принесла нелегкая» - подумал Сергей Петрович.
- Проходите, - любезно пригласил он Валерию Викторовну.
- Мы почти закончили внедрять ERP конфигурацию, куда собираются данные о все деятельности фирмы. Внедрение затянулось, и конфигурация устарела. Для удовлетворения всех пожеланий пришлось сделать много доработок, в основном мелких. С учетом возможности обновления мы делали все в расширениях, надеясь, что это поможет в дальнейшем, – продолжил ведущий программист. – Комментировали код. У меня все.
- Спасибо Валерий, - одобрительно кивнул председатель. – Есть у кого вопросы к докладчику?
- У меня один. Вы с ума сошли? – ляпнул Дмитрий легкомысленно.
- Ничего страшного, у меня есть план, как относительно безболезненно провернуть это дело, - серьезно ответил ему IT-директор. – Мы для начала обновим на копиях, проверим, устраним недочеты, только после этого внедрим в рабочие базы. Я попрошу всех активно участвовать в тестировании, тогда у нас все получится. Возражения?
В зале повисла тишина.
- На все доработки объявляю мораторий! За работу! – подбодрил всех Сергей Петрович. – Протокол совещания получите электронной почтой.
РЕЗУЛЬТАТ
Прошло два месяца напряженной работы. Основная нагрузка была на отдел программистов. Бессонные ночи, уговоры проводить тщательное тестирование, планерки и прочие прелести программирования.
После обновления ERP расширение отвалилось и все доработки пропали. От расширений отказались, все пришлось вносить в основную конфигурацию.
Для дальнейшего облегчения жизни решили делать продуманные комментарии в виде: «Идентификатор компании, Номер доработки в реестре, Программист, Дата внесения».
Некоторые изменения вносили сторонние организации, поэтому необходимо знать, кто писал код.
Для определения номеров доработок завели реестр, без внесения в который никаких изменений не делалось. К реестру прикладывалось техническое задание, описывались исполнители, заказчики и прочая информация.
Программисты сначала возмущались, потом оценили насколько легко стало ориентироваться в дебрях кода. Ревью стало делать легче, ответственность исполнителей повысилась.
В формах решили добавлять элементы только кодом, тогда при обновлении они не теряются.
Обмен данными пришлось дорабатывать заново, старательно проверять и все равно на рабочих базах править, учитывая все нюансы.
ПЕРЕД ВНЕДРЕНИЕМ
На совещание были приглашены все, кто работал с конфигурациями, даже некоторые из кассиров пришли. Предполагалось голосование по результатам тестирования.
Конечно, вовремя не все подошли, но понемногу зал наполнялся, хотя задержка была уже более пятнадцати минут. Учредитель явно нервничал и укорял генерального директора в отсутствии дисциплины в коллективе.
- Они у тебя и на работу опаздывают, - получал укоры генеральный. – Надо внедрить систему учета рабочего времени, что за безобразие. Следующий кто зайдет получит штраф.
- Больше никого не ждем, закройте двери, - начал совещание генеральный директор. – Заслушаем IT-директора.
Сергей Петрович не спеша и солидно вышел к трибуне, сейчас решалась его судьба, работать ему в компании или нет и не только ему. Руководитель программистов тоже был как на иголках.
- Мы все славно поработали, - начал речь почти безработный. – Много было подводных камней, но мы коллектив и все преодолели, чтобы дальше развиваться, процветать и быть лидерами в нашем деле.
Речь началась негромко, почти монотонно, постепенно выходя на высокие ноты и ускоряясь. После десяти минут бодрых речей и восхваления сотрудников, которые все как один и так далее, в зале появилось чувство единения. Хороший оратор затягивать речь не стал, как только уловил нужный для себя настрой, перешел к кульминации и закончил.
- Есть вопросы к докладчику? - поинтересовался генеральный.
Вопросов не было.
- Тогда перейдем к голосованию. Кто за обновление рабочих программ?
В зале поднялся лес рук. Проголосовало явное большинство, поэтому противников выявлять не стали, дабы не вносить дополнительную смуту в коллектив, и без того дрязг хватало.
- Я думаю, большинство, - подытожил учредитель. – Запишите решение, обновлению быть. Всем спасибо, идем работать.
ЭПИЛОГ
Как ни тестируй, а баг найдется.
Всего не предусмотрели, рабочие базы вели себя не как тестовые. Реальная эксплуатация выявила множество проблем, пару месяцев фирму лихорадило, но товары заказывались, отчеты сдавались, зарплата выплачивалась, и торговля шла непрерывно.
Результат признали удовлетворительным. Премий никому не дали.
Длительный мораторий на разработки породил лавину новых срочных требований, пришлось увеличить численность программистов.
Быть может, в следующий раз будет проще обновляться, особенно если это делать чаще и код писать так, чтоб доработки при обновлении не пропадали.