Вышел очередной Technology Radar - пожалуй единственный дайджесn того что происходит в мире технологий.
Ниже мой субъективный обзор последнего радара (то за что зацепился глаз).
1. Канареечные билды (Canary Build) как техника интеграции с новыми версиями зависимостей.
2. ATOM-фиды для передачи как средство асинхронной передачи цепочек событий - отличная оригинальная идея, надо пробовать.
3. Упор на local storage и синхронизацию - очень большое поле для граблей.
4. Использование механизмой заложенных в криптовалюты как proof of work для банковских и прочих приложений.
5. Лютый buttheart у меня вызвал тренд на использование языков программирования (давайте честно - Python!) как средство допиливания CI/CD - сколько боролись, а оно все живо. Тваюмать!
6. Mesos - пожалуй это будет buzzword следующего года.
7. Jackrabbit Oak - непонятно зачем и откуда идет тренд.
8. Netflix OSS - ну так как его пиарили, совершенно неудивительно что поперло.
9. Software Defined Network - а вот это да, сурово, страшно, но видимо нужно.
10. Nashorn... Пусть говорят. Пока только Netflix показал напаркуа оно.
Что бросилось в глаза еще - попытки воскресить Haskell и набор странных инструментов (Postman, Retrofit, Dashing, Balckbox, бла-бла-бла), которые проще сделать самому и под себя чем опиливать готовое.
Прямой линк на скачивание.
Почитать онлайн.
Заметки о разработке, тестировании, управлении проектами, людях в ИТ.
26 февраля 2015
24 февраля 2015
Напочитать: Человеколюбивое
1. "Несколько недель спустя мы поняли, что этот подход не имеет ничего общего с реальностью." - том как "Кнопка" внедряла холократию.
2. Математики все-таки пытаются описать кашу в головах людей. Получается у них, честно сказать, хреново, но подвижки есть.
3. Эксперимент "Вселенная-25". Я просто процитирую.
Символом этой стадии стало появление новой категории мышей, получившей название «красивые». К ним относили самцов, демонстрирующих нехарактерное для вида поведение, отказывающихся драться и бороться за самок и территорию, не проявляющих никакого желания спариваться, склонных к пассивному стилю жизни. «Красивые» только ели, пили, спали и очищали свою шкурку, избегая конфликтов и выполнения любых социальных функций. Подобное имя они получили потому, что в отличие от большинства прочих обитателей бака на их теле не было следов жестоких битв, шрамов и выдранной шерсти, их нарциссизм и самолюбование стали легендарными. Также исследователя поразило отсутствие желания у «красивых» спариваться и размножаться, среди последней волны рождений в баке «красивые» и самки-одиночки, отказывающиеся размножаться и убегающие в верхние гнезда бака, стали большинством4. "We have no managers, not even a CEO, None of the 30+ consultants are actually employed by Crisp" - О том как одна из самых успешных консалтинговых фирм управляет собой - теперь в open-source.
5. Очень большое интервью о религии и теологии. Быть атеистом - это тоже самое что каждое утро вставать и тащить себя в тренажерный зал и заниматься там - тяжелая работа над собой, с травмами, растяжениями и полным отсутствием гарантий увеличения продолжительности жизни. А быть верующим - это просто и естественно, как валятся в кровати.
6. "Для начала оплатить конференцию самостоятельно.Ехать одному или максимально отделиться от коллег.Победить социофобию - подойти и спросить.Не уходите сразу после последнего доклада." - Максим Захаров простыми словами о том как ходить на конференции
18 февраля 2015
Напочитать: React-ивный однострочный выпуск.
1. Отличный крэш-курс по началу работы с PowerShell.
2. Виртуалка из VirtualBox в VmWare - да, теперь легче.
3. React... каждый год в мире фронтенда появляется очередной "убийца" всех предыдущих достижений. Но в этот раз все серьезно - Netflix и Facebook как бы одобряют. В связи с чем и нам пора бы посмотреть в ту сторону. Раз и два (на мобилках,но нативный)
4. Тесты на JavaScript в Java... Netflix Test Studio - читать тут. Естественно Nashorn и Java 8.
5. Тормозит Android приложение???? Может быть это потому что его написали на Groovy 2.4, который теперь официально поддерживает Android-разработку (вот и примеры уже подоспели). Правда теряет контрибьюторов.
6. В Microsoft родили первый Docker image. И с чем бы вы себе думали??? С ASP.NET 5.
7. О том почему не нужно шарить код между микросервисами. И это имхо правильно - грабли и баги должны быть в одном месте, нефига их шарить в виде библиотеки.
8. Джери Вайнберг о том во что превращаются хотфиксы - от 42 миллонов до 1,1 миллиарда долларов.
9. Отличный вводный курс про Annotation Processing в Java.
10. Microsoft заопенсорсило свою сериализацию - Bond - правда с компилятором на Haskell :)
11. BTrace...Я о нем уже когда-то писал, но он до сих пор не сдох и выглядит няшно. А еще ведь есть Byteman.
12. О том как искать долгоиграющие потоки в Java простым кодом - тут.
P.S. Гуманитарный скоро.
Ярлыки:
напочитать,
annotations,
bond,
btrace,
bug cost,
design,
docker,
groovy,
java,
microservices,
Microsoft,
nashorn,
powershell,
react,
software failures,
threads,
virtualbox,
vmware
09 февраля 2015
Ретроспективы в командах: Начало и сбор данных
Продолжу начатое.
Про общие моменты я рассказал в прошлом посте, теперь ближе к конкретике.
Сегодня поговорим про то как начинать ретроспективу и собирать данные.
Я приведу картинку из презентации Бориса Вольфсона на которую ссылался раньше - самому рисовать лень.
Итак вы собрали своих коллег или подчиненных в одной комнате, отрезали им путь к отступлению и вот-вот начнете ретроспективу.
С чего начать это действо?
Я рекомендую с подготовки самого себя и мероприятия.
Что нужно сделать:
Лично я задумался над этим вопросом тогда, когда пригласил на ретроспективу команды сторонних людей.
И вот тут встала задача: с одной стороны у меня есть команда которая уже знает и понимает что к чему, с другой - люди которые вообще в этом вот первый раз, и надо быстро привести мозги вторых к состоянию мозгов первых - вопрос как ?
В таком случае я рекомендую начать с мантры.
Просто проговариванием мантры вы людей не настроите ни на что - эти слова нужно подкреплять делами, но об этом позже.
Основная магия ретроспективы сводится к тому что вы вытаскиваете людей в безопасную зону где им не страшно признавать свои ошибки и промахи, и настраиваете их на работу с этими ошибками.
А задача начала ретроспективы - переключить людей из их обычного режима функционирования мозга в режим ретроспетивного анализа.
Один знакомый рассказывал что команда которая делала ретроспективы три года практически одним и тем же составом. Для того чтобы попасть в комнату где проводилась ретроспектива им всем нужно было пройти через длиннющий коридор между зданиями. Так вот по наблюдениям моего знакомого после полутора лет проведения ретроспектив у членов команды чуть ли не автоматически врубался ретроспективный режим при прохождении коридора (привет Павлову и сигнальной системе).
Сколько я их не крутил у меня наибольшую эффективность показывает обычная классическая доска.
У нас она выглядит так.
Названия колонок мы обычно не пишем, а рисуем смайлики.
Почему именно такие колоки? Выработано методом проб и ошибок. В настоящий момент команда является географически распределенной, поэтому есть специальная колонка "Просто было" которая позволяет свести воедино видение всех членов команды о самых значимых событиях за рассматриваемый период. Иногда из этой колонки удается узнать что-то интересное.
Про колонку "Хорошо" рассказывать особо нечего. Если команда не видит у себя ничего хорошего - то это с одной стороны проблема которую уже надо решать, а с другой стороны у нормальной команды эта колонка всегда самая "худая" - в колонке "Плохо/Улучшить" всегда больше.
Вот тут вот Денис Миллер пишет что колонка Плохо - она для нытиков, у настоящих джедаев колонка называется "Улучшить". Мне такая мысль не нравится по той причине, что получается так, что настоящие джедаи приходят на ретроспективу с уже проанализированной проблемой, и точно знают что надо улучшать. В моей практике я чаще вижу обратное - люди могут формулировать несколько проблем, которые имеют одну общую корневую причину, но не догадываться об их взаимосвязях.
Итак, вы и ваши коллеги/подчиненные стоите около доски с маркерами в руках и.... Кто-то должен повесить первую проблему или первый положительный момент на доску, и этим кем-то по крайней мере в первый раз скорее всего придется быть вам, то есть фасилитатору всего этого мероприятия.
Смотрим пункт про подготовку - там рекомендовалось заготовить пару проблем или хороших моментов - вот для этого они и нужны. Кто-то должен показать всем что нужно делать, и как, хотя бы в первый раз. Тут опять же стоит соблюдать некоторые правила - если та проблема которую вы вытащили на обсуждение не является проблемой с точки зрения команды, то вполне возможно вам следует отступить, хотя бы на время.
При сборе данных нужно соблюдать несколько рекомендаций:
Теперь хочется рассказать немного о том чего следует избегать при сборе данных.
Что бывает:
Это те социальные моменты которые встречались мне, список естественно может меняться.
Самое главное от чего я хочу вас предостеречь - не нужно продавливать команде решение "настоящих проблем" по крайней мере на первых ретроспективах пока у вас этот процесс налаживается.
Пусть команда привыкнет к практике. Если все получится сделать правильно они сами со временем найдут и вытащат на доску "настоящую проблему" и будут ее решать.
Привычка анализировать и решать свои собственные проблемы гораздо важнее решения конкретной проблемы.
Если вы менеджер или тимлид, то сбор данных на ретроспективе может быть для вас очень ценным источником информации о процессах взаимодействия и конфликтах в команде.
Проблема тут только в том, что неожиданные факты и нюансы взаимодействий вы можете увидеть только на ретроспективе, а проанализировать вы сможете их только потом.
Писать далее общие мысли на тему сбора информации лень, с удовольствием отвечу на вопросы.
Про общие моменты я рассказал в прошлом посте, теперь ближе к конкретике.
Сегодня поговорим про то как начинать ретроспективу и собирать данные.
Я приведу картинку из презентации Бориса Вольфсона на которую ссылался раньше - самому рисовать лень.
Итак вы собрали своих коллег или подчиненных в одной комнате, отрезали им путь к отступлению и вот-вот начнете ретроспективу.
С чего начать это действо?
Я рекомендую с подготовки самого себя и мероприятия.
Что нужно сделать:
- Забронировать переговорку
- Листы А3 и больше, маркерная доска или флипчарт тоже подойдет.
- Маркеры
- Можно стикеры, можно без них.
- Если есть возможность - вода в бутылках
- Пара явных проблем или хороших моментов, которые уже можно повесить на доску
- Результаты улучшений с предыдущей ретроспективы (если они есть и если положительные)
Как и писал ранее - никаких ноутбуков, планшетов. С телефонами сложнее - отлучить человека от мобильного на время ретроспективы сложно, но можно. Просто скидываем все телефоны в дальний угол комнаты, предварительно переведя их в безввучный режим. Кому надо - поднимут попу, выйдут и поговорят - это конечно потеря человека который вышел поговорить, но не потеря всех.
Начало.
Вот теперь точно все - все кто нужен все в комнате, доска или листы на которых можно визуализировать подготовлены, можно начинать. А с чего начать? Этот вопрос стоит еще более остро если вы делаете ЭТО в первый раз.Лично я задумался над этим вопросом тогда, когда пригласил на ретроспективу команды сторонних людей.
И вот тут встала задача: с одной стороны у меня есть команда которая уже знает и понимает что к чему, с другой - люди которые вообще в этом вот первый раз, и надо быстро привести мозги вторых к состоянию мозгов первых - вопрос как ?
В таком случае я рекомендую начать с мантры.
Несмотря на наши текущие и предыдущие результаты, мы считаем что каждый из нас сделал все возможное чтобы сделать свою работу наилучшим образом. Мы собираемся здесь не для того чтобы виноватить кого-то или устраивать охоту на ведьм,а для того чтобы сделать делать свою работу лучше.Это очень вольная трактовка, дословно в оригинале звучит так "В независимости от того, что удастся выяснить в результате ретроспективы, каждый член команды сделал всё, чтобы добиться успеха".
Просто проговариванием мантры вы людей не настроите ни на что - эти слова нужно подкреплять делами, но об этом позже.
А задача начала ретроспективы - переключить людей из их обычного режима функционирования мозга в режим ретроспетивного анализа.
Один знакомый рассказывал что команда которая делала ретроспективы три года практически одним и тем же составом. Для того чтобы попасть в комнату где проводилась ретроспектива им всем нужно было пройти через длиннющий коридор между зданиями. Так вот по наблюдениям моего знакомого после полутора лет проведения ретроспектив у членов команды чуть ли не автоматически врубался ретроспективный режим при прохождении коридора (привет Павлову и сигнальной системе).
Сбор данных.
Существует тьма приемов собрать и структурировать информацию на ретроспективе.Сколько я их не крутил у меня наибольшую эффективность показывает обычная классическая доска.
У нас она выглядит так.
Почему именно такие колоки? Выработано методом проб и ошибок. В настоящий момент команда является географически распределенной, поэтому есть специальная колонка "Просто было" которая позволяет свести воедино видение всех членов команды о самых значимых событиях за рассматриваемый период. Иногда из этой колонки удается узнать что-то интересное.
Про колонку "Хорошо" рассказывать особо нечего. Если команда не видит у себя ничего хорошего - то это с одной стороны проблема которую уже надо решать, а с другой стороны у нормальной команды эта колонка всегда самая "худая" - в колонке "Плохо/Улучшить" всегда больше.
Вот тут вот Денис Миллер пишет что колонка Плохо - она для нытиков, у настоящих джедаев колонка называется "Улучшить". Мне такая мысль не нравится по той причине, что получается так, что настоящие джедаи приходят на ретроспективу с уже проанализированной проблемой, и точно знают что надо улучшать. В моей практике я чаще вижу обратное - люди могут формулировать несколько проблем, которые имеют одну общую корневую причину, но не догадываться об их взаимосвязях.
Итак, вы и ваши коллеги/подчиненные стоите около доски с маркерами в руках и.... Кто-то должен повесить первую проблему или первый положительный момент на доску, и этим кем-то по крайней мере в первый раз скорее всего придется быть вам, то есть фасилитатору всего этого мероприятия.
Смотрим пункт про подготовку - там рекомендовалось заготовить пару проблем или хороших моментов - вот для этого они и нужны. Кто-то должен показать всем что нужно делать, и как, хотя бы в первый раз. Тут опять же стоит соблюдать некоторые правила - если та проблема которую вы вытащили на обсуждение не является проблемой с точки зрения команды, то вполне возможно вам следует отступить, хотя бы на время.
При сборе данных нужно соблюдать несколько рекомендаций:
- Каждый может написать то, что считает нужным в любую колонку
- Мнения могут расходится и это нормально (такая халява для фасилитатора бывает, но редко :)). Расхождение мнений как раз отличный материал для дальнейших обсуждений.
- Каждая записанная мысль должна быть понятна всем участникам (и переформулирована так чтобы была понятна )
- На ретроспективе нет никаких "Они плохие", есть только "Что мы можем с этим сделать?"
Теперь хочется рассказать немного о том чего следует избегать при сборе данных.
Социальные моменты при сборе данных.
В ретроспективе у вас участвуют люди, между ними есть какие-то связи, и не всегда положительные. Можно свято верить в то что все на ретроспетиву приходят с чистой головой и холодным разумом, но контролировать процесс все-таки нужно. Первое место - сбор информации.Что бывает:
- Конфликт между двумя и более участниками команды. Обостряется когда один из конфликтующих вывешивает проблему на доску, а оппонент(-ы) начинают "запинывать" проблему в обсуждении пытаясь убедить всех что это не проблема.
- Решение проблемы большинства. Ситуация: в команде 5 разрабов и 1 тестировщик. Вполне естественно что 5 разрабов видят может быть в 5 раз больше проблем в разработке, чем один тестировщик в тестировании. Но это совершенно не повод не обсуждать и не решать проблемы связанные с тестированием.
- Проблема-беспризорник. Вся команда знает что существует проблема, но никто не хочет вешать ее на доску чтобы потом самому же ее не решать. Обычно это признак глубокого технического долга и не первой стадии морального разложения коллектива. Частный случай данного паттерна - решение только "удобных" проблем или переформулирование проблемы тактм образом чтобы не касаться ее действительного решения.
- Проблема не на нашей стороне. С наличием проблемы все согласны в ходе сбора данных, но она вдруг становится "не нашей" проблемой, в ходе ее более глубокого рассмотрения.
- Нытье. К сожалению это так - если вам удалось внести людям в голову ощущение безопасного места для анализа происходящего, то они могут начать ныть. Это бывает, можно даже сказать что бывает со всеми время от времени. Мой рецепт тут прост - дать время наныться, а потом методично загонять в сторону решения проблем. Просто "нажать" на одного конкретного "нытика" или "нытиков" нельзя - таким простым движением вы показываете внутренним нытикам каждого человека (а они есть у каждого в той или иной степени) что здесь ему - нытику - не безопасно.
Это те социальные моменты которые встречались мне, список естественно может меняться.
Самое главное от чего я хочу вас предостеречь - не нужно продавливать команде решение "настоящих проблем" по крайней мере на первых ретроспективах пока у вас этот процесс налаживается.
Пусть команда привыкнет к практике. Если все получится сделать правильно они сами со временем найдут и вытащат на доску "настоящую проблему" и будут ее решать.
Привычка анализировать и решать свои собственные проблемы гораздо важнее решения конкретной проблемы.
Если вы менеджер или тимлид, то сбор данных на ретроспективе может быть для вас очень ценным источником информации о процессах взаимодействия и конфликтах в команде.
Проблема тут только в том, что неожиданные факты и нюансы взаимодействий вы можете увидеть только на ретроспективе, а проанализировать вы сможете их только потом.
Писать далее общие мысли на тему сбора информации лень, с удовольствием отвечу на вопросы.
05 февраля 2015
Software Stories: Про ROI и смелость
- Деда, а что такое ROI ?
- ROI... Это ты где такое слово-то услышал, внучок?
- Это нам в школе на уроке Test Management-а сказали. Сказали, что когда планируете автоматизацию тестирования нужно сначала посчитать ROI.
- Посчитать... - дед выплюнул кусочек табака из папиросы себе под ноги, поморщился так как будто у него прихватило спину, но на спину он не жаловался с утра, видимо слово ему не понравилось. - ROI, внучок, это такая цифра, которая иногда с жизнью не имеет ничего общего. Посчитать то его конечно можно, но кто ж тебе сказал что ты сделаешь это правильно.
- А как же тогда ...? Как автоматизацию планировать?
- Головой, Васька, головой. Планировать и перепланировать надо головой. И автоматизацию тоже.
- Деда, а расскажи как вы планировали автоматизацию тестирования?
- А мы, Васька, не планировали. У нас был приказ - автоматизировать. И мы автоматизировали.
- Деда, но надо же как-то понимать что это эффективно или неэффективно?
- Надо.
- А как вы понимали?
- По людям.
- Это как ?
- Служил я тогда еще в другом полку. Собственно в полк меня и взяли, чтобы я автоматизацией там занимался. Но ни про какие ROI там никто не знал. А если и знали, то не считали - если посчитать то очень уж мало получится. Но потребность все чуяли - люди в тестировании зашивались и гибли. Делали они софтину, которая садится на операционную систему, вставляет в нее свои драйвера. При том каждая следующая версия операционки отличается в этом месте от предыдущей. Какая-то больше, какая-то меньше - но отличаются. Поэтому протестировать софтину нужно не только целиком на одной операционке, а еще хотя бы по чуть-чуть на каждой из семейства. Работа не сложная, но тупая. И вот эту работу мы автоматизировали. Поддерживать такую автоматизацию - был еще тот адок, но поддерживали. Даже человека потом отдельного именно на саппорт этого отрядили.
- А зачем, деда?
- А затем, Васька, что люди имея такую автоматизацию у себя за спиной смелее стали. Потому что ты точно знаешь что если твой рефакторинг сломал встраивание в систему - это найдут. А остальные вещи - это люди искать должны. Там сложный софт был, такой автотестами сильно не накроешь.
- Деда, так как вы понимали что вы эффективно автоматизировали?
- А как ты Васька смелость померяешь ?
- Не знаю.
- Вот и я не знаю. Спроси у учителя своего в школе - может он знает. Они теперь все умные...
Дед затушил папиросу, бросил ее в ведро, поднялся и пошел разворачивать тестовую инфраструктуру на Amazon-е. Приближался вечер,скоро соберут nightly-build...
Подписаться на:
Сообщения (Atom)