Видео... Если нужен текст - скажите в комментариях. Ну, да, кросс-пост с персонального...
Видео... Если нужен текст - скажите в комментариях. Ну, да, кросс-пост с персонального...
Помните, я не раз говорил, что нынешний бардак в Америке сродни перестройке? Сегодня захожу в любимый книжный магазин Barnes & Noble и вижу такую вот картину маслом....
Ага, "Как нам обустроить..." Ё-мое... Без комментариев.
На чуть более веселой ноте, кусок любимого трейла так зарос ежевикой, что в шортах пробираться уже тяжело:
А утки у Круглого озера так обнаглели, что выходят из воды и начинают клянчить подачки у ног:
Как обычно, с персонального блога...
Как вы знаете, недавно Майкрософт провел два круга массовых увольнений в связи с тяжелыми экономическими временами. Мотивация была в экономии денег и правильном распределении ресурсов и, ваще, «это правильная вещь в нынешних обстоятельствах!» Обсуждать я это дело не собираюсь, это не моя компетенция, так сказать, «командир сказал – хорек! И никаких сусликов!» Нет, правда, выбился бы я на Майкрософте в экзеки (впервые обратил внимание... как по-русски звучит – жуть!), тогда бы и рассуждал, а так, не мое собачье дело!
Получил я вчера журнал Toastmasters. Если вы читали мой блог, то должны знать, что записался я таки в это интересное сообщество. А в нем статья, “Taking Through Tough Times at Work.” Статья насчет интересного феномена называемого “layoff survivor syndrome”
Суть его проста. Вот прошли массовые увольнения в вашей фирме. Вас, слава Богу, не задело. Друзей жаль, ощущения – паршивые, но хотя бы самому есть на что платить ипотеку. И оказывается, вот ведь сволочная наука – психология! – что жизнь не так уж радужна даже если вас и не задело. Приведу несколько цитат из статьи (натюрлих, в переводе с буржуйского):
«Стресс влияет на его концентрацию и производительность, и это видно в качестве его работы. ... Другие работники, сохранившие работу, испытывают те же симптомы. ... чем дольше эти эмоции игнорируются, тем более они въедаются в производительность фирмы и здоровье работников... корпоративные психологи утверждают, что если эти эмоции игнорировать, они могут иметь очень серьезные последствия... испытывая падающую в пропасть продуктивность, ошибки вызванные отсутствием концентрации, и все более апатичные и боящиеся риска работники.»
Нужно ли говорить, что «боящиеся риска работники» - это как раз тот самый «поцелуй смерти», который уложил на дно недавно General Motors? Когда все боятся спорить с менеджером, достаточно одного идиота достаточно высоко в цепи управления, и все идет прахом... Ну, те, кто жил в СССР, в курсе...
В общем, вот такие вот мысли вслух...
К слову, "не отражает мнение моего работодателя
и является моим персональным мнением!"...
выраженным на персональном блоге.
Сегодня пришло вот такое вот письмо супруге:
Для справки, "Galima" - это опечатка. Просто американские (а скорее всего мексиканские или индийские) работники просто вульгарно переиначили ее имя или просто тупо по-идиотски нажали соседнюю клавишу на клавиатуре. В конце концов, их можно понять. На родном испанском они писать скорее всего не умели, а буквы и правда похожие... С тех пор "Галима Мусаев" начала свою виртуальную жизнь в американских компьютерных бизнес сетях. Надо сказать, что впервые эта опечатка была сделана еще до моей работы на Майкрософт, когда мы были в Иллинойсе и в газетах читали статьи о деятельности губернатора Обамы. Но потом Галима зажила своей жизнью и даже начала следовать за нами.
Теперь Галима котируется ни много, ни мало, как владелица успешного процветающего бизнеса и получает регулярные предложения кредитных карточек и прочих сомнительных благ западной цивилизации. Но опять же, для справки. Dan & Bradstreet являются очень уважаемыми источниками бизенс информации о фирмах. Многие компании сначала справятся в Dan & Bradstreet, чтобы решить, иметь дело с вами как с бизнесом или нет. Ну, что тут сказать... Если они справятся о Галим'е Мусаев, они, очевидно, будут очень впечатлены ее корпоративной историей....
К слову о том, чего стоит уважение американских деловых кругов.
Да-да, кросс-пост с персонального блога...
Ок, ок, может не очень новая. Я просто хотел обратить внимание на некоторые технические детали.
Некоторое время назад - пару месяцев - мне начали приходить спам-сообщения, как обычно для спама, очень грязного и пошлого сорта, но (!) с моего собственного адреса, так что даже Гугл не ловил подвоха и честно совал мне это в Inbox.
Вот здесь для любопытных фрагменты типичного заголовка такого письма (привожу последнее, полученное сегодня):
Delivered-To: МОЙ-КОНЕЧНЫЙ-АДРЕС
Received: by 10.100.210.13 with SMTP id i13cs203927ang;
Sat, 13 Jun 2009 19:25:00 -0700 (PDT)
Received: by 10.114.199.1 with SMTP id w1mr9040225waf.151.1244946299863;
Sat, 13 Jun 2009 19:24:59 -0700 (PDT)
Return-Path: <МОЙ-ПЕРЕНАПРАВЛЕННЫЙ-АДРЕС>
Received: from МОЙ-ДОМЕН (МОЙ-ДОМЕН [IP-АДРЕС-МОЕГО-ДОМЕНА])
by mx.google.com with ESMTP id 15si4368125pxi.159.2009.06.13.19.24.59;
Sat, 13 Jun 2009 19:24:59 -0700 (PDT)
Received-SPF: pass (google.com: best guess record for domain of МОЙ-ПЕРЕНАПРАВЛЕННЫЙ-АДРЕС designates IP-АДРЕС-МОЕГО-ДОМЕНА as permitted sender) client-ip=IP-АДРЕС-МОЕГО-ДОМЕНА;
Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of МОЙ-ПЕРЕНАПРАВЛЕННЫЙ-АДРЕС designates IP-АДРЕС-МОЕГО-ДОМЕНА as permitted sender) smtp.mail=МОЙ-ПЕРЕНАПРАВЛЕННЫЙ-АДРЕС
Received: from [86.73.44.239] (239.44.73-86.rev.gaoland.net [86.73.44.239])
by МОЙ-ДОМЕН (8.13.1/8.13.1) with ESMTP id n5E2OuRf016440
for <МОЙ-ПЕРЕНАПРАВЛЕННЫЙ-АДРЕС>; Sat, 13 Jun 2009 20:24:57 -0600
Date: Sat, 13 Jun 2009 20:24:56 -0600
Message-ID: <GHWADMCMRATV.VHIJIVAWPOUMFGA47439594680@[86.73.44.239]>
From: "Alayna Boron" <МОЙ-ПЕРЕНАПРАВЛЕННЫЙ-АДРЕС>
To: МОЙ-ПЕРЕНАПРАВЛЕННЫЙ-АДРЕС
Subject: Suiciders online
MIME-Version: 1.0
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Кстати, подобное издевательство было бы невозможно без попустительства Китая. Это меня так озадачило, что я даже пообсуждал с супругой, а есть ли у китайцев понятие этики как таковой или оно принципиально иное? Ведь у них, если такое без разрешения партии - все просто, пуля в затылок и на запасные органы. Так почему же высокие партийные органы там подобное безобразие разрешают? Я, конечно, понимаю, что особой любви к Америке они не питают, но тут-то они мараются в таком... мерде, что о сохранении лица даже говорить смешно. Да, а почему я говорю, что помощь идет из Китая? Да очень просто - спам не работает без линков, а все линки - в Китае, на китайских серверах. Спамеры, кстати, их очень хвалят, говорят, совершенно непробиваемые для жалоб.
Ладно, это все детали, а как же все это сделано? А очень просто. Если вы внимательно посмотрите на заголовки, то окажется. что главный вонючка - это машина в сети gaoland.net.
C:\>NSLOOKUP 86.73.44.239
Server: cns.beaverton.or.bverton.comcast.net
Address: 68.87.69.146
Name: 239.44.73-86.rev.gaoland.net
Address: 86.73.44.239
Если посмотреть заголовки других таких же писем (я их аккуратно собираю), то встретятся серверы в Нью-Йорке, Пенсильвании, Миссури и еще много где. Откуда же они берутся?
Помните я недавно рассказывал как посетителей вебсайтов заражают троянами? Вот для этого в частности и заражают. Это безвинно зараженные машины обычных обывателей, которые совершенно не в курсе, что из машины используются для рассылки спама. Кстати, потом ISPs - провайдеры Интеренета - это обнаруживают и их отключают, хотя вся их вина в том, что их машину заразили всякие сволочи. В общем, рассылается это дело обычными бот-нетами или как их еще называют, зомби-сетями.
Грустно это, господа... куда-то непонятно куда развивается наша любимая компьютерная технология. Как говорил профессор Преображенский "Такой кабак мы сделали с этим гипофизом, что хоть вон беги из квартиры."
Ну, да, кросс-пост с персонального блога...
Постоянные читатели уже в курсе, что на Technet я в основном публикую кросс-посты с моего персонального блога eldar.com (например, вот этот пост находится здесь). И вот, месяца четыре назад, пришло мне такое письмо (в вольном изложении, само собой, оригинал был на буржуинском): «Здрасьте! Я интернет маркетинг менеджер компании Крибле-Крабле-Блюмс! Мы спецализируемся на Интернет рекламе на небольших сайтах. Мы готовы вам платить $20 в месяц, если вы разместите рекламу наших клиентов. Все что нужно сделать – вставить небольшой PHP код на каждую вашу страницу...»
Ок... Вы знаете, за уже скоро десять лет на Майкрософте, моя нынешняя группа – первая, где я не отвечаю за секьюрити всего продукта. Так что, как вы понимаете, у меня сформировалась некоторая, вполне здоровая в моих обстоятельствах, паранойя... Так они хотят, чтобы я вставил PHP код выполняемый на МОЁМ сервере???
Но я не стал судить резко, все-таки взял PHP код и внимательно посмотрел ему в глаза... Вроде бы все честно. Берет что-то с их сайта и выводит их в HTML на моей странице. Обычно и правда честный набор из четырех-шести линков. Первое чувство было, что они пытаются взломать мой сайт. Но вроде бы не должно получаться... Конечно, скребло чувство, а не может ли их вывод вторично интерпретироваться как PHP? Это-то точно было бы огромной дырой в секьюрити. Вроде бы нет, но все же... что-то еще скребло...
И тут до меня ДОШЛО. Достать пытались не меня, А ВАС! Позвольте обьяснить как.
Это в период переговоров этот код выдает скромный набор из четырех линков. А если бы я его вставил на свой сайт, он начал бы выдавать еще дополнительно скромный Javascript. Вы можете спросить, ну и что? Увы, еще как что. Дело в том, что если система не имеет все последние заплатки, то в ней часто есть дырки, через которые Javascript может заставить систему выполнить произвольный код. «Произвольный код» звучит заумно и не очень страшно, но на самом деле это обычно трояны. Точнее, установка троянов. Причем ныне уже не те времена, когда троян заставлял буковки сыпаться с вашего экрана, сейчас этим занимаются вполне серьезные дяди, которым совершенно неинтересно вас шокировать или пугать, им просто нужны ваши деньги. Современные трояны в основном делают очень простую вещь – они сидят тихо и ждут, когда вы сделаете что-нибудь интересное. Скажем, залогинитесь в ваш счет в банке или купите что-то на Интеренете по кредитной карточке. Тут они ловят ваш ввод и отправляют на анонимный сервер хозяину трояна, которые затем может этими данными воспользоваться или, что более часто, продать их тем, кто может ими воспользоваться.
В общем, такой вот я молодец! Защитил и свой сайт и своих читателей. Пойду, возьму с полки пирожок. Тот, что посередине...
Из мелочей, наконец обзавелся телефоном с камерой. Вообще-то камера мне была ни к чему, я просто хотел батарею, которая дольше работает без подзарядки, но как-то там же оказалась и камера. И вот три снимка с уже знакомой прогулки по лесу, о которой я уже рассказыал не раз и не два...
Шотландская метла - красиво!
По дороге окруженной желтыми цветами
Круглое озеро с утятами
То и дело на Интернете приходится сталкиваться со спорами противников Методологий Разработки Программного Обеспечения и их сторонников. Сторонники с непревзойденным чувством самооценки (self-esteem) обьяснят вам, что не дело лаптем щи хлебать, и что просто сесть и написать – это «ковбойский» стиль, который ни к чему хорошему не приведет. А надо делать... и дальше, в зависимости от сезона идет название очередной модной методологии разработки программ. Сие излагается с апломбом секретаря парторганизации или там шамана племени, так чтобы сразу было ясно, что любой возражающий идет против линии партии и, того гляди, навлечет на племя проклятие Злых Духов Программного Обеспечения, чтобы и мысли не возникало возражать.
Методология эта обычно изложена в толстых трудах, где подробно описано каждый шаг разработки, включая кто, когда и где решает, что нужно делать, как рассаживаться вокруг музыкальных инструметов, сколько раз прыгать вокруг племенного костра на правой ноге, а сколько на левой, и в какой руке при этом держать бубен. Методология подтверждается многочисленными примерами внедрения (case studies), когда, несмотря на применение методологии, та или иная команда все-таки выполнила запланированный проект почти в срок и почти в рамках бюджета. А каждый возражающий узнает, что он мордой не вышел программы писать, и пошел бы он пасти коз, а не совался бы со свиным рылом в калашный... пардон, программный ряд. В общем, как если бы кто пришел на тусовку, посвященную одежде и моде, в модели прошлого сезона, или, о ужас, ваще в одежке простых смертных.
Для начала, позвольте все-таки сунуться в калашный ряд, поскольку критика оных методологий обычно либо отстутсвует («Не тронь ..., вонять не будет.»), либо звучит достаточно примитивно («Они не работают!»). Две крупнейшие технические проблемы с методологиями разработки ПО, которые я вижу, это избыточность и некорректность примеров внедрения. Две крупнейшие организационные проблемы с методологиями разработки ПО, на мой взгляд состоят в политизированности и вирусной природе, которые делают их идеальным оружием в руках корпоративных паразитов против тех, кто делает реальную работу в проектах. Позвольте пояснить.
Избыточность и некорректность примеров внедрения.
Попробуйте покритикуйте любую методику разработки софта, и тут же раздастся хор голосов: «А мы ее использовали и у нас получалось!» Ну, да, получалось. А копните, и окажется, что использовали-то не по букве инструкций, а в вольной форме. Там на правой ноге прыгнули лишний раз, тут бубен не в той руке держали. Что и отражает причины, почему получается. Если подумать, то любая методика разработки софта сводится обычно к одной-двум фразам. Водопад = «сначала выясни что нужно, потом подумай как это сделать, и только потом пиши код.» Экстремистское программирование = «каждый кусок кода должны быть способны починить хотя бы два члена компанды.» Скрам = «собирайтесь на ежедневные летучки.» И правда, чего такого неверного в том, чтобы подумать прежде чем писать или в летучках, чтобы знать, если кто застрял? Все верно.
При этом, если обратите внимание, все методологии устроены примерно так:
1. N страниц текста, описывающих пляски с бубном.
2. «Программист пишет код»
3. Еще K страниц текста, описывающих пляски с бубном.
То есть по сути любая методология в конце концов сводится к тому, что куча народу – менеджер, менджер проекта или ПМ, лиды тестовой команды, архитектор, специально назначенные «умные товарищи» пляшут с бубном вокруг программиста, который во всем этом гвалте должен в определенный момент написать работающий код, а в остальное время также участвовать в плясках. И возникает законный вопрос, а так ли действительно важно загнуть мизинец правой руки после третьего прыжка на левой ноге и четвертого встряхивания бубна?
Вообще, тема такая, что поневоле хочется отвлечься и написать по ней побольше. Например, вы задумывались, что методологии действительно очень напоминают первобытную охотничью магию? У вас есть заклинания шамана (на основе священных книг, описывающих методологию), наскальная живопись с поверженной добычей (UML диграммы и спецификации), сама технология танца (15 минут, все стоят, каждый имеет минуту на статус), собственный словарь («цыпленок», «свинья»,...), строгая иерархия, определяющая в каком порадке воины-охотники поражают нарисованную на стене пещеры добычу... Вообще, а не в человеческой ли природе устраивать что-то подобоное каждый раз, когда очень хочется и не получается. Ну, скажем, хочется кушать, а мамонт убежал. Или там, программный продукт не работает... Впрочем, я отвлекся.
Вот это я и имею в виду под избыточностью. Одна фраза разбавляется до толстого тома очень относительно относящимися к делу деталями, вокруг которых и разгораются потом страсти и борьба за престол очередной крошечной империи.
Вирусная природа и корпоративные паразиты
Второй пример с этим всем мимукраппом в организационных последствиях. Попросту говоря, они являются плодородной почвой для откровенных и не очень откровенных паразитов, который «участием» в процессе подменяют производство результатов. Поскольку почти каждая такая методология вынужденно включает уйму не имеющих реального значения деталей, то всякое ее применение открывает уйму возможностей оную методологию «улучшить».
Скажем, делать летучки в Скраме не 15 минут, а 20, или там 17. Предлагающий может это подать как значительное улучшение, помогающее команде достичь целей. А если кто захочет возражать, то то же самое может быть выставлено как ухудшение методологии. Кто выиграет? А это уже будет решаться исключительно политикой и влиянием в команде, поскольку реально эти плюс-минус две минуты все равно никакого значения не имеют и никогда не соблюдаются.
Впрочем еще более распространенный вариант – это когда на предложение 17 минут кто-нибудь начинает возмущаться, что вообще весь этот «скрам» - сплошная потеря времени. Вот тут-то можно всласть поплясать на костях «неверного язычника».
Вы можете спросить, а зачем? И вообще, а менеджер, что ли, сам не видит? Менеджер может и видит, более того, может и сам считает, что эти лишние две минуты – ерунда. Но вот то, что вы настояли на своем, поплясали на костях, и команда сделала как вы хотели, показывает, что вы – «лидер», что за вами следуют. А вот это уже плюс без дураков на любом ревью. По крайней мере, если вы этого не сделали, то вам уж точно припомнят, что у вас не такое уж сильное влияние в команде, а надо бы...
В результате протест против любого идиотизма в рамках подобного мимукраппа превращается из логического разговора в эмоционально-политическую игру «свой-чужой». То есть, мы имеем дело с мемовирусом – набором мемов с якорем и носителем. Якорь «свой-чужой» заставляет членов команды принять мемовирус и подчиниться ему, поскольку мимукрапп обычно запускает менеджер, а уж к нему, ясное дело, нужно быть «своим». А потом каждый его носитель начинает его распространять на других как средство расширения своего «влияния» в команде.
К слову, мемовирус – это связный набор мемов с якорем и носителем. Якорь – это мемы из этго набора, заставляющие принять весь комплекс. Носитель – это мемы, засталяющие его распространять дальше. Все остальное – «payload», нагрузка. Если нет якоря или носителя, то нет и мемовируса, а есть просто набор мемов. Скажем, таблица умножения или алфавит – это просто набор мемов, нуждающийся во внешних причинах, чтобы их запомнить или передавать другим. Причины запоминать или распространять в них не встроены. И именно поэтому их так трудно запоминать. Я бы не стал этого обьяснять, но судя по комментариям к предыдущим постам, не все это знают.
Ну, а уж когда команда захвачена таким мемовирусом, то включается самооправдание и рационализация, а народ начинает гордо сообщать всем, что «мы эту методику используем и получается!» Что является уже вторичным носителем, распространяющим мимукрапп вне пределов команды.
С другой стороны...
Собственно, надо признать, что менеджер вводит мимукрапп не от хорошей жизни. Ему-то ведь надо и проект в срок сдать и начальство успокаивать, что все по плану, и какой-то механизм заметания под ковер того, что не лезет. И все эти методологии в этом помогают, по крайней мере с двумя последними пунктами.
Скажем в «водопаде» всегда можно отложить фичу, которую не успеваешь, или даже баг в следующую версию. Конечно, будет мотание хвостом и шевеление ушами, которое надо истолковать ((с) «Повесть о Ходже Насреддине» Соловьева), тем не менее это дает процесс не сделать что-то запланированное с самого начала и все-таки отчитаться о победе. В «скраме» - это перенос на следующий «спринт». В XP я даже не уверен что, но тоже должна быть такая возможность. А уж как хорошо начальству все это докладывать. Одни burndown charts в скраме чего стоят. Красиво. Наглядно. Понятно. И понятно, что все что не лезет заметается под ковер (см. выше как), но зато план по валу, вал по плану. А как еще?
То есть, мимукрапп по сути не является проблемой сам по себе, это лишь симптом другой, более серьезной проблемы. Как я уже писал не раз, мы живем во время смены общественно-экономической формации. Индустриальный социализм по обе стороны океана успешно справлялся с индустриальными рабочими при помощи иерархического менеджмента. С начала 60-х производительные силы и их технологический уровень переросли рамки, в которых иерархический менеджмент эффективен, приводя к сбоям. С «работниками знания» уже невозможно обращаться как с рабочими, это просто не работает. Стандартной реакцией иерархического менеджмента в таких случаях является «научный менеджмент» Тейлора, который по сути сводится к разбиению сложных операций на простые шаги и использованию более дешевой рабочей силы тупо повторяющей эти записанные шаги. В начале двадцатого века именно так были разрушены профсоюзы арсенальных рабочих и производителей оптики, а потом тот же метод успешно применялся много раз. Отсюда и прут все эти методологии.
Проблема только в том, что если проанализировать и разбить на шаги производство первой версии, скажем, игрушки «Минера», то потом сколько ни повторяй эти шаги, а все что будет получаться – это все та же первая версия игрушки «Минера». Чтобы сделать Word или PowerPoint шаги должны быть другими. Но соблазн для иерархического менеджмента все равно слишком велик, а понимания все равно слишком мало. Вот и накатываются на нас волны мимукраппа за мимукраппом. И будет это продолжаться пока будут продолжаться попытки управлять работниками знания при помощи иерархического менеджмента.
В общем-то даже и понятно, что придет на замену. Иерархический менеджмент в работниками знания не работает, а вот сетевой, вроде того, что делается в Гугле или сеть PM’ов на Майкрософте – работает.
А напоследок я скажу...
... что вся эта моя критика вовсе не отменяет того здравого, что есть в этих методиках.
Я вообще-то с этого начал, но некоторые люди удивительно тупы, игнорируют прямой текст, а потом начинают топать ногами и кричать, что «они делали и у них получалось», и вообще, не лез бы ты, Элдар, в калашный ряд... Так вот, я полностью одобряю идею подумать, прежде чем писать код; знать, что требуется, перед тем как делать дизайн; собираться на летучки, чтобы вся команда была в курсе кто что делает и нет ли у кого проблем; иметь более одного члена команды, способного исправить конкретный кусок кода и так далее. Я даже понимаю ценность процесса как такового, когда иногда не важно, прыгнуть на левой ноге или на правой, но надо чтобы все прыгнули на одной и той же ноге.
К слову, как обычно с персонального блога...
Я просто указываю на проблемы, которые применение подобных методик нередко создает. И да, я их преувеличил, для внятности. До серьезных проблем они дорастают только в очень больных организациях, в которых мне, слава Богу, уже давно не приходилось работать. Тем не менее, я считаю, что об этих проблемах надо знать, о них надо думать, и если вы – менеджер, то следить, чтобы они не выросли до серьезного масштаба и не влияли на ваши решения. Поскольку обидно терять из-за них хороших людей, и опасно продвигать из-за них плохих. И важно также понимать, что это не панацея для лечения когнитивного диссонанса у высшего менеджмента, а лишь способ ограничить его негативные последствия для вас. А в остальном... ну, мимукрапп. Ну и что? Ничего страшного. В конце концов, почему бы и не поплясать чуть вокруг костра?