Андрей Орлов - Записки автоматизатора. Профессиональная исповедь
Рисуете вы накладную, записываете в ней цену 1 рубль 5 копеек, то есть 1,05, а Excel сам догадывается, что вы имели в виду 1 мая, что и записывает в ячейку. Вы ему кричите: «Я хотел ввести число!» – и он соглашается: «Число, так число», – и вы с изумлением обнаруживаете в ячейке 39569.00…
Пока вы вводили данные руками сами, все было не очень страшно: попили валокордина, установили у ячейки правильный формат и ввели то, что хотели.
Гораздо веселее, когда в Excel выплюнула отчет информационная система, а программист, который писал этот отчет, не знал, что надо описать форматы ячеек, в которые выводил информацию, или поленился это сделать. Потому что теперь мест в таблице, где стоит то 3 марта, то 31 декабря, может оказаться несколько тысяч.
Еще интереснее получается, когда вы пытаетесь с помощью таблиц в Excel выравнивать информацию в двух информационных системах: количество моментов, в которые этот технический гений сможет вам услужить, будет гораздо больше. И уже несколько программистов должны будут не забыть предварительно описать форматы.
Как следствие, меняться табличной информацией лучше все-таки в старом добром формате DBF или в новомодном XML, которые даже Excel будет понимать правильно.
Шизофреническая глава про абсолютно нормальных людей
Неприличное слово из четырех букв: юзерЯ до сих пор верю в людей. Но не следует распространять эту веру на пользователей информационной системы. И все эти нравоучительные «Поставь себя на его место» здесь совершенно не годятся. Я на месте любого юзера все равно буду понимать, что я хочу сделать, оценивать последствия своего поступка, контролировать свои действия. Наверное, каждый айтишник участвовал в таком диалоге:
– Андрей, у меня компьютер завис.
– А на какие кнопки ты нажимала?
– Откуда я знаю?
Сколько предупреждений и вопросов ни задавай перед выполнением критической для системы операции, как ни заставляй пользователя выбирать ответ не по умолчанию, отвечать сначала «Да», потом «Нет», он все равно сначала произведет все необходимые манипуляции и, только увидев сообщение «Все проводки за 2005 год успешно удалены», воскликнет: «Ах, что же я наделал!» Поэтому обычному пользователю вообще нельзя доверять выполнение критических операций. Их должен производить адекватный администратор информационной системы по письменной заявке руководителя соответствующего подразделения.
Кстати, это еще одна причина для грамотного разграничения доступа. Если мы не прячем информацию, это еще не означает, что мы готовы ее потерять. – Д. К.
Законы Мерфи никто не отменял, и если для уничтожения базы данных нужно нажать в правильной последовательности на двадцать семь клавиш, то клавиши будут нажаты.
В ИТ-подразделениях, которыми я руководил, с определенного момента неукоснительно соблюдалось правило: не проводить никаких критических операций в одиночку.
За компьютером в таких ситуациях обязательно сидят двое: один медленно набирает необходимые команды, а второй хватает его за руку, если, на его взгляд, команда сделает что-то не то. И перед нажатием на клавишу Enter или кликаньем в кнопку «Пуск» обязательно выдерживается пауза, чтобы оба могли прочесть набранный текст.
Но попробуй добиться такой аккуратности от пользователя.
– А-а-а-а! У вас тут все так по-дурацки расположено, что я все время промахиваюсь мышкой!
– Так вроде между кнопками, которые вы перепутали, на вашем экране целый сантиметр.
– Все равно промахиваюсь! Вы хоть поставьте здесь запрос на подтверждение действия.
– Но ведь это замедлит вашу работу…
– Пусть замедлит, но зато я не буду ошибаться.
Мы добавляем вызов по нажатию кнопки модального окна с просьбой подтвердить действие.
– А-а-а-а! Как неудобно работать! Что вы заставляете меня подтверждать каждый чих? Я что, дура?
Один менеджер в течение полугода требовал от меня выводить в экселевом отчете по три числа в одну ячейку, потому что так удобнее их взглядом охватить. Я пытался объяснить, что отчет выводят в Excel не только для охватываний взглядом, но и для дальнейшей возможности обработки, а три числа в одной клетке обрабатывать средствами Excel затруднительно.
Тогда он хватал калькулятор с криком:
– Давай посмотрим, в каком из вариантов будет проще обработать!
– В том варианте, который я предлагаю, не нужен калькулятор. Я в том же Excel нажму значок суммы и выделю мышкой нужный мне столбец.
– А мне так неудобно!
Зачем нужны пользователи– Зачем это я пойду к ненормальным? – пролепетала Алиса. – Я ж… Я лучше к ним не пойду…
– Видишь ли, этого все равно не избежать, – сказал Кот, – ведь мы тут все ненормальные. Я ненормальный. Ты ненормальная.
– А почему вы знаете, что я ненормальная? – спросила Алиса.
– Потому что ты тут, – просто сказал Кот. – Иначе бы ты сюда не попала.
(Льюис Кэрролл «Алиса в Стране чудес», пересказ Бориса Заходера)Эти слова были впервые опубликованы в 1865 году. Но они про нас с тобой, брат-айтишник. Про нас, а не про пользователей.
Это пользователи – нормальные люди, а мы зачастую – нет.
Да, пользователи бывают и глупыми, и необразованными, но ведь и программисты тоже.
Именно пользователи создали этот мир. Это они кормят тебя, поят и одевают. Это они бороздят океаны и выходят в открытый космос.
Среди пользователей встречаются и умные, и красивые. Женимся мы обычно на пользователях и детей заводим с ними.
Если ты работаешь в производственной или торговой компании, то ведь именно пользователи в ней изготавливают товары и продают их. А мы – обслуга. Образованная, высококвалифицированная, но – обслуга.
И даже если ты работаешь в айтишной фирме, то деньги в ней делаешь не ты, а сейл. Ты можешь считать его тупицей, но все равно не получишь зарплаты, пока он не добьется нужных закорючек на нужных документах.
Поэтому радуйся тому, что у тебя интересная и интеллектуальная работа, но всегда помни, что без пользователей ее бы не было.
Мы – обслуга, и должны сделать работу пользователей более эффек тивной и удобной. Причем по возможности делать это незаметно, как хороший официант или уборщик, а не пытаясь выставить себя пупом вселенной.
Поражает, насколько большая часть айтишников функционально не в состоянии понять, что такое технология и удобство работы пользователя. Как будто за продумывание технологий и написание программ в человеческом мозгу отвечает ровно один участок, который, если он вообще есть, чаще всего специализируется ровно одним из описанных способов. А люди, которые и программы пишут, и понимают, как удобно работать пользователю, встречаются не чаще, чем шестипалые.
В одной из систем, которую я сопровождал, специальное подразделение занималось обработкой заявок других пользователей. Заявки выводились на экран в виде строк, общее количество которых за день доходило до тысячи. Когда другие пользователи завершали предварительную обработку заявки, она появлялась на том же экране при очередном обновлении. Но не обязательно в нижней части списка, а в произвольном месте.
За заявки, не обработанные в срок, сотрудников этого подразделения ругали и штрафовали. В ответ поступали жалобы, что уследить за всеми заявками невозможно.
Так система эксплуатировалась два года. И почему-то никто не мог догадаться вывести на экран дату и время обработки заявки этим подразделением, чтобы таблицу можно было отсортировать по этому полю, или хотя бы галочку, что заявка обработана…
Ну что здесь можно комментировать?
Зато сколько гонора обычно у айтишника, общающегося с пользователем! Причем чем меньше этот айтишник в состоянии понять, что и зачем просит пользователь, тем гонора больше. Апофеозом обычно является фраза «Я лучше вас знаю, что вам нужно!».
* * *Мы сколько угодно можем плакаться друг другу на глупых и безграмотных пользователей, но они являются составной частью внешнего мира, в который мы интегрируем систему, и рассчитывать на замену этих пользователей на пользователей умных и грамотных можно с тем же успехом, что и на замену налогового законодательства в целях удобства программистов. А посему система ваша должна быть пользователеустойчивой и учитывать не только эргономику, но и психологию тех, кто систему использует.
В начале 1990-х, во времена перестройки, кодировки КОИ-7 и клавиатур ЙЦУКЕН/JCUKEN, мне попалось пособие для сотрудников МПС по ликвидации компьютерной безграмотности, в котором я обнаружил поразившую меня строку: «Для выхода из программы нажмите ЯУИТ». Посмеялся, конечно, а при встрече с автором этого произведения не преминул высказать ему свое недоумение. А автор ответил, что поставил в этом месте ЯУИТ вместо QUIT, равно как и другие кириллические заклинания вместо осмысленных английских слов, абсолютно осознанно: «Программа читает только 7 бит из 8, поэтому ей все равно, кириллицей или латынью введена команда. А для пользователей не все равно, они министерские работники, а это значит, что исполнительская дисциплина у них высокая и что никакой чушью их не удивишь. Если написано ЯУИТ, то и наберут на клавиатуре ЯУИТ, а вот английское слово приводит их в ступор, из которого они не выводятся».