Программист и его пользователь

(Программист и его пользователь - by LIS, Просмотров: 750)

Пользователь – человек, которого программисту предписано любить как самого себя и который делает все, чтобы помешать этому.

Почти Амброз Бирс

Говоря здесь о пользователях компьютеров, оставим без внимания маниакальных геймеров, продвинутых киноманов, оголтелых дизайнеров и всех прочих тех, кто загребает мегабайты собственными руками. Не станем также изгаляться над теми, кого злая судьба заставляет на склоне лет сидеть в конторе и заталкивать в железное чудовище документ за документом. Сегодня нашим пользователем будет так называемое Лицо Принимающее Решение относительно использования компьютеров или, проще говоря, компов на предприятии. Т. е. именно те лица, которые сами за клавиатурой сидят недолго, но распоряжаются финансами и определяют задания по использованию вычислительной техники. Среди этих товарищей весьма распространенной является некая мифологическая система, определяющая характер принимаемых решений. Попробуем обозреть составляющие этой системы и попытаться понять ее происхождение.

Миф первый. Вложенных в «железо» (компьютеры) денег вполне достаточно для функционирования информационной системы. Этот тезис так же широко распространен, как и попытки его гласного опровержения.

Миф второй. «Программа» есть то, что видно на экране. Другими словами, «программа» – это множество меню, форм ввода и отчетов. Внутренних связей между ними не больше, чем между героями сериалов, транслируемых по разным каналам.

Миф третий. Если за программы всетаки однажды пришлось выложить деньги, то они должны вечно выполнять любые капризы. Т. е. на экране всегда должно быть «то, что нужно» мне и сейчас. Если изображение не соответствует сиюминутным ожиданиям, то «виновата программа».

Миф четвертый. Ничего не стоит подогнать «программу» под любые, даже самые противоречивые, требования. Вся работа программиста сводится к тому, чтобы «чутьчуть подкрутить изображение». Например, в итоговой строке отчета появилось число 3456.78, а программист должен немедленно исправить его на 4567.89 и точка.

Миф пятый. Программное обеспечение должно слепо следовать за производством, но не влиять на него. С точки зрения руководства, сложившаяся система управления самая лучшая по определению, и «программа» должна так же безропотно сносить все начальственные новации, как и крепостные клерки. И уж не очкарикампрограммистам указывать, каким должен быть документооборот.

Миф шестой. Бумага мертвит руководящую мысль. Един­ственная адекватная форма руководящих указаний – устная. Потому что только она может передать ее основное содержание, т. е. эмоции. И любые попытки фиксировать организационные решения в виде документов и схем являются откровенным саботажем и подрывом авторитета руководства.

Обратите внимание на великолепную внутреннюю согласованность указанных мифов. «Программа», будучи лишь «мельканием образов на экране» (2), должна показывать то, что хочет клиент (3), а не «указывать» ему (5). И если эти вымогатели заставили заплатить хоть скольконибудь сверх «железа» (1), то тут уж я полный хозяин (4) и программисты должны это понимать (6). Налицо нежелание или неспособность увидеть «невидимую» дюжинному пользователю сторону программирования как внутреннюю согласованность огромного количества сущностей. А следовательно – тотальный отказ рассматривать программу как чьюто интеллектуальную собственность.

Система крепка, слов нет, но можно и нужно стараться опровергать эту мифологию. Терпеливо объяснять, что установке компов более соответствует метафора покупки велосипеда (можно двигаться намного быстрее, но только если упорно крутишь педали), чем автомобиля («тачка» сама тебя везет). Что за экранной «картинкой», как в телевизоре, стоит ежедневный, упорный и хорошо оплачиваемый труд множества специалистов. Что «программа» не развлекает пользователя, а лишь выдает ему те данные, которые были ранее вложены в информационную систему, и делает это на основании ранее же установленных правил (о том, что эти правила надо менять, система ничегошеньки не знает). Что информационная система потому и система, что ее составляющие согласованы друг с другом, и практически любое изменение в одном месте неизбежно приведет к изменениям во многих других ее частях. Что информационная система является некоторой моделью организации предприятия и неизбежно наследует управленческий хаос, но именно стремление улучшить эту модель может существенно помочь в деле декларируемого наведения порядка. Что изменения информационных потоков нужно тщательно планировать, согласовывать со всеми службами организации, что невозможно сделать, не прибегая к составлению скучной документации.

Подобной «просветительской» работой в основном занимаются на предприятиях программисты (по крайней мере, лучшая их часть). Им некуда деваться: невозможно без сопротивления трансформировать начальственное указание «а ты сделай, чтобы было правильно» (?) в строгие инструкции для формалистакомпьютера. Приходится объяснять почти библейские истины. Вроде той, что щелканье пальцами и натужное мычание не принимаются компом в качестве алгоритма. Или что идея печатать ИНН сотрудника, конечно, хороша, но программист не возьмется после основной работы быстренько ввести и тщательно проверить тричетыре сотни этих десятизначных номеров. Придется объяснять и то, что прежде чем уволить освободившуюся (в результате информационного слияния отделов производства и сбыта) штатную единицу, придется дватри месяца нагружать эти самые несчастные «единицы» дополнительной работой по согласованию объединяемых данных. Но программисты – люди подневольные, а давно замечено, что в организациях информация, подобно воде, льется исключительно сверху вниз. Да и, чего греха таить, многие программисты, подобно большинству «угнетенных», быстрее всего научаются извлекать выгоду из своего подчиненного положения и с пониманием принимают неизбежное при этом пополнение программисткой рати.

Но если дремучее невежество в информатике управленческой братии так широко распространено, значит либо это и не так страшно, либо всетаки страшно, но «пугаются» не те. Скорее всего, имеет место и то, и другое. Сначала, пока используются небольшие локальные программы, информатизация не требует значительных умственных усилий руководства, и программисты вполне с ней справляются. По мере усложнения информационной структуры под флагом получения «большей информации» недостатки в образовании принимающих решения лиц становятся все более заметными. Когда хаос в информационной системе сравняется со средней хаотичностью управленческих процессов на предприятии, рост системы «автоматически» прекращается, и перманентно растущая (в количестве) программистская братия занята латанием дыр, перетягиванием с места на место «коротких одеял» и прочими необременительными вещами. Атмосферка, конечно, гниловатая, но всем жить можно, особенно если на планерках и летучках почаще напоминать привыкшему ко всему персоналу, что «распустились!».

Для повышения на недосягаемую высоту компьютерной квалификации менеджеров существует большое количество разнообразных курсов. Там их в основном учат тому, что они давнымдавно должны были бы уметь, а именно тому, как включать комп, как кликать мышкой, как пользоваться программами Word и Excel. Спору нет, эти умения руководителю отдела информационных технологий или директору «по развитию» необходимы. Но кроме них нужны еще знания. Знания того, что из себя представляет информационная система, каковы особенности ее составляющих, в чем специфика тех или иных связей между ними. Знания об основных программных продуктах, об их взаимодействии, о методиках проектирования и неизбежного перепроектирования системы. Знания обо всем том, что возвышает информационную систему предприятия над собранной на скорую руку бойкими мальчиками сетью компьютеров. Локальная сеть предоставляет лишь возможность автоматизации производства, но действительной ее делает только та невидимая, но абсолютно реальная вещь, которая и называется «информационная система».

Известный политтехнолог начала прошлого века В.И. Ленин призывал молодежь учиться. У автора есть дети, поэтому он молодежь ни к чему не призывает, полагая только, что некоторое взаимопонимание сделает жизнь чуть более интересной и программистам, и их пользователям.

Статьи по теме
Читаем из файла, открытого другим приложением.
Лучше или больше?
Как выжить программеру?
Как реализовать самомодифицирующийся код в современных операционных системах
Программирование на ассемблере под Win32

  • Комментарии посетителей
  • Страницы:
    Всего комментариев: 0  Показано с 1 по 0

    Имя:   Email: