Конфликтный
треугольник пользователь – программист – разработчик существует, и это факт.
Судьба распорядилась так, что мне приходилось примерить «шкуру» каждого из них
и убедиться, что каждый по-своему прав.
Общей правды им никогда не достигнуть, потому что они говорят на
совершенно различных языках.
Но
выход из этого противостояния, оказывается, есть.
Поле битвы: ПО предприятия
Точка зрения ИТ служб предприятия
Вступление
Без
всякого сомнения, есть в нашей стране удивительные офисы, отделанные сайдингом,
галогеновыми светильниками и кондиционерами. В них не увидишь ЭЛТ-мониторов, а
все провода и кабелечки аккуратно прикрыты патч-кордами.
Все пользователи
там сплошь длинноногие красавицы, а ИТ-специалисты – умные и красивые -
заткнут любого хакера одним щелчком мыши. Очень может быть, что даже ПО
там все лицензионное. А размер зарплаты сопоставим по количеству разрядов
только со скоростью доступа в Сеть.
Но,
насладившись созерцанием райской идиллии, наметанный глаз замечает
шероховатости на этой глянцевой обложке. И у них под ковровым покрытием идет
драка бульдогов.
Эта война идет
постоянно. На каждом предприятии, в каждой организации или фирме,
государственных или частных. Где-то она находится на стадии тлеющего
недовольства. Где-то – в стадии боевых действий. Порванные нервы и моря крови,
скупой мат и обильные слезы, ведра
валерианки и помоев. Хорошие люди становятся врагами, а предприятие теряет
хороших специалистов.
Проблема мало
обсуждается в печати, разве что разработчиками – «внедренцами» ПО в умных
статьях на тему: «Как нам обустроить КИС?». Иногда мелькает в разделе юмора
программистов. Что говорят по этому
поводу между собой пользователи - мало
кого интересует, пока этот вулкан не выплеснет из себя поток ругани или, еще
хуже, докладную записку высшему
руководству.
Война
начинается там, где появляется хотя бы один программист в качестве штатного
работника. Причем «программистами» пользователи называют всех без исключения –
и сисадминов и кодеров и инженеров исключительно по железу. Даже для начальника
ИТ – службы не всегда делается исключение. «Программистом» назовут даже
студента ПТУ, будущего сантехника по
специальности, если он с решительным видом подойдет к компьютеру и нажмет пару
кнопок, вроде Any key или F1.
Некоторые
пользователи интуитивно чувствуя различия, но не сильно утруждая себя ими, называют всех вместе
взятых «компьютерщиками».
Кстати,
пользователи друг друга идентифицируют. Они именуют себя «материалистами»,
«зарплатчиками», «финансистами». Хотя в штатном расписании все числятся бухгалтерами.
«Компьютерщики» чаще всего обращаются друг к другу
по никам. А может уже пришло время озвучить свои тайные имена? Глядишь, и
пользователи будут называть вас по-человечески.
Первое
появление ИТ-специалиста в среде беспомощных пользователей вызывает
благоговейный трепет. Все восхищенно смотрят
и радуются, наблюдая укрощение строптивого компьютера.
И все же конфликт
уже зарождается. Пользователь подозревает
в программисте исчадье ада, без
которого, увы, нельзя обойтись. Пользователь считает, что ему самому никогда не
одолеть эту адскую машину, которая так и норовит сделать какую-нибудь гадость.
Только демон может договориться с демоном.
И тут
ИТ-специалист неожиданно открывает темную сторону своей профессии. В лучах славы
к нему подкрадывается призрачная угроза: быть вечно непонятым и вечно
виноватым. Вечно быть программистом!
Виноват ли
программист? А если виноват, то в чем его вина?
Кто виноват?
Проблемы с
пользователями у программиста можно сгруппировать в несколько классов.
Заклинатель кнопок.
Первая проблема
возникает, когда приходит человек, например, бухгалтер, на работу, а там стоит
компьютер. И человек уже не просто
бухгалтер, а пользователь ПК. При этом он может мышь держать задом наперед и
бояться клавиатуры. Но никому до этого нет дела. Руководство, как обычно,
сэкономило на обучении пользователя. Редкий человек решится потратить
собственные деньги на хотя бы недельные курсы. Авось, как-нибудь.
За «авось»
приходится отдуваться программисту. Процедура обучения несчастного пользователя
вызывает у программиста сначала приступ детского веселья, который сменяется
зубной болью.
Правильно! Ни
одно доброе дело не должно остаться безнаказанным. Показав один раз, как нажать
кнопку, программист должен будет это делать с завидной регулярностью по первому
зову пользователя. Отказ явиться, чтобы очередной раз убрать стопку отчетов с
клавиатуры, которая пищит от возмущения, будет воспринят, как невыполнение
должностных обязанностей с соответствующими последствиями.
Некоторые,
наиболее сознательные пользователи добросовестно записывают, что им необходимо делать с
компьютером. Все действия. По пошагово и с нумерацией. Это в дружественном
интерфейсе Windows! Где каждое действие можно выполнить тремя разными способами,
как минимум. Смешно, да?
Совершенно не
смешно, когда вас будут призывать еще и еще раз и при этом каждый раз
записывать.
Понятно, что
«программист» начинает прятаться или огрызаться. Пользователь возмущается, что
ему непонятно объяснили, и резонно спрашивает: «Для чего ОНИ тут сидят, если
ничего толком показать не могут?! Только говорят на своем птичьем языке!».
Кто крайний?
Понятно, кто.
Эта проблема
сильно затрагивает женскую (как наиболее сострадательную) половину отдела ИТ
или молодых специалистов (потому что пользователи их отождествляют со своими
знакомыми школьного возраста, которые могут бесстрашно «снести Винду»). Обе
категории наиболее часто попадают в эту ловушку.
Ассенизатор.
Человек –
удивительное создание. Ко всему приспосабливается. Спустя некоторое время
пользователь обязательно приноровиться к
чудищу. Освоит несколько магических приемов или все-таки запишется на
курсы.
Думаете, что
после этого у программистов закончится черная полоса? Наивные. Это же была белая полоса их жизни. А
теперь начнется черная.
Осмелевшие
пользователи не дрогнувшей рукой удаляет информацию, которую практически
невозможно восстановить, бесконечно дублируют файлы и элементы справочников,
затирают старую информацию в режиме редактировать, вместо того, чтобы создать
новую, плодят пустые файлы, записи. Занимаются откровенным вредительством.
Можно это
рассматривать так же как нахождение слабых мест в программном обеспечении
мировых флагманов. Но суть от переименования не меняется. Разгребать это
придется кому? Понятно, кому.
Интересно, что
сотрудники отдела ИТ разного пола решают проблему потери данных по разному.
Если уже никак нельзя отвертеться, то женщины вводят информацию еще раз,
тренируя скорость нажатия клавиш. Мужчины предпочитают «сшивать» потерянную
информацию по битам, оттачивая виртуозное владение утилитами. Практика показывает, что второй метод имеет
преимущества только на очень больших массивах данных.
Три часа
писать программу, два часа ее отлаживать, чтобы автоматически восстановить все
ссылки на удаленный элемент справочника?
Умелая программистка введет элемент еще раз и восстановит ссылки вручную
в течение часа. Доверяйте боевым подругам.
Вол и трепетная лань
Новый виток
отношений программист – пользователь
возникает, когда пользователь уже в достаточной мере осваивает
компьютер. Тогда предприятие захлестывает волна приобретения компьютерного
оборудования. Вчерашний монстр вдруг становится белым и пушистым и обязательным
атрибутом на каждом столе административного корпуса.
Директор требует
отдачи и повышения эффективности. И тут наступает звездный час программиста.
Любые шаблоны
в Excel и скромные макросы в Accese,
программки на скриптовых языках и на древнем ДОСовском FoxPro – все идет на ура.
Пользователь рад любой автоматизации. Он
охотно заполняет справочники и формирует отчеты. Программист, наконец-то,
делает то к чему он призван. Мир, счастье, жвачка!
Но именно в
этот момент заканчивается его вольница. Арабского скакуна впрягают в груженую
телегу. Программист реально включается в производственный процесс. Теперь жизнь
протекает в ритме расчетов и отчетов,
отпуск – урывками, ночные вызовы и безразмерный рабочий день.
При всем при
том, первые две проблемы продолжают существовать в силу ротации кадров в
администрации и продвижению компьютеров из администрации в производственные
подразделения.
Немногим счастливчикам
удается в этой заварухе добиться повышения заработной платы. Более реальный
вариант – обновить рабочий компьютер и подключиться к широкополосному Интернету.
Аппетит у
пользователя возрастает по мере освоения программ, они требуют все нового и
нового функционала и обмена данными, стремясь довести автоматизацию своего
рабочего места до «нажатия одной кнопки». Тогда вся работа будет мигом
исполнена. Неважно кем: компьютером или программистом.
Написание
кодов пользователь представляет как естественный процесс жизнедеятельности
программиста. Легко и постоянно. Например, как дыхание. Про постановку задачи
пользователь даже не подозревает. В результате программист многократно
переписывает задачу, из-за того, что пользователь забыл «какую-то мелочь»,
которая требует изменения всей структуры. Претензии опять к программисту. Как
же так, он не знает складского учета или начисления заработной платы и пр.? Чем
же он занимается?
И конфликт
возобновляется, причем лавинообразно. Ошибки в расчетах-отчетах могут возникать
только по вине компьютера. А точнее, программа виновата! Кто программу писал?
Программист.
Так кто
виноват? Понятно, кто.
Сейчас
практически на любом предприятии уже существует хоть какое-никакое лоскутное
одеяло автоматизации. Поэтому вновь приходящий ИТ-специалист часто сразу попадает
в третью стадию конфликта. Он окрылен знаниями и готов написать 1С на Дельфи, а
ему приходится бесконечно восстанавливать разрушающиеся от ветхости индексы или
хитроумным способом вылавливать нужные данные из кривых типовых конфигураций.
Времени на то,
чтобы хоть немного разобраться, нет. Программист же и так все знает. От
рождения. Любую программу. Сетевую, прикладную, операционную. Какая разница?! А
вот то, что не знает бухгалтерию, зарплату и пр. Это плохо. Какой же он без
этого программист?
Заложник
Тем не менее,
противостояние пользователь – программист
не такое уж и кровопролитное. Естественные
законы приводят к стабилизации отношений. Углы сглаживаются. Противники
достаточно узнают друг о друге, чтобы не сильно нарываться. Поздравления и
обвинения приобретают характер синусоиды. Жизнь становится понятной и
предсказуемой.
Пока не вмешается фирма-разработчик/поставщик ПО.
Однажды на
предприятии появляются чужие программисты, которые называют себя «системные
интеграторы». Они демонстрируют презентации, ноутбуки, проекторы и
рассказывают, как красиво все будет работать. Они строят сеть, решительно
устанавливают операционные системы, офисные пакеты, антивирусные программы.
Если системные
интеграторы на этом и заканчивают, то через несколько месяцев руководитель
предприятия призывает к ответу начальника ИТ-отдела. Где обещанная
эффективность?!
Конфликт между
пользователем и программистом по типу описанного выше разгорается еще
масштабнее. Он усугубляется постоянной нервотрепкой из-за нехватки прав
доступа, постоянного забывания паролей, подвисания сети и заваливающегося в
самый неподходящий момент сервера.
Руководство
даже не догадывается, что работа на персональном компьютере и работа в
компьютерной сети – три большие разницы. Каждый пользователь распоряжается
общими данными так, как он считает нужным. В результате возникает конфликт уже
между пользователями. Но виноват во всем все равно программист. Это и так
понятно.
Если
системные интеграторы затеяли еще и внедрение прикладного ПО, то это
апокалипсис. Поставщики даже бухгалтерских
программ, не говоря уже про разные MRP-ERP, не слишком обременяют себя методологиями
внедрения.
Вариант
первый. Системные интеграторы пообщались с пользователями, установили
программу, показали программисту, как она работает, дали несколько толстых
умных книжек. Вот и все внедрение. Программист
должен разобраться во всех нужных и ненужных возможностях пакета, а потом
научить пользователя работать с новой программой.
Повторяется
проблема самого первого этапа. С тем отличием, что пользователь-то уже
компьютерно грамотный! Поэтому не ждите от него благодарности. Пользователь не сомневается, что обучившись
работать на компьютере, он автоматически обучается работать со всеми
программами, существующими в мире. Понятно, что при таком объеме информации
можно и подзабыть кое-что. От программиста всего-то и требуется, что забежать
раз двадцать и нажать нужную кнопку. Так это же не в течение часа, а в течение
целого дня!
И, кстати, почему
программа не считает то, что нужно, а то, что считает, считает неправильно?
Зачем надо открывать такое количество окон, чтобы внести одну цифру? Почему
невозможно использовать данные, накопленные годами в старой программе? Плохая
программа!
Кто виноват?
Правильно. Программист, свой собственный, не сомневайтесь.
Вариант
второй. Если руководство предприятия решится вложить более серьезные средства
для адаптации прикладного ПО под свое предприятие, то добавятся еще проблемы с
постоянными прерываниями работы одного или даже всех пользователей для внесения
изменений в программу. При этом обязательно пропадут какие-нибудь очень важные
данные. А произойдет это в разгар отчетного периода. Все обязательно перестанет
работать, как только «внедренцы» уедут, а когда приедут для новой экзекуции, то
ни один пользователь не скажет им дурного слова. Зато потом оторвется на
собственных программистах, которые по неизвестной, но, конечно, неуважительной,
причине не желают исправлять чужие программы. За что этим бездельникам зарплату
платят?
Без всякого
сомнения, есть в нашей стране удивительные офисы, отделанные сайдингом,
галогеновыми светильниками и кондиционерами. В них не увидишь ЭЛТ-мониторов, а
все провода и кабелечки аккуратно прикрыты патч-кордами.
В таких офисах
и внедрение происходит торжественно и благообразно, как описано в Ресурсах Microsoft Office или в рекламных
проспектах SAB R/хх,
с кофе-брейками и круглыми столами по итогам каждого этапа.
Но и
ламинированные проблемы остаются теми же проблемами. Психологи утверждают, что
оскорбление, высказанное в отточенной язвительной манере, ранит больше, чем
простое народное матерное слово.
Напоминаю, что
сейчас мы смотрим на конфликт пользователь – программист – разработчик глазами
специалистов ИТ-отдела предприятия, «программистов». Если прокомментировать все
то же самое, но со стороны других участников конфликта, то «программисты»
узнают о себе много неожиданного. И не только плохого.
Существует
совершенно независимый взгляд на всю проблему в целом, который и позволяет
снять некоторую напряженность и перевести конфликт из личностного в
исключительно производственный. Проще говоря – виноваты компьютеры и программы,
а не пользователи, программисты и разработчики. А самый главный виновник – это
план.
Кофе-брейк
Но прежде, чем
перейти к светлому будущему – один старый анекдот для придания изложению оптимистического
оттенка. Дело происходит в суде и хорошо демонстрирует разные точки зрения.
Судья:
Истец,
изложите свое дело.
Истец, мужик в бинтах и гипсе:
Ваша честь! Я
профессиональный альпинист. Наш город находится на совершенно плоской равнине,
и мне негде тренироваться. Поэтому я ночью, чтобы не привлекать внимание,
поднимаюсь на высотные здания. Однажды поднимаюсь я по стене жилого дома.
Стояла жара, и я был в одних плавках. Вдруг на 10 этаже какой-то дебил
выскакивает на балкон, ругается страшным матом и бросает в меня здоровенный
ящик. Я падаю вниз.
Судья:
Ответчик, что Вы скажете в свое оправдание?
Ответчик, угрюмого вида тип:
Ваша честь! Я
часто бываю в командировках, а у меня – молодая, красивая жена. Мне сказали,
что у нее есть любовник. Я вернулся из командировки заранее. Захожу, а в
комнате – шампанское, 2 бокала, разбросанная одежда. Обыскал весь дом – никого. Выскакиваю на
балкон, вижу – любовник пытается по
балконам удрать. Я схватил ящик со
старым барахлом и запустил в него.
Судья:
Пригласите
свидетеля.
Свидетель, отвязного вида мачо:
Сижу я себе
спокойно в ящике…
Видите,
если посмотреть на ситуацию со стороны, все становится просто и ясно.
Итак, что делать?
Не
поверите, но все эти проблемы волнуют не только нас, но и мировое сообщество.
Для их решения стихийно возникла, а затем профессионально
оформилась Ассоциация Аудита и Контроля
Информационных Систем (ISACA) в далеком 1969 году. Трудно даже представить, что
и древности были те же войны.
Ассоциация
разработала и распространяет стандарты (на человеческом языке – объекты,
классы, методы и алгоритмы), которые позволяют разложить на компоненты и
диаграммы последовательностей любой
процесс, происходящий в жизни ИТ-службы. В отличие от программистов предприятия
и большинства «внедренцев», ISACA очень
тесно сотрудничает с другими аудиторскими ассоциациями как в области
информационных технологий, так и финансово-хозяйственной деятельности,
бухгалтерского учета, а также с ассоциациями, работающими в области стандартов.
В частности, стандарт
CobiT (Контрольные Объекты для Информационных и смежных Технологий) активно
воплощается в жизнь на предприятиях под руководством ISACA.
Желающие
ознакомиться могут самостоятельно сходить на ссылку http://www.isaca.ru.
Какая практическая
польза простому программисту или даже начальнику ИТ-службы от заморской
Ассоциации и ее стандартов ?
Не
так много на наших просторах программистов, окончивших бухгалтерские курсы и
бухгалтеров, окончивших курсы компьютерной грамотности. Аудитор становится
переводчиком между программистом и пользователем, между пользователем и
разработчиком. Ассоциация ISACA создала
целую библиотеку вариантов разрешения конфликтов между ними. Не надо объяснять,
что написаны эти рекомендации кровью и слезами. Глупо не пытаться использовать
то, что помогло другим.
ИТ-специалисты
предприятия часто говорят на разных языках со своими коллегами –
разработчиками. В результате, разработчики навязывают «программистам» все, что
считают нужным, а «программисты» потом отдуваются за свою доверчивость и чужие
грехи. На этот счет аудиторы
разработали список документов, которые разработчики и внедренцы обязательно
должны предоставлять ИТ-специалистам предприятия во избежание
несанкционированного перекладывания ответственности.
Радостной
новостью должно стать для ИТ-специалистов предприятия, что прикладное
программное обеспечение, поставляемое разработчиками, может быть стандартно
оценено с применением единых метрик. Это хоть и развенчивает божественность
разработчиков, но послужит основой для более плодотворной взаимной работы.
Все-таки программисты и разработчики одной крови, и не должны воевать друг с
другом.
Что касается
упорядочивания взаимоотношений программист – пользователь, то в век повальной
компьютеризации очень действенным оказывается журнал с замечаниями
пользователей и устранением ошибок программистами. Это заметно помогает снять напряженность в
отношениях между сотрудниками и позволяет определить реальные проблемы. Вот так стандарты приходят на помощь.
Полезной
процедурой для ИТ-специалистов предприятия может быть аудит локальных сетей и
кабельного оборудования. Особенно когда
программистам приходится заниматься не только настройкой сети, но и отвечать за
то, как проложен кабель. Причем неизвестно кем. Полученные в результате
аудита параметры и схемы придадут весомость труду программистов
в глазах пользователей, а рекомендации
специалиста всегда можно использовать
для выдвижения обоснованных предложений руководству.
Напоследок еще
одно больное место для ИТ-службы -
это страшное слово «политика
безопасности». Под ним скрывается удаление жизненно необходимых файлов, заражение
вирусами всего предприятия, потеря информации. И даже еще хуже. Передача баз
данных предприятия посторонним организациям. Пахнет шпиономанией и выговорами. Лучше поручить проверку этой
самой безопасности специалисту со стороны и прикрыться его рекомендациями,
потому что именно здесь программист отвечает за чужие недоработки.
В
заключение хочу поздравить всех - аудит добрался до святое святых – до
программистов. Не надо его бояться. Это как стоматолог. Немножко неприятно, за
то потом как красиво!
Программист
– это вечный студент, по определению. Он постоянно должен учиться, учиться и
учиться, как мечтал один мудрый старик. А у аудиторов учиться наиболее практично –без лишней теории и с
учетом специфики своего личного рабочего
места.
Так
что, пишите, звоните, а главное, встречайте аудитора ИТ!