Войти | Выйти

Талидомид

Это сообщение — фрагмент, который я не включил в презентацию «Ошибка. Осознание, примирение, извлечение пользы». К тому же в Минске на WSD’09 я пообещал письменно раскрыть свои соображения на тему «Какова ценность наших ошибок для наших пользователей». Обещание выполняю.

В ежедневной работе я имею дело с задачами с типом «ошибка», и у каждой ошибки есть важность — «minor», «major», «critical», «blocker». Работая в этой отрасли долго и каждый день сталкиваясь с критикалами и мажорами, возникает иллюзия, что я занимаюсь делом крайне важным и ответственным.

Вот только так ли это? Сильно ли я ошибусь, если скажу, что работа HTML-верстальщика — это сфера обслуживания — я создаю сайты, на которых люди могут что-то найти, что-то купить или что-то продать — услугу, товар или информацию. Если это так, что произойдет, если моя ошибка в вёрстке приведет к тому, что пользователю станет неудобно получать информацию или неудобно что-то покупать или что-то продавать? Любой руководитель скажет, что это серьезная ошибка, и на её исправление кидаются силы даже в выходные дни и среди ночи.

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

Потому что талидомид.

Талидомид — самое безопасное и эффективное снотворное в мире. Мировая фармацевтика в 1950 году считала изобретение этого препарата прорывом в лечении расстройств сна. Ещё бы! Человек погружался в здоровый и совершенно естественный сон. Особенно положительный эффект наблюдался у беременных.

Но в течение 10 лет после поступления этого препарата в продажу, в 34 странах мира родилось больше 12 000 детей с множественными врожденными уродствами. Из них 7 тысяч детей умерло в первые же минуты жизни.

12 000 искалеченных детей, 24 000 искалеченных родителей из-за несовершенства клинических испытаний, а другими словами из-за того что препарат был рекомендован для беременных после испытания всего на одном виде животных — на мышах. Как много позже выяснилось, помимо мыши и человека, тератогенный эффект лекарства возникал ещё только у одного существа, у шиншиллы. И для этого было достаточно принять одну таблетку препарата. Всего одну!

Одна таблетка и… искалеченная жизнь.

1960 год, Аргентина, сумерки, тесная съемная комната, молодой мужчина, беременная жена. Они дома, на диване, она склонила голову на его плечо и прикрыла глаза, он одной рукой поддерживает её за спину, а другой поглаживает ей живот. А там пихается малыш и от каждого движения её живот как будто ходит ходуном. Они негромко посмеиваются и счастливо шутят, что в животе растет футболист и когда-нибудь он станет чемпионом. А по телевизору с приглушенным звуком идёт реклама про талидомид. И мужчина прислушиваясь к телевизору, поворачивается к любимой и говорит:

— Солнышко, а ты ведь спишь плохо, давай попробуешь этот… как его… тали-до-мид?
— Наверное это дорого, родной?
— Всего одну таблетку, вдруг поможет?

И убегает в аптеку.

А через несколько месяцев рождается ребенок без ног и передней брюшной стенки и умирает на руках у изможденной родами женщины. Я чувствую эту тоску — только что она стала матерью, она так долго и счастливо этого ждала, а он уже умер и его ничем не вернуть! Я вижу её отчаяние и слышу стон: «Господи?»

Я чувствую растерянность молодого отца. Он стоит под окнами роддома с задранной вверх головой, чувствует, как душу его опустошает неотвратимость, и сквозь накатившую слезу силится разглядеть лицо жены в окне третьего этажа. А она без сил прислонилась лбом к холодному оконному стеклу, и из её закрытых глаз слезы сбегают на искусанные до крови губы.

А потом, вечером, этот мужчина сидит на диване, совершенно отрешённый от жизни и смотрит в телевизор, где мелькают бессмысленные картинки, и сквозь спутанное алкоголем сознание к нему пробиваются слова диктора: «Только что стало известно, талидомид категорически противопоказан беременным, потому что вызывает уродства даже от одной таблетки». И эти слова, как удар поддых, его сгибают, он боком заваливается на диван, закусив зубами кулак, а через мгновение до него доходит, что виноват не талидомид, а он сам. Потому что если бы он тогда не предложил купить этот чертов талидомид, его мальчик был бы жив!

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

А наши блокеры и критикалы – что они? Да не больше, чем иллюзия важности. Если не исправить ошибку на сайте, максимум, что может произойти — пользователь сайта поморщится и уйдет с сайта. Это МАКСИМУМ. Да — владелец сайта потеряет возможного клиента. Да — прибыль будет меньше. Но никто не умрёт, дети не останутся сиротами, здоровье людей не ухудшится, и я — виновник ошибки — буду спать спокойно, в отличие от того человека, кто разрешил талидомид к продаже.

И давайте уже наконец самим себе честно признаемся, что пользователи наших сайтов это прекрасно понимают — они готовы терпеть мелкие ошибки (а после истории с талидомидом любые ошибки в нашей отрасли я иначе называть не могу), потому что пользователю нужна информация, а качество её визуального представления — дело второстепенное.

И теперь, когда менеджер утверждает, что ошибку в production надо срочно чинить, я понимаю, что на самом деле менеджер заботится не о том, что пользователю будет неудобно пользоваться сайтом, а о том, чтобы сайт не потерял этого пользователя. Такому менеджеру хочется посоветовать делать сайт для чего-то по-настоящему стоящего. То есть делать сайт, на который пользователь придёт за ценной информацией, а не за тем, чтобы посмотреть на закругленные уголки.

Есть отличный рекламный ролик компании EDS. Он в том числе иллюстрирует степень терпимости наших пользователей к ошибкам в свёрстанных нами сервисах. Я испытываю радость, когда смотрю на пассажиров в креслах. Они же счастливы! Больше мне добавить нечего.

Комментарии

15 комментариев к “Талидомид”

  1. Ingvarr 8.Дек.2009 в 13:27

    много пафоса, но твои доводы совершенно понятны.
    Правда, оценка критичности проблемы применяется здесь только в контексте продукта, а не жизни на земле, так что и сравнивать эти две сферы как-то странно

    ОтветитьReply to this comment
  2. Zigzag 8.Дек.2009 в 16:07

    Полностью согласен с тобой, Вадим. Ошибки в юзабилити скорее сделают твоего потенциального клиента, клиентом конкурента, но никак не верстки, если там что-то где-то самую малость съехало.

    И то, как показывает практика, даже на юзабилити можно наложить в отсутствии конкуренции на начальных этапах. Яркий тому пример Одноклассники.ру.

    ОтветитьReply to this comment
  3. Yury Shilyaev 8.Дек.2009 в 17:46

    Прислали ссылку на этот пост.
    Хм… Вадим, ты хочешь сказать, что ЛЮБАЯ ошибка в верстке не стоит того, чтобы исправлять ее ночью? Если сравнивать с 12 000 погибшими детьми, то да. Думаю, что даже сайт на котором по ошибке написано, что Талидомид разрешено принимать (ошибка верстальщика!) принес бы меньше вреда, чем собственно сам Талидомид.
    Но. У каждой ошибки есть своя стоимость, больше она или меньше. Предположим с тобой договариваются, что за каждое отрывание тебя от домашних дел ради исправления критической ошибки тебе платят — $1000. Если ты соглашаешься, потому как деньги невероятно серьезные, то стоимость исправления такой ошибки для менеджера — $1000. Если он реально думает, что это того стоит — он вызывает тебя и оплачивает оперативность.
    Теперь вопрос: будет ли этот менеджер отрывать тебя от сна из-за какой-то ерунды? Нет. Не будет. Но если реально что-то отвалилось на уровне бизнес-функций, когда ущерб может быть выше, чем $1000… Схема начинает работать.
    А?
    Так что не талидомид, а аспирин.

    ОтветитьReply to this comment
  4. Zigzag 8.Дек.2009 в 21:58

    Юра, цена вопроса это понятно, она никуда не исчезает. Но, по-моему, Вадим несколько об ином говорил в посте. В общем, ждем его ответа. =)

    ОтветитьReply to this comment
  5. Yury Shilyaev 8.Дек.2009 в 23:43

    Да, речь больше о литературе. ;)

    ОтветитьReply to this comment
  6. Вадим Макишвили 9.Дек.2009 в 00:48

    @Yury Shilyaev, я оценил тонкость вашей иронии :)

    В вашем вопросе ключевым моментом является ошибка в бизнес-логике. Соглашусь, мы все очень щепетильны, когда речь заходит о потере денег. Возможно мне следовало более однозначно очертить круг ошибок, о которых я говорил в заметке, чтобы не вызывать вашего удивления.

    Я думаю, что создавая тот или иной сервис вдумчивый верстальщик способен различить критичную ошибку, которую НУЖНО исправить ночью и ошибку, которая может подождать. Больший процент блокеров, из-за которых разработчиков не отпускают вечерами домой или из-за которых приходится выходить в свои выходные – придурь. Отвалились стили для ссылок, вместо Arial показывается дефолтный шрифт. Беда! Чуть поплыла раскладка страницы. Беда!

    ОтветитьReply to this comment
  7. Александр Садовский 9.Дек.2009 в 00:56

    Critical-ы и blocker-ы характеризуют отношение к своей работе. Они как бы говорят: без исправления этой штуки продукт получится хреновым. И это очень важное ощущение, потому что оно связано с восприятием. Что такое качество работы? Это требуемый минимум квалификации и много желания сделать работу на «отлично». Человек с заниженной планкой, схалтуривший в интерфейсах, станет халтурить так же, будучи хирургом или пилотом. Но хуже то, что он так воспитает своих детей, будет влиять на отношение к работе в своем окружении, семье. И тогда истории с катастрофами могут снова повториться.

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

    ОтветитьReply to this comment
  8. Yury Shilyaev 9.Дек.2009 в 01:16

    Если ты хотел сказать, что большинство ошибок не стоят того, чтобы из-за них переживать — тут я на твоей стороне.
    Исключения являются только высокая репутация – например, как у Яндекса. Но если есть высокая репутация, о которой надо заботиться, то должно быть время на вдумчивое тестирование. ;)

    ОтветитьReply to this comment
  9. Вадим Макишвили 9.Дек.2009 в 01:22

    @Александр, не отрицая, а дополняя ваши слова, хочу сказать, что плохо, когда такое правильное и ответственное отношение к работе превращается в панику при виде любой ошибки интерфейса.

    Работая с вами в одной компании, я мало видел по-настоящему критичных ошибок, которые требовали срочных исправлений. Большинство блокеров назывались таковыми, на мой взгляд, без веской причины.

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

    А сейчас я хочу дополнить вашу основную мысль. Ответственное отношение разработчика к своей работе не исключает ответственное отношение других людей к личной жизни и полноценному отдыху этого разработчика.

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

    Александр, буду рад продолжить с вами обсуждение.

    ОтветитьReply to this comment
  10. Александр Садовский 9.Дек.2009 в 01:40

    1. Возможно, проблема в разном понимании терминов (»blocker» и др.) Вами и конкретным менеджером. Тогда нужно просто договориться. Есть общепринятые черты блокера — он делает невозможным использование продукта какой-то части пользователей или не мешает, но виден как явная ошибка большинству пользователей. Если менеджер понимает статус не так, надо с ним обсудить.

    2. Право на отдых в дополнении к праву на труд даруется нам конституцией. :) И тут разработчик не зависит от здравого смысла этого человека, по крайней мере в Яндексе, потому что у разработчика тоже есть здравый смысл. Собственно, Ваш пост и есть тихий разговор со здравым смыслом.

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

    ОтветитьReply to this comment
  11. Юрий 9.Дек.2009 в 11:22

    @Александр Садовский,
    Абсолютно согласен с Александром, нужно правильно называть ошибки, и нужно чтобы менеджеры это понимали. Сейчас интернет есть у всех дома, поэтому можно самому посмотреть на ошибку, так ли она важна и принимать соответствующие решения.

    ОтветитьReply to this comment
  12. Zigzag 9.Дек.2009 в 12:37

    Александр Садовский, посмотрите обязательно видео с докладом Вадима про ошибки верстки с Web Standards Days, если еще не видели его.

    Ведь действительно, имхо, именно работа верстальщика во многом зависит от стороннего ПО. И часто необходим просто отдых, чтобы свежим взглядом оценить баг.

    ОтветитьReply to this comment
  13. Yury Shilyaev 9.Дек.2009 в 13:05

    @Zigzag, А где это видео можно посмотреть?

    ОтветитьReply to this comment
  14. Zigzag 9.Дек.2009 в 13:08

    @Yury Shilyaev, совсем скоро ссылки на офф. сайте будут.

    ОтветитьReply to this comment
  15. Вадим Макишвили 10.Дек.2009 в 16:47

    @Yury Shilyaev, вот здесь есть запись.

    ОтветитьReply to this comment

Написать комментарий.




XHTML: Можете использовать следующий код: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Spam Protection by WP-SpamFree Plugin

Subscribe without commenting