понедельник, 27 июня 2011 г.

Июньские похождения)

Довольно интересно прошел, ну верней подходит к концу, июнь) Помимо уже отфидбеченного девконфа, успел побывать на agilecamp в Самаре & laf 2011 в Иваново.

Про ажайлкемп уже написали 5-ок отзывов (раз, два, три, четыре), потому сам буду краток и донесу тока, суть и что еще помню через неделю =)
Зато имею возможность сравнить.
Спойлер: аналитики - серьезнее =) Если на ажайлкампе постоянно где-то кто-то ржет, а докладчики шутят, то аналитики  - только на афтерпати, ну или мне так показалось)

Небольшой дисклеймер: все написанное мое субьективное имхо, если что-что написал не понравиться, меня можно найти в моем круге добавить и высказать, все что вы обо мне думаете =)

Сперва про кемп:


День первый:
В общем-то событие было ближе по формату к выездной встрече-тусовочке. Зубров типа Кенинберга (как на ажайлдейс не зазвали), ничего особо вопиюще-нового рассказать видимо не планировали, а планировали, как летний отдых + полезное дело.
Сам я ходил, на продуктовую секцию, т.к. про все инженерные практики знал и слышал, как минимум на ажайлдейз 2011 или читал\ пробовал сам.

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

И к 3ему мастер-классу про сторри-маппинг и бумажное проектирование от Максима Гапонова, оказалось, что продукт получился слишком не качественным, что привело к смуте и разброду), хотя что-то полезное вынести из него можно было.

Единственное что было ново: доклад Бориса Вольфсона про Риск-менеджмент в Ажайл проектах, так, как никто такого еще не пытался рассказывать. Хотя сдается мне от обычного риск менеджмента в не ажайл-проектах он отличается не сильно)
Ну или я что-то упустил). В общем первый день, прошел да и ладно: было заведено пара-тройка новых знакомств, поддержано пара бывших, и поучаствовал в афтер-пати)


День второй
Но второй день был гораздо лучше (положа руку на сердце скажу, чтоб если был только второй день кемп только б выйграл =).
Проснувшись и добравшись до корабля, загрузившись кегами с пивом и снэками - загрузились на кораблик. Честно говоря подумал, что дальше пива и снеков дело уже и не пойдет) Но постепенно разговоры перешли в профессиональную область, в трюме на корме и палубе начали обсуждать интересные и животрепещущие темы)

Если в первый день можно было поболтаться в коридоре, т.к. не боялся что-то пропустить, то на корабле и после стыковки с островком, на которые выгрузили флипчарты и разбились по кучкам хотелось быть в 3х местах одновременно) Часть зубров делились своими Agile-WTF-ами в трюме на корабле, Антон Катков рассказывал свой опыт примения ажайла в Flexis и ревьювил все, то что успел попробовать, Солнцев и Алименков из XpInjection терли темы за жизнь, о том как важно быть эрудированным в разных областях, как например Хиругия и Пмство, и что ИТ - оно новое и переизобретает велосипеды и активное заимствует у более древних профессий типа военных (сразу вспоминаем Влада Балина), политиков и т.д. =)

Ажайл для Дизайнеров
Очень сильно запомнился доклад Алишера Якупов про "Ажайл для дизайнеров", видел его слайды до этого в френдфиде но в живую услышать - гораздо круче.

 Суть Алишер перешел в Мейл.Ру и в частности Одноклассники, чтобы навести порядок и систематизировать дизайн, причем переходил как дизайнер и должен был заработать авторитет и признание коллег, чтобы получить звание "главного" дизайнера\проектировщика\не суть.

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

Помимо этого рассказал интересные инсайды, что вот чуть-чуть добавили зеленого к кнопке и кликабельность регистраций увеличилась на 4-5%, метрики - СИЛА) Можно не опрометчиво говорить вот такая кнопка - лучше, а привести данные и точно сказать - она лучше на 5% =)

Было много еще интересного, но я все не запомнил, а записать - зафейлил)

А теперь про ЛАФ.
All you need is ЛАФ!

На этот раз писал поболее и меньше опирался на память)

Немного об организации:
Мероприятия, проходило оно в Иваново и в Субботу-Воскресенье, с одной стороны хорошо: нет таких диких цен на аренду(да и вобще помещение предоставлял НПО Консультант) и стоимость участия была чисто символической , с другой стороны туда можно было доехать выехав в 4-5 часов утра, что многие и сделали, в результате чего были довольно сонно-убитые (по крайней мере Я =)).

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

Конференция так же состояла из 2х дней и оба были хороши =)

День первый:
По прибытия нагрузился кофе, так, что вобще перестал ощущать что-то из внешних раздражителей кроме нагретой головы и "познакомился" с Иваном Касатенко, с которым перекинулся парой фраз еще на ДевКонфе, дождавшись начала конференции и обсудив с Иваном и его коллегой-девушкой (сорри не записал как зовут =)) необычно-высокую плотность девушек на квадратный метр (наверно 20-30 % человек) для ИТ-конференции (так, вот куда уходят девушки в Ит - в аналитики =)).

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

Начал слушать Ирину Левенец про управление ожиданяи в продуктовой разработке, послушал чуть-чуть рекламы, почувстоввал что не "прет" и решил, что если захочу послушать про управление ожиданиями и общение с заказчиками так почитаю\послушаю Сергея Бережного, так что убежал на круглый стол к Денису Бескову "Методики расчета эффективности системного аналитика". Денис - был некогда охарактеризован коллегой как "очень крутой чувак" при просмотре кого он там фолловит в френдфидике и характеристику свою подтвердил =).

Денис - руководитель отдела системных аналитиков в Касперском, и в подчинении у него что-то околj 40 человек, и проблема как же оценивать Аналитиков и показывать бизнесу, что они полезные люди и проектам помогают стоит вполне насущно)
Были предложены разные подходы и метрики, типа:
соотношения времени на работу  к календарному времени,
количество\качество генерируемых артефактов,
различные виды Peer(которое достаточно быстрое, т.к. "3 листа в день пишешь, а 5 листов в час -читаешь"(с) Мартыненко Сергей) и не очень peer-review,
оценка количества багов из-за некачественной аналитики(вроде бы у товарищей из Епама была в этом проблема, до 50% времена баг-фиксинга уходило на исправление ошибок из-за неправильной аналитики) и т.д.
Попутно обсудили:
что должен уметь аналитик: коммуницировать, строить процессы
всегда ли он нужен(т.к. 5 разработчиков делают проект на 15% быстрее быстрее, чем 7 разработчиков + пм + 4 тестера + 2 аналитика),
как проверить результыта его работы:
матрицы "Обьект \ Действие", "Судьект \ Действие" (по личному опыту Сергея позволяют выявить еще +80 требований к тем 16, что написал аналитик =)) и наличие требовний в виде тестов,в результате обсуждения последней темы, вобще дошли что надо писать тесты(типа спецификаций, а не юнит-тесты) а потом спецификации (везде ТДД проникает - даже в аналитику =)).

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

Второй круглый стол вел Юрий Веденин "Оценнка рабоыт аналитика: качество через количество". Юрий в своей компании является аналитиком в предпродажном отделе, где они пишут Proposal`ы для тендеров, и у него тоже стоит задача объяснить руководству, что они пишут лучше пропоузалы, чем допустим производстенный отдел. Юрий оценил все свои пропозалы и создал некий чек-лист идеального пропоузала и выставил коэффициенты важности тех или иных пунктов и задался вопросом, а можно ли через этот чеклист оценить качество работы, если да - то соответствие чек-листу будет коррелировать с успешностью выигрывания тендеров, и профит от него есть. В начале дискусии посетила забавная мысль, что создание чек-листа попытка в аналитике создать некий аналог Definition of Done в ажайл-проектах.

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

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

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

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

Мне было интересно, т.к. никогда особо не задумывался, что разные форматы - удобнее разным группам пользователей,  привык писать текстов - написал текстом, привык рисовать диаграммы - на том и остановился. Ирина же решила сравнить, что Действительно удобно коллегам\разработчикам\тестировщикам\пользователям и всем остальным, построила матрицу вида:
текст | таблица | картинки | диаграммы x Пользователи | Разработчики | Методология | Коллеги-Аналитики | и т.д. и нашла, что подходит ЕЙ в ее ситуации и компании. За обед рассказывали, что им мол было скушно, но меня всегда восхищает, что кто-то задумался над тем, что я например всегда делал по "привычке"\умолчанию.

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

Потом был доклад Ильи Корнипаева по теме "Требования к ПО и использование творческих методов", Илья пересказывал тренинг какого-то известного чувака разработчика требований, который был на (после) Софтвейр Пипл, и вобщем-то все свелось к пересказу + разговорам, что я это не пробовал, но выглядит уже знакомым и не особо полезным. Что-то полезное и интересное записал, но доклад в целом выглядит слабо.

После пошел на мастер-класс Дмитрия Безуглого и Виктории Преображенской "Использование творческих методов в групповой работе", было весело и здорово, виктория в кратце рассказала про подход design thinking, это когда команда хирургов (психо)аналитиков собирается вместе и, задавая перекрестно клиенту вопросы, добивается от него понимания, что же ему на самом деле надо и какую его проблему решить)
После чего 15 минут попытали нашего подопытного, у кого была проблема переизбытка информации и пришли к выводу, что хочет он профессионального признания и внимания у девушек и потому то так много и читает.
И в идеале хотел бы получать важную и своевременную инфу прямо в мозг) Вроде получилось вполне правдо-подобно)

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

Отдых в Малинках. День второй.

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

На второй день погуляли по Малинкам, позагорали, некоторые покатались на лошадях ближе к 11-12 все повыползали из домиков, и потянулись к беседке с флипчартом для круглых столов, первый круглый стол "Про игры для качества По" от Эдуарда Галиаскарова я все пытался не заснуть, т.к. как-то рано встал и на воздухе быстро расслабился, и все время клевал носом и делал дыхательные упражнение, чтоб совсем не упасть со скамейки, посему ничего путного не напишу.

После первого круглого стола подоспела первая партия шашлыка и силы пришли  ко мне) Во время всеобщего голосования решили обсуждать вопрос как же найти Хорошего Аналитика (рекрутерский вопрос для компаний видимо, как квартирный вопрос для людей =)). 

Дмитрий Безуглый рассказал, что же он ищет в хорошем аналитике, и свою градацию мастерства - RS(Requirement Specifier) - System Analysist - Business Analysis - Product Owner\Product Manager. В общем-то по большей части мне показалось, что эти качества схожи с теми, что нужны качественному пму: типа коммуникативности, многозадачности, организованности(так что идите почитайте Орлова, а то мне лень расписывать) ну и плюс интеллекта: вербального и визуального, а по остаточному пунктам идет знание системного анализа, и знание предметной области. Но в целом было полезно и приятно послушать. Да и Дима Безуглый сразу видно может, умеет и хочет рассказать полезно, приятно и интересно.
Эта тема захватила народ, и собственному всю оставшуюся часть дня, до того как я уехал в беседке обсуждали как интервьюировать, так чтоб не было безумно жалко потраченного времени, рассказывали и придумывали кейсы: как проверить те или иные качества.

Второй день мог бы быть подлинее и побольше.

Жалею, что как-то пропустил тот момент, когда большая часть народа рассосалась от беседки в разные стороны и я не пораздовал визитки, как завещал товарищ Орлов и товарищ  Дарси Резак. По моему кругу как-то восстанавливать по именам и списку участников, тех кого запомнил - неудобно)
Так, что  всем кому мое лицо кажется знакомым - зафрендить меня на моемкруге.

вторник, 14 июня 2011 г.

Управление проектами и жизнью: боевые действия и борьба

War, war never changes (c) Fallout
По совету товарища gaperton'a(Влад Балин) решил почитать "33 стратегии войны" Грина и Клаузевица "О Войне". 

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

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

1) делаются большим количеством людей с противоречивыми мнениями чего им надо
2) ведутся с целью профита, 
3) высокорисковее некуда 
4) зачастую с использованием последних технологий и новейших методологий
5) тысячи стейкхолдеров (целые государства)
6) много топ-менеджмента
7) да и вобще военное дело вполне себе такой двигатель процессов 
8) "любой другой эпитет применимый к софтверному проекту ..."

Трение

От Клацзевица помимо интересных мыслей, о том, что же такое война(хинт: крайне агрессивный способ достижения своих целей и просто одно из средств политики) и какое место она занимает в человеческой жизни\жизни государств и т.д. можно почерпнуть очень интересную мысль "трения".  

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

Если бы не "трение", войны могли бы идти по плану, по бумаге: 
полководец а: - ага, для нас лучшей стратегией было бы вот это: ******.
полководец б:- а мы бы могли отреагировать лучшим образом только, так ******. 
полководец а: - в итоге по расчетам мы выигрываем, что бы вы не сделали!
полководец б: - ок, шах и мат, забирайте вот эту территорию - вы победили.
Маловероятно не правда ли ?)

И это трение не возникает в немногих местах механизма которые взаимодействуют, оно возникает повсеместно, во всей системе, и потому оно так страшно и неконтролируемо.

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

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

Борьба и противостояние

Жизнь - есть постоянное сражение: борьба, конфликты, противостояние себе, миру, коллегам, конкурентам, "ктоещетам" - ведь не поспоришь ?)  
Что-то или кто-то мешает нам добиться своего, получить желаемое и вообще наслаждаться жизнью) 
Знай своего врага %username%! (надеюсь это не ты сам, но даже если так - все равно знать надо). 
И умей противостоять ему не как несмышленный и эмоциональный ребенок, а как логичный и проницательный стратег (от греческого - "Strategos" - полководец). 

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

Вот с какой-то такой мысли и начинается замечательная книга "33 стратегии войны". 

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

Ее нельзя сопоставить исключительно с проджект менеджментом, как предыдущую книгу, ее можно сопоставить c жизнью во всем ее многообразии.

Борьба в обыденной жизни:

Первые (да и по сути все, собранные в книге) стратегии, не являются чем-то особенным или какой-то тайной, они просто расписаны в той форме, которая проникает в сознание и позволяет взглянуть на вещи со стороны битвы и войны.  

Найди своих врагов, узнай кто твой недруг, кто проявляет к тебе враждебность и каким образом!
Какой-то человек может никак не реагировать на твои предложения, да и вобще не проявлять открытой враждебности(а в современном обществе - открытая враждебность чаще всего - неявное табу) или вобще быть вашим другом, чтобы уметь подойти поближе и знать, как побольнее ударить и тем не менее быть вашим врагом (хинт: enemy (враг)
происходит от латинского inimicus (не друг)). 
Знаешь своего врага - можешь объявить ему войну.

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

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

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

И продолжай в том же духе:

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

Распредели силы: контролируй хаос. 
На войне, как я уже говорил есть "трение" - элементы изменчивости, семена хаоса. И важно уметь быстро реагировать и уметь приспособиться к новой ситуации. Разбей своё войско на группы, способные самостоятельно действовать и принимать решения, дай людям миссию и позволь ее выложить. (Вот он lean в действии, а я наивно думал, что это все Тайота ! =) )

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

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

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

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

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

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

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

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

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

Знай где ударить: бей по болевым точкам, у любого человека есть источник его силы - то, что питает его, то что он любит и леелет, то что он бережет. Изучи своего противника, узнай что и где это и ударь в эту "точку". В следующий раз противник крепко подумает а стоило ли оно того.

И так далее ... 

Итого

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

Так, что прочитав не пожалеете, и подумаете, чтобы пора бы применить в повседневной жизни. И будем надеяться нам с вами не придеться быть врагами) 

Да и даже если, вы считаете, что оно вам не надо и мир строится на согласии, конструктиве и win-win`е, то все равно прочитайте - "кто предупрежден - тот вооружен", не зря ведь придумали)

воскресенье, 5 июня 2011 г.

Отчет по Devconf

Дисклаймер:

Вчера (4 июня) прошел 1ый день конференции DevConf. Если регулярно читаешь книжки и статьи в интернете то ожидать, что-то новое наивно, потому в общем-то ожидать узнать о rocket-science сложновато(разве, что по тем темам, что совсем не интересуют =)).

Собственно как это было:

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

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

Потом, пока на ноутбуке настраивали скайп-чатег с Дериком Рейтансом отправился, в руби секцию, т.к. было интересно, чего же там чуваки наизобретали себе для асинхронности, во время доклада чувака все хотел потроллить его, что они пере-изоберили кусочек эрланга, но чувак на вопрос докладчик честно признался, что мол да, так и сделали, чем обезоружил.
Сразу убег в основной зал, где все еще шел доклад Profiling PHP Applications (в основном вобще все шло с 15-30 минутным запазданием), чел рассказывал известные вещи про xdebug, xprof и вроде бы уже все известное, но упомянул и то о чем не слышал: pecl модуль inclued, который позволяет отслеживать графы подключения файлов, еще услышал про XHGui собственно гуи для xhprof.

После этого пошел послушать Вадима Крючкова (Long), о том как работать с "унаследованным" кодом, темой для меня актуальной на текущий момент =) Объяснил все просто и понятно, мол код - наш дом, и порядок в нем нужно наводить начинать самому, разобрался, как работает этот метод - напиши к нему phpdoc, работает ой-как хитро, напиши юнит-тест и потом уже отрефактори его. Молодец, что вобще продвигает этом тему, а то чаще встречается - "работает, не трожь!".  Думаю многим было полезно и по крайней мере структурировало информацию в голове.
После этого забежал в основной зал в ожидании доклада Андрея Аксенова, но там все еще рассказывали про RingoJs, мое отношение к сервер-сайд жаваскрипту довольно скептическое) Но было интересно узнать, что в сем-то они лучше V8 за счет premptive многозадочности у них более честный сшедулинг для большого числа клиентов, и вот в жава 1.7 появился dynamic invocation, что вроде бы сделает этот движок еще быстрее. Узнал, что-то новое по крайней мере)
Пока в основном зале еще договаривали про ринго пошел послушать про созданеи многопоточных приложений на питоне, но там были какие то сильно специфичные вещи для питониство, типа вы используйте модуль threading, а не thread, и т.д. Вернулся в основной зал и стал ждать Андрея Аксенова.

Андрей ЖЕГ, думается как всегда) Честно сказал, что будет рассказывать баяны и иногда с матами и эмоциями) Так и делал, но было интересно)
Рассказывал не технические вещи, а про коммуникации меж программистами и всеми остальными("мерззкие людишки"(с) Аксенов). В общем при общении считайте, что противоположная сторона считает, вас упырем, которой пытается сожрать ее мозг и анально покарать)  Общаемся мы все на разных языках, хоть и на русском, а два программиста с друг-другом так вобще, общаются как два шизофреника с маниакально-депрессивным синдромов, только в разных стадиях этого самого синдрома. Как самый-самый пример, привел создание баг-репортов, когда вам пишут баг, вам нужно больше-больше описания с четкими шагами, а когда пишите вы сами, то обычно это что-то вроде "Не работает 1!1! Почините срочна, пидарасы!" Ну и в общем-то это распостраняеться на общие со всеми, с амдинами, биг-боссами и  стэйкходерами. Секрет к успехи - общаться и пытаться решить проблемы, того с кем общаетесь ну или по крайней мере, общие проблемы. И всегда, всегда считать "я гандон и ты гандон, и это нормально", а не "я Дартаньян, а все пидарасы" =) Чем-то похоже на тренинги Саши Орлова по конфликтам и общению) Единственный доклад, о котором я пожалел, что у меня нет с собой диктофона.

Дальше был обед, на котором обсуждали всякие штуки в неформальной обстановке(хотя организовано это было драконовски: заходим по 8 человек, шнелле-шнелле, занимайте места, шнелле, руссиш швайн), обсуждались клиенты, общение и всякая всячина)

Вместо круглого стола по блицам был доклад про сфинкс, т.к. к этому времени основной зал отстал на уже на час. Пошел послушать про то, как разрабатывался Yii, вроде было скушно навыходи услышал кодовую фразу "динамические опердени на эрланге" и познокомился с товарищем mabrek`ом (Антон Лебедевич), пообсуждали унылость докладов, кроме Аксенова и общих знакомых, поспрашивал какие же опердени разрабатывают на эрланге в России, кроме Эхи и еще пары-тройки мне известных контор использующих его=)

Потом отправились, послушать про rails 3.1, мало ли до чего интересного додумались рубисты.
Некоторым было очень интересно :
Rails 3.1 может убивать людей,
пример с задних рядов)
В основном доклад выглядел так: о вот это прикольная фича, о вот этого мне не хватало, о вот это убирали в предыдущих версиях, а щас опять врубили. Чуваки живо и интересно рассказывали, хоть за, то им спасибо. Не совсем бе запинок, и иногда прикладываясь к фляжке для набор энтуазизма(дает +2 к харизме и уверенности в себе))



Потом пошел послушал про то как разиваются форки мускуля, а то что-то не следил за этим давно, узнал что дрииззл кажеться сдох, мариаДб идет в сторону олап. А все остальные постепенно забываются, отмирают или будут писать патчи к оригинальному мускулю\мариаДб(как например Percona). Было полезно узнать.

Потом был доклад про NoSql, где чувак пересказывал highscalbility.com и другие уже 100 раз рассказанные вещи, кароче свалил я от туда. Послонялся по остальным местам, иногда принимая участие в стихийно-образовавшемся обсуждении сфинкса во главе с Аксеновым, чуть-чуть послушал  доклад про рефакторинг крупного проекта с нуля, но доклад выглядел, как собрание говно кода с этого проекта, и было скучновато. В ощем до кофебрейка в основном обсуждали  сфинкс, и Аксенов делился хитропопыми багами, которые случались только при схождении 3х фаз луны  и получался жуткий-мажик. И про то, что консультанты биллят почасово, из-за того что зачастую для клиента открыть порты к впну, или дать ссш на сервер из-за жесткой политики сродни крестовому походу и может затягиваться на часы при общее по телефону, или на недели и месяцы при общении через почту. И вобще делился байками из работы своей компании.

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

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

После нас выгнал менеджер отеля, т.к. оплачено до 7 и я отправился на афтер-пати в измайловский парк, где травились шутки, пилось пиво, Аксенов рассказывал про реально суровый город Воронеж (из которого, как оказалось он, а я дурак, думал из Москвы =)), и исполнения первого куплета русских народных песен в исполнении Андрея, Владимира Федоркова и еще пары-тройки пьяных программистов)

Итого:

Думаю конференцию можно было безболезненно свести к выступлению Андрея Аксенова, Констатнтина Осипова и потом отправиться нанетворчиватсья в Измайловский Парк и никто ничего бы и не потерял)

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