Управление разработкой *
Планирование, отслеживание и контроль
Платформа как сервис в Авито: как это устроено
Привет, Хабр! Меня зовут Александр Лукьянченко, я тимлид команды, которая занимается платформой в Авито. В этой статье я расскажу о проблемах, которые возникали у нас при построении платформы для инженеров и том, какие технические решения мы использовали, чтобы эти проблемы устранить. Текст охватывает ту часть наших наработок, которые потенциально можно переиспользовать другим компаниям.
Заметки тимлида
В новом направлении у меня много обязанностей. Нужно всегда быть в контексте происходящего. Лид должен успевать делать все, должен быть готов ответить на любой вопрос руководства или сотрудников. Объем информации постоянно растет. В этой статье я расскажу, какую информацию о команде нужно собирать и зачем.
Управление разработкой в «горизонтальных» компаниях: расшифровка онлайн-встречи. Часть 2
На прошлой неделе мы выпустили расшифровку первой части онлайн-встречи «Управление разработкой в «горизонтальных» компаниях», где приняли участие СТО Райффайзенбанка, Mindbox и руководитель разработки в Циан.
Сегодня публикуем вторую и последнюю часть митапа: это вопросы «из зала», которые задали слушатели гостям. Пост получился объемным, поэтому, если не хотите читать, то посмотреть видео можно ниже (запустится сразу с нужного момента — там, где закончилась первая часть).
Истории
Метод «Грозовая туча» помогает разрешать сложные конфликты в проектах
В основе многих наших действий или бездействий лежат неразрешенные конфликты.
Конфликтами пронизана вся наша жизнь, каждый день. Казалось бы, мы должны к ним давно уже привыкнуть и осознав это предпринимать соответствующие действия, но нет, обычно мы предпочитаем оставить всё в подвешенном нерешенном состоянии.
Такова природа человека – конфликты кажутся совершенно неразрешимыми, а когда часто к ним добавляется еще и подсознательная боязнь неудач, которая есть почти у всех, то конфликт превращается в настоящую беду.
Элияху Голдрат, создатель Теории Ограничений, говорил, что конфликтов на самом не существует и мир живет в гармонии. Просто никто не пытается разобраться в причинах конфликтной ситуации.
Голдрат предложил интересный механизм разрешения конфликтов, часто называемый «Грозовая туча». Суть его предложения заключается в том, что если применить системный подход и проанализировать причины возникновения конфликта, то можно будет предложить такое решение, которое полностью устранит конфликт. И оно не будет компромисным.
Многие практики Теории Ограничений утверждают, что «Грозовая туча» работает.
Давайте проверим и попробуем применить разработанный Голдратом алгоритм к нескольким типичным конфликтам из области ИТ. Посмотрим, как это может нам помочь.
Не так страшен черт, как его малюют: как мы перевели разработку ЦФТ-Банк на платформу CFT Platform IDE (Admin 2.0)
Финансовые компании находятся в поисках лучших решений, которые оптимизируют внутренние процессы разработки, разовьют IT-инфраструктуру в соответствии с требованиями бизнеса и позволят им выводить на рынок лучшие конкурентные продукты. Так, два года назад мы ступили на путь перевода разработки ЦФТ-банк на платформу CFT Platform IDE. Среди коллег по цеху ходят слухи, что это процесс невероятной сложности, ввиду чего не решаются приступить к делу. На своем примере мы докажем, что это вполне подъемный процесс и для вашей команды.
Такие разные документы: конструкторские vs. user-oriented
Работа технического писателя – создавать документы на программные продукты, в основном всевозможные руководства пользователя. Разработка документа – дело непростое. Есть очень много подходов и практик. Например, технические писатели в научно-производственных предприятиях часто пишут по ГОСТам или другим отечественным стандартам. Их цель – точно и верно описать продукт. А technical writers в международных компаниях пишут по style guides (Microsoft Manual of Style, например). В этом случае цель, скорее, донести до пользователя, как продукт работает. Здесь фокус смещен с продукта на читателя.
Мне довелось побыть техническим писателем в разных местах, с разными правилами и политиками. Оглядываясь назад, могу сказать, что даже в НИИ тексты можно переориентировать на конечного пользователя, и документы от этого выиграют. Но в ГОСТах про это не пишут. А style guides, во-первых, на английском, а во-вторых, не афишируются в отечественных конторах типа НПП, КБ, и пр. Поэтому есть явная нехватка информации. Я попробую ее восполнить.
«Можно бить разработчиков за баги, а можно внедрить SRE» — о чём говорили на митапе Слёрма
Зачем нужно SRE, когда есть DevOps, что такое SLO и бюджет на ошибки, каким компаниям точно не надо внедрять новую методологию, существуют ли джуниор-инженеры по SRE и сколько платят опытным. Об этом и не только говорили на митапе Слёрма «Профессия SRE: практика и мифы».
На YouTube можно посмотреть видеозапись встречи, а здесь мы приводим текстовую версию разговора с некоторыми сокращениями.
Разработка продукта: в какой парадигме работать?
Бывает, что люди, близкие к теме разработки софта спрашивают: чем проектная работа отличается от создания MVP (Minimal Viable Product)? Понятно, что при этом у каждого спрашивающего свой контекст вопроса — соответственно, отвечать на него надо по-разному. Однако, если обобщить, то проект и разработка продукта сильно отличаются друг от друга. Вообще всем. Это не так-то легко объять, поэтому давайте попробуем разобраться в проблематике.
Проблематизация: проект или разработка продукта
Если смотреть поверхностно, то разработка софта — она и есть разработка софта, будь то проект или разработка продукта. Есть некие функциональные требования — не всегда формализованные. Есть нефункциональные требования — про которые частенько забывают вовсе. Есть разработчики, есть некий условный менеджер, и есть какая-то методология. Разработчики пилят код, менеджер разгребает препятствия у них на пути, решает вопросы с конечным клиентом / пользователем / заказчиком. В конце показывают какой-то результат. Иногда, как любят шутить в индустрии, результат даже соответствует требованиям.
Переезжайте в YouTrack легко
Новая версия YouTrack от JetBrains включает в себя «приветственный набор» функций, которые помогут вашей команде освоить инструмент и максимально быстро втянуться в работу над проектами. Новый интерфейс для импорта задач и проектов упрощает миграцию данных в YouTrack из других систем. А для тех, кто только начинает работать в YouTrack, мы подготовили специальный демонстрационный проект и набор подсказок, которые познакомят вас с основными возможностями системы.
Опытных пользователей тоже ждут улучшения. Мы добавили новый уровень в плоской структуре проектов — организации. Организации позволяют сгруппировать проекты, связанные между собой. Это особенно полезно для больших компаний, насчитывающих множество проектов. Также появилась возможность создавать доски со свимлэйнами (рядами) на основе тегов — теперь вы можете объединить в один свимлэйн любой набор задач.
А теперь поговорим обо всем этом подробнее.
Единороги на страже вашей безопасности: исследуем код Bouncy Castle
Хотите увидеть новую порцию ошибок, найденных статическим анализатором PVS-Studio для Java? Тогда присоединяйтесь к прочтению статьи! В этот раз объектом проверки стал проект Bouncy Castle. Самые интересные фрагменты кода, как обычно, ждут вас ниже.
Как я хотел разнообразить ретроспективы, а сделал собственную карточную игру
В этой статье хочу поделиться своей историей геймификации ретроспективы: как с помощью придуманной мной карточной игры нам удалось разнообразить процесс, сделать встречу нескучной и вовлечь в обсуждение всех участников команды. А также расскажу о нюансах печати своих карточек для игр.
Так выглядит эффективная работа техлида
фото с сайта pilot.com
В 2012 году Джессика МакКеллар с командой друзей из MIT (Массачусетский Технологический Институт) запустила стартап скрытого чата Zulip. Менее двух лет спустя его выкупил Dropbox. И в этом не было ничего необычного. С ее командой такое уже случалось, когда они так же быстро продали Ksplice компании Oracle. Такая бешеная гонка дала МакКеллар больше опыта в разнообразных возможностях менеджера, чем обычный инженер получает за всю карьеру. Она была тимлидом, основателем, техлидом в огромной корпорации, а сейчас руководит десятками сотрудников в быстрорастущем международном стартапе. (Да, она еще и значимая фигура в мире Python). В статье Джессика рассказывает о своем опыте и подходе к управлению командами.
Ближайшие события
От большого энтерпрайза к дуновению стартапа
Меня зовут Сергей Минаев, я руководитель направления администрирования веб-сервисов в компании «Спортмастер». Моя группа занимается разворачиванием и поддержкой всего, что связано с вебом и мобилкой.
Большинство систем мы пишем сами, но в то же время мы иногда используем и коммерческий софт. В целом можно сказать, что мы стараемся работать «модно-молодежно»: у нас есть автоматизация на Ansible (именно автоматизация, а не деплой), у нас есть CI/CD на Bamboo + Bitbucket. Есть оркестрация на Mesos, от него мы постепенно переходим к Kubernetes.
Есть и заявки - это не только взаимодействие с другими отделами, но и взаимодействие разработки-эксплуатации. Поэтому мы смотрим в сторону GitOps.
Наши проблемы
Одна из самых тяжелых проблем - это взаимодействие на уровне “перекидывания через забор”: всё, я работу свою сделал, я закончил, а работает система или нет, это уже не так важно. Перестроить такое восприятие достаточно сложно, мы пытаемся исправлять ситуацию, но дается это нелегко.
Из предыдущего вытекает еще одна проблема — это подход «У меня локально все работает, если у коллег в деве/проде не запустилось — это их проблемы, пускай сами разбираются». Подобная проблема есть, наверное, практически у всех. Как мы стараемся ее решать: по максимуму переносить окружения на единую платформу, в нашем случае Kubernetes с динамическими окружениями.
Как не испортить своего джуна
Меня зовут Дима Вдовин, я разработчик команды корпоративных рисков. Сегодня я хотел бы поговорить о джунах и их интеграции в команду разработки. С одной стороны, тема банальная и известна всем, а с другой, о ней часто забывают или игнорируют. Почему-то многие команды и руководители считают, что джун вольется в коллектив и работу над проектом как-то «самостоятельно», без активной поддержки, а если не вольется — значит он не справляется и не подходит. Это не так.
Мы крупный банк, к нам приходит работать много молодых ребят и в большинстве случаев для них это первая работа такого рода. Это тянет за собой целый ворох проблем, связанный со страхами неизвестности, неуверенностью, боязнью «уронить прод». Они боятся совершить серьезную ошибку, которая поставит крест на карьере в IT. Это сейчас подавляющее большинство из нас — опытных разработчиков — уверенные в себе профессионалы. Мы можем позволить себе хотя бы на время отказаться от подобной саморефлексии и делать «быстрее, выше, сильнее». Многих же джунов одолевают страхи, которые если и не парализуют, то заставляют их выверять каждый шаг.
Устраиваем DevOps без полномочий: Даже «DevOps-инженер» может помочь
DevOps — это история про культуру, коллаборацию и общение, но многие не очень представляют, как будучи скромным исполнителем или тимлидом, повлиять на целый энтерпрайз и сдвинуть организацию в сторону DevOps.
На DevOops 2020 Moscow Барух Садогурский и Леонид Игольник рассказали, какими методами можно воспользоваться для влияния на стейкхолдеров, что кому говорить, как мотивировать и как работать с возражениями. Пожалуй, за исключением парапсихологических практик и гипноза (которые не стоит раскрывать неокрепшим умам), на этом докладе спикеры показали все способы влиять, не имея полномочий на благо наступления повсеместного DevOps в индустрии.
Под катом — расшифровка доклада, а также видео с конференции. Далее повествование ведется от лица спикеров.
Настроили мониторинг. Что дальше?
Одна из моих задач — анализ и повышение качества нашего продукта через системы мониторингов, алармов и сопутствующих процессов. Я на своем опыте убедился в том, что выстроить мониторинг — недостаточно. Сегодня я поделюсь тремя историями из жизни нашей команды: расскажу, как мы искали решения и какие выводы сделали. На мой взгляд, пост может оказаться полезен и разработчикам, и QA-инженерам, и системным администраторам, и тимлидам/техлидам.
Эта статья основана на моем докладе с онлайн-конференции TechLead Conf 2020. Если вам приятнее смотреть видео, оно доступно на YouTube.
Как запустить IT-продукт за 1,5 месяца и не закрыться через полгода с колоссальными убытками
Долгий запуск — опасность для любого проекта. Особенно в IT: eсли мы долгое время не получаем обратной связи от рынка и конечных пользователей — высокий риск сделать никому не нужный продукт.
Такая история произошла с моим знакомым, который имел вполне успешный бизнес в офлайне. Наблюдая за успехами таких сервисов, как avito и carprice, он решил запустить аналогичный онлайн-сервис по продаже недвижимости, в которой у него был 10-летний опыт.
Идея монетизации — оплата за размещенное объявление об объекте и помесячная подписка на расширенные инструменты для продажи недвижимости.
Для этого заказал разработку функционального онлайн-сервиса с внутренней CRM-системой, мессенджерами и сложной системой аналитики за 1.5 млн. рублей и 5 месяцев работы, снял офис, нанял менеджеров и запустил рекламу.
Примерно за полгода затраты превысили 2,5 млн. рублей и, судя по динамике, это было только начало.
Управление разработкой в «горизонтальных» компаниях: расшифровка онлайн-встречи. Часть 1
30 октября мы провели встречу с СТО и техническими руководителями Райффайзенбанка, Mindbox и ЦИАН, где за два часа постарались максимально охватить непривычную для российского рынка IT-компаний тему управления разработкой без менеджеров. В ходе разговора выяснилось, что «плоскость» («горизонтальность») у каждой из приглашенных компаний — своя. Под катом — видео со встречи и расшифровка первой ее части.
Митап был длинный и насыщенный, поэтому мы разделили его на два поста: первый, вы читаете его сейчас, — это ответы гостей на вопросы, которые выбрали в нашем сообществе в Фейсбуке; вторая — ответы на вопросы «из зала» от слушателей — выйдет на следующей неделе.
Использование Azure DevOps от разработки до сборки релиза в Dynamics AX 2012
Меня зовут Игорь Глухов, я разработчик MS Dynamics AX в компании Lamoda. В этой статье речь пойдет о том, как мы начали использовать в качестве контроля версий Team Foundation Server и Azure DevOps в Dynamics AX 2012 и как стали применять контроль версий для подготовки релизов.
Ниже расскажу все подробности:
- История изменений: с чего начали;
- Контроль версий: синхронизация и подключение среды разработки;
- Подключение Test и Prerelease к контролю версий;
- Как происходит сборка релиза сейчас и какие результаты получили на выходе.
Вклад авторов
nmivan 2664.0romas1982 1226.0semen_grinshtein 917.2kesn 624.0fillpackart 604.0m1rko 595.2ru_vds 573.2alizar 511.2olegbunin 482.0uyga 471.0