18 заметок с тегом

простые мысли

Ctrl + ↑ Позднее

Парето + Паркинсон

23 мая 2008, 15:50
80% работы делаются в последние 20% отведенного времени.
Высказывание рождено и прислано коллегой. На мой взгляд, объединяет две простых и гениальных мысли в одну еще более простую и сногсшибательно гениальную:).

КПЭ в действии: в шутку и всерьез

28 февраля 2008, 15:24
КПЭ — ключевые показатели эффективности (они же Key Performance Indicators — KPIs) — простое и потому красивое понятие: скажем, если вы поставили (для простоты — перед собой) цель, вам нужен способ определить, насколько вы к ней приблизились. КПЭ по сути и представляет собой такой измеритель — это индикатор эффективности продвижения к цели, выраженный некоторым правилом, обычно позволяющим получить числовое значение. На этом уровне идея проста до банальности: если внимательно присмотреться к окружающей действительности, окажется, что мы используем КПЭ не реже, чем говорим прозой:).

Сложные инструменты зачастую оказываются капризными, начинают сбоить и бастовать. КПЭ и в этом смысле простой инструмент — как молоток, он работает всегда. Но, как и молотком, им можно забивать гвозди, а можно отбивать пальцы. Именно поэтому КПЭ входят как составная часть в концепцию сбалансированных показателей (Balanced Scorecard): обычно цель не бывает единственной и  абсолютной — она сопровождается некоторыми ограничениями или условиям («сделать это, не разрушив того и не выйдя за пределы этого»). Если сосредоточиться на одной цели и отключиться от контекста, можно получить обескураживающий, а то и разрушительный результат. Сосредоточившись на тактических целях, можно угробить стратегию; зациклившись на стратегической высоте, можно запросто увязнуть в болоте, проворонив необходимость тактического маневра; и так далее. С другой стороны, контекст не может быть бесконечно широким — в умении правильно ограничить его и состоит искусство менеджера (нельзя учесть все на свете).

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

Картинка первая, сказочная: тридесятое царство, давным-давно

К скорняку пришел купец и принес с собой шкуру. 

— Скажи мне, друже: можно ли из этой шкуры скроить две шапки?

— А что ж нет — можно...

— Лады, оставляю тебе шкуру.

— Приходи через неделю.

Выходя, купец остановился в дверях, задумался и сказал:

— Скажи: а можно ли скроить из нее три шапки?

— Ну отчего ж нельзя... Можно.

— Лады, тогда пусть будет три шапки.

На этом купец вышел.

Однако недели не прошло: вечером купец снова появился у скорняка.

— Я тут подумал... А может быть, из этой шкуры можно скроить четыре шапки?

— Можно и четыре.

— Лепота!.. Пусть будет четыре шапки.

...Как несложно догадаться, на этом история не закончилась: всю неделю купец наведывался к скорняку, а заказ все рос и рос...

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

Так сработал КПЭ.

Картинка вторая, историческая: Англия, XVII век

Жил-был в Англии ученый по имени Роберт Гук (1635-1703), которого большинство из нас помнит по школьному закону Гука (про то, что чем сильнее тянешь, тем сильнее сопротивляется:)). Это далеко не единственный открытый Гуком закон — в его арсенале несколько сотен открытий в самых разных областях науки. По мере того как я узнавал о его достижениях, у меня крепли два чувства: восхищение и удивление. Меня восхищал кругозор этого человека и удивляла некоторая беглость, поверхностность его открытий, как будто у него не хватало времени довести работу до конца... А потом мне попала в руки прекрасная книга В. И. Арнольда «Гюйгенс и Барроу, Ньютон и Гук» (М.: «Наука», 1989), по прочтении которой все встало на свои места:
Гук был небогатым человеком и начал свою деятельность в качестве ассистента у Бойля (который теперь всем известен благодаря открытому Гуком закону Бойля — Мариотта), т. е., попросту говоря, лаборантом. Впоследствии Гук стал работать в только что образованном Королевском обществе (т. е. английской академии наук) в должности куратора. Обязанности куратора Королевского общества были весьма нелегкими. Согласно контракту, он должен был на каждом заседании Общества (а они происходили еженедельно, кроме времени летних каникул) демонстрировать три или четыре опыта, доказывающих новые законы природы.

На посту куратора Гук находился в течение сорока лет и все это время тщательнейшим образом исполнял свои обязанности. (с.7)
Как видим, КПЭ сработал:).

Картинка третья, актуальная: Россия, XXI век

...представители Центральной избирательной комиссии подтвердили, что победа Медведева будет выгодна им с финансовой точки зрения. Деньги, выделенные на проведение второго тура голосования, вместо этого пойдут на премии сотрудникам, сообщил Центризбирком. На второй тур выборов ассигнован миллиард рублей — это примерно 40,6 млн долларов, пишет The Wall Street Journal.

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

NEWSru.com, см. также Wall Street Journal
Поскольку до выборов осталось очень мало времени и уже наступил тот момент, когда публикация прогнозов запрещена, я воздержусь от предположений о том, сработает ли КПЭ в этот раз;).

Обработка ошибок и турникеты

16 февраля 2008, 19:10

Часть первая, проектировочная

Я начну с довольно пространной цитаты из книги Дж. Гарретта «Веб-дизайн, ориентированный на пользователя. Элементы опыта взаимодействия». Гарретт выделяет три уровня обработки ошибок — предотвращение (prevention), исправление (correction) и восстановление (recovery) — и описывает их следующим образом:
Что должна делать система, когда люди совершают ошибки, и, прежде всего, что она может предпринять для предотвращения этих ошибок?

Первая и самая лучшая защита от ошибок — это разработка такой системы, в которой ошибки пользователей просто невозможны. Хороший пример такого типа защиты мы видим в любом автомобиле с автоматической коробкой передач. Попытка запустить мотор при включенной трансмиссии может повредить чувствительный и сложный механизм; более того, машина никуда не поедет, а лишь резко дернется вперед. Это плохо для машины, для водителя и для невинного пешехода, случайно оказавшегося рядом с дернувшейся машиной.

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

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

Информативные сообщения об ошибках и хорошо продуманные интерфейсы во многих случаях помогут пользователям обнаружить совершенные ошибки. Однако некоторые действия пользователя могут вначале казаться корректными, а потом будет слишком поздно, чтобы система могла их обработать. В таких случаях система должна предоставить пользователю способ восстановления после ошибки. Самым известным примером такой функции является «отмена действия», однако восстановление после ошибки может принимать разные формы. Если восстановление невозможно, то единственным доступным системе способом удержать пользователя от ошибки является большое количество предупреждений. Разумеется, предупреждения эффективны, только если пользователи действительно обращают на них внимание, и поэтому последовательность диалоговых окон «Вы уверены?..» больше раздражает, чем помогает.
Что происходит на практике, когда программист работает над кодом? Предотвращение обычно отметается, поскольку является весьма затратным именно с точки зрения программиста. Допустим, некоторая операция в данный момент не может быть выполнена или не имеет смысла (например, копирование в буфер обмена, когда только что создан новый пустой документ — в котором нечего копировать по определению). Чтобы предотвратить ее выполнение, надо сделать ее недоступной во множестве мест: заблокировать в меню, заблокировать в контекстном меню, заблокировать на стандартной панели инструментов, заблокировать на пользовательских панелях инструментов (если она там есть), заблокировать соответствующие «горячие» клавиши, заблокировать стандартную «быструю» комбинацию клавиш (если она не переназначена), заблокировать пользовательские комбинации клавиш (если есть)... (К чести Microsoft Word, в ней работа в этом случае идет именно на уровне предотвращения.)

Проще, намного проще «помочь пользователю осознать ошибку и устранить ее». Однако и это в мышлении программиста трансформируется в банальное «выдать сообщение об ошибке». Он не видит в этом ничего дурного: сам он регулярно имеет дело с сообщениями об ошибках — в том числе в роли пользователя. Ему крайне трудно представить себе ощущения человека, не являющегося IT-специалистом, когда тот сталкивается с сообщением об ошибке...

Часть вторая, жизненная

Мой старший сын очень не любит метро. Причина этой неприязни весьма проста: однажды, когда ему было лет 5 или 6, турникет — тот самый советских времен турникет, который в ответ на попытку неоплаченного прохода грозно лязгает «челюстями», — сработал не так, как должен был. Сейчас в московском метро идет постепенная замена турникетов на «французские» (так их называет мой сын, которому в качестве утешения я рассказал тогда про то, что бывают более «дружелюбные» турникеты и что я видел такие в Париже). «Французский» турникет действует ровно наоборот: он открывает проход, если получена оплата.

Давайте посмотрим на ситуацию с точки зрения схемы взаимодействия пользователя с системой.

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

«Французский» турникет работает по принципу предотвращения: он не открывает проход, просто не давая возможности совершить ошибочное действие. «Извините, проход закрыт».

«Советский» турникет блокирует действие Б в момент его совершения — по сути своей это соответствует крайней форме сообщения об ошибке. «КУДА ПРЕШЬ, КР-Р-РЕТИН?!»

(К слову, мне кажется, что это свидетельствует и о разнице в менталитете проектировщиков этих турникетов.)

Подавляющее большинство программистов живут в крупных городах и хотя бы однажды были «неправедно защелкнуты» турникетом старого образца. Полагаю, в тот момент это вызвало вполне определенную эмоциональную реакцию; теперь достаточно просто ее вспомнить, чтобы на своей шкуре почувствовать, как рядовой пользователь воспринимает сообщение об ошибке: «ЧТО ТЫ СДЕЛАЛ, НЕДОУМОК?!»

Ноги сапожника

7 февраля 2008, 12:29
Повелось у нас принимать как данность отсутствие сапог у сапожника. А между тем они, как правило, есть, и их качество может о многом сказать даже очень постороннему взгляду... (Хм... зощенковский какой-то зачин получается... ну да бог с ним.)

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

посмотри на ноги сапожника.


Раскрутчики должны как-то сами раскручиваться... Остальное было минутным делом — найти в поисковике сайты, которые ссылаются на сайт маленькой группы умелых товарищей. Поисковик вывалил нам список, на 98% состоящий из порносайтов.

Вот так закончился спор. А принцип остался — рекомендую!:)
SEO   Xendz-айтишник   просто Xendz   простые мысли

Правило тринадцатого удара

24 января 2008, 10:18
Если часы пробили тринадцать раз, следует усомниться в правильности не только последнего, тринадцатого удара, но и всех двенадцати предыдущих.
Впервые я вычитал это правило, кажется, в книге «Физики шутят». С тех пор цитировал несчетное количество раз, а уж сколько раз припоминал... Меня постепенно перестает удивлять то, что люди сплошь и рядом исправляют одну ошибку, на которую ты им указал, не удосужившись поискать такую же ошибку рядом. А ведь правило такое простое...
просто Xendz   простые мысли

Турникетная халява и odnoklassniki.ru

23 января 2008, 9:51
Последние несколько месяцев мой путь по утрам пролегает через Три вокзала. На других станциях метро я практически никогда с этим не сталкивался — а вот на «Комсомольской» с завидной регулярностью, проходя через турникет, чувствую, как кто-нибудь ретивый норовит прижаться к спине и протиснуться на халяву. И с той же регулярностью это меня раздражает.

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

Ну, казалось бы, что тут такого? Многолетняя выучка: милое же дело урвать чего-нибудь от государства на халяву! «Дают — бери, бьют — беги». Даже если не дают — бери и беги... Но законы природы никто не отменял, из ничего не возникает что-то, и недоплаченные деньги оборачиваются изношенным подвижным составом, задержками в движении и нашими же нервами... Однако не сводятся эти концы вместе в людских головах, и один и тот же человек может прекрасно пролезть через турникет на халяву — и спустя пять минут возмущаться «увеличенными интервалами»...

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

Вся беда в том, что эта идея — тоже в большой степени абстракция. Где он, этот «кто-то рядом», если его невозможно увидеть и почувствовать, если он не придет заглянуть тебе в глаза и отказаться пожать тебе руку?..

«Казалось бы, при чем тут» (? г-н Доренко) odnoklassniki.ru, о которых в последнее время пишут даже самые ленивые?

Дело в том, что «Одноклассники» делают эту абстракцию конкретной. Есть утверждение, что с какой-то очень близкой к единице вероятностью между любыми двумя людьми на земном шаре можно проложить цепочку знакомств длиной 6 или меньше звеньев. На сайте «Одноклассников» есть функция («Связь»), благодаря которой этот умозрительный факт становится совершенно зримым — демонстрируется цепочка, связывающая вас с другими людьми. И хотя на сайте зарегистировано меньше 10% населения России, а сама функция показывает только цепочки в 3 звена, уже сейчас десяток кликов по «друзьям друзей» приводит к неожиданной «короткой» связи с совершенно незнакомым человеком.

Это означает, что в ближайшем (потому что 5–6 — это от меня до американского президента) окружении любого из нас есть метрополитеновцы — конкретные, живые люди, которым в конечном итоге недоплачивают, когда мы не платим за проезд. Остальное — демагогия.
просто Xendz   простые мысли

Три составляющие дизайна

8 января 2008, 13:54
У дизайна есть три составляющие:
  • эстетичность (это должно быть красиво);
  • удобство использования (это должно облегчать жизнь, а не затруднять ее);
  • технологичность (это должно быть легко производимо и легко обслуживаемо).
(Эта мысль принадлежит к разряду тех, про которые нельзя сказать, что они придуманы мной, но и нельзя сказать, что взяты откуда-то в готовом виде... Результат неявно происходившей в мозгах кристаллизации увиденного и прочтенного.)
Идея тривиальная, но, как это часто бывает с тривиальными идеями, на практике часто упускаемая из виду:(. Если бы не упускали — не возникал бы вопрос о том, почему у наших автодизайнеров концепты хорошие, а с конвейера сходят металлические коробки (технологичность — и не надо больно пинать дизайнеров, надо менять технологии). Если бы не упускали, мы бы не плутали в зданиях (удобство использования — «Ну кто так строит, а?»). Если бы не упускали, мы бы не были окружены таким количеством некрасивых вещей (эстетичность).
просто Xendz   простые мысли   размышления

Дорожная арифметика

7 января 2008, 13:17
На втором году своего водительского стажа я стал позволять себе в одиночку ездить со скоростью 130 км/ч (отставить смешки: это была «Ока», она сильнее не разгоняется в принципе:)). Но поскольку опыт был все же невелик, дорога на дачу (120 км от дверей до дверей) не получалась без остановки на передышку.

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

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

Возьмем мой маршрут на дачу (120 км) и двух водителей, один из которых едет со скоростью 90 км/ч, а второй — со скоростью 120 км/ч. Элементарная школьная кинематика подсказывает нам, что первый потратит на дорогу 1 час и 20 минут, а второй — просто 1 час... Но это в идеальном мире. В реальности при нормальной загрузке загородной дороги (пробки не рассматриваем) попытки двигаться со скоростью 90 км/ч приведут к средней скорости порядка 80 км/ч, а порывы русской души лететь на 120 км/ч за счет более частых торможений-разгонов-обгонов дадут среднюю скорость около 90 км/ч. И тогда первый преодолеет это расстояние за полтора часа, а второй доедет всего на 10 минут быстрее. И это — на весьма немаленькой дистанции.

Конечно, водительский опыт и мастерство второго водителя (заблаговременный просчет перестроений и обгонов и т. п.) могут поправить этот результат и увеличить разницу — но не радикально. Вот эти 10 минут и оказывались съеденными моей передышкой в пути. Осознав это, я перестал «давить тапку в пол». Это имело два побочных эффекта: я стал получать гораздо больше удовольствия от поездок, прибывая в пункт «Б» с сухой спиной, и у меня исчезла необходимость в передышке по пути :). А суммарное время в дороге практически не увеличилось.

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

«Хм... А разве все это не очевидно?» — можете спросить вы... Будете в следующий раз на дороге — присмотритесь к окружающим вас водителям: видимо, нет.