Как стать автором
Обновить
35
0
hedin @hedin

Пользователь

Отправить сообщение

Что значат метрики для Agile команд?

Время на прочтение8 мин
Количество просмотров17K
Проходя собеседование на позицию Product Owner я понял, что у меня серьезный пробел по бизнес метрикам в Agile проекте, т.к. работаю в госструктуре. В русском сегменте информация достаточно скудная. В английском сегменте очень понравилась статья Ashwinee Kalkura. Поэтому решил сделать немного вольный перевод. Оригинал статьи здесь.

image

Что значат метрики для Agile команд?


Многие пытаются понять, что же такое «лучшая практика» в отрасли, и наложить её на свой продукт, чтобы улучшить свои собственные показатели. Некоторое время я размышлял над тем, существует ли такое универсальное и эффективное решение.

Организации склонны копировать «то, что сработало для других», даже не заботясь об ограничениях и условиях, в которых конкретная метрика работала на «других».

Тогда, что измерять? На мой взгляд, организации, которые поняли, что и сколько измерять в продукте, выжили и процветают до сих пор. Они в конечном итоге стали Agile-организациями. Когда у них несколько продуктов, у них разные подходы для каждого из них. Некоторым продуктам потребуется много статистики и данных, в то время как некоторым понадобиться лишь пара метрик!

И как тогда понять, что именно нужно измерить? Для меня ближайший путеводитель — это 7-й принцип в Agile Manifesto — «работающее программное обеспечение — лучший измеритель прогресса». Если Вы можете определить, что является для Вас рабочим программным обеспечением, становится легче измерить прогресс.

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

Проклятье Циолковского и благодать Оберта

Время на прочтение15 мин
Количество просмотров35K

Здравствуйте, уважаемые читатели Хабра.

Продолжаем изучать орбитальную механику на пальце и двух энергиях. В этой статье вы узнаете о формуле Циолковского, эффекте Оберта, чем энергия отличается от импульса, как работают ракеты и всё это на максимально простых примерах с крепкой 90 градусной геометрией.

Эффект Оберта


Начнем пожалуй с Эффекта Оберта, хотя это крайне сложный эффект, но зато разобравшись с ним — мы поймем всю орбитальную физику. Для начала давайте зададимся вопросом — В чем сила, брат? — В лошадиных силах!

Сколько лошадиных сил у ракетного двигателя?

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

Давайте сразу рассмотрим 2 хороших и наглядных примера. Один из Ютуба от гаражного учёного Игоря Белецкого продемонстрировавшего эффект Оберта с помощью шприца, резинки и кое чего еще, а второй пример из Википедии.
Читать дальше →

Кристиан Вервейс: О сложности или зачем вам Скрам?

Время на прочтение15 мин
Количество просмотров16K

Кристиан Вервейс: О сложности или зачем вам Скрам? 

Предисловие переводчика 

Предупреждение: Это лонгрид и это достаточно серьезный текст, далекий от большинства “простеньких” объяснений что вы могли прочитать на русском про Скрам и Эджайл.  

Оригинал статьи находится тут. Статья входит в список scrum.org рекомендованного к изучению для подготовки к экзамену PSM III.

Важность таких статей сложно переоценить. Судя по ошибкам, которыми делятся команды, и некоторым комментариям, значительное количество людей, пытающихся применить Agile, на самом деле не пошло дальше материалов типа “строим Скрам за 5 дней”, которые больше сосредоточены на практике, а не на причинах и не на основополагающих принципах Скрам и Эджайл. Я сам, как руководитель, изначально столкнулся именно с такой, “от сохи”, реализацией Скрама, но, к счастью для себя, не сделал “обоснованный” вывод что весь этот ваш Скрам - это очередная подделка и модная глупость, а полез разбираться откуда и зачем есть пошел Эджайл и прочие Скрамы. Честно скажу - объем “открытий чудных” был намного больше ожидаемого, несмотря на годы опыта в управлении проектами, накопленные к тому моменту. Так что, надеюсь, что перевод достаточно важной для понимания Скрам статьи будет полезен почтенной публике, и, конечно же, я сам, как сертифицированный Скрам-мастер и человек преподающий Скрам и Эджайл, буду рад ответить на все вопросы. 

Читать далее

Как проводить собеседования разработчиков

Время на прочтение3 мин
Количество просмотров8.4K

Однажды я понял, что дико не комфортно с ним работать, но поскольку я только прошел испытательный срок, а он уже работал пару лет, то пришлось валить.

Читать далее

Часть 3. Dракоши. Раса Тупиков или стохастическая модель мультиагентной системы

Время на прочтение10 мин
Количество просмотров8.4K
Третья часть серии публикаций о мультиагентной системе Dракоши посвящена анализу упрощенной, стохастической модели вселенной Dракош. В этой реализации Вселенной индивидуальное поведение агентов полностью случайно, в том смысле что никак не зависит от состояния внешней или внутренней среды агентов. При этом распределение вероятностей действий агента определяется его хромосомой. Анализ такой модели позволит в дальнейшем выявлять проявления «осознанного» поведения агентов. В ходе экспериментирования и наблюдения за расой Тупиков было внесено ряд изменений и нововведений в механику мира Dракош.

image

«Умный пляж» или как обеспечить комплексную безопасность людей на водоеме?

Время на прочтение9 мин
Количество просмотров2.8K
image

Ежегодно в мире от утопления погибает порядка 320 тысяч человек. Это третья по значимости причина смерти, на долю которой приходится около 7% смертей связанных с травмами. В прибрежных городах по всему миру проживает около 60% населения Земли. Мужчины и дети этой части населения подвергаются наибольшему риску утопления из-за расширенного доступа к воде. В таких развитых странах как Китай и США утопление является, соответственно, первой и второй по значимости причиной смерти от травм среди детей в возрасте 1-14 лет.

Россия входит в число мировых лидеров по объему водных ресурсов: 2,7 млн. озер, 2,8 млн. рек общей длиной 12,4 млн. км и 30 тысяч водохранилищ. Близость населенных пунктов к водоемам и расширенный доступ людей к воде является существенным фактором риска смерти от утопления для значительной части населения нашей страны. Следует отметить, что ежегодно количество смертей от утопления в России по данным Росстата снижается. Так, за период с 2011 по 2019 год количество смертей снизилось более чем вдвое (с 8272 до 3935 фактов утопления соответственно). Для предотвращения утопления в основном используются такие организационные мероприятия как установление специальных знаков и ограждений вокруг мест для плавания, обучение детей плаванию, проведение тренингов по спасению жизни, информирование о глубине водоема и толщине льда, своевременное предупреждение о шторме или наводнении (голосовое, и смс-оповещение).
Читать дальше →

Ракета от Амперки, часть 1: Теория ракетных двигателей. Карамельное топливо

Время на прочтение7 мин
Количество просмотров39K

Вступление


Всем привет! Мы — команда ютуб-канала Амперки, в студии и пилим видео по проектам и железкам. Однако, в какой-то момент все изменилось.



Под катом — история постройки нашей ракеты.

Практическое руководство по разработке бэкенд-сервиса на Python

Время на прочтение57 мин
Количество просмотров182K
Привет, меня зовут Александр Васин, я бэкенд-разработчик в Едадиле. Идея этого материала началась с того, что я хотел разобрать вступительное задание (Я.Диск) в Школу бэкенд-разработки Яндекса. Я начал описывать все тонкости выбора тех или иных технологий, методику тестирования… Получался совсем не разбор, а очень подробный гайд по тому, как писать бэкенды на Python. От первоначальной идеи остались только требования к сервису, на примере которых удобно разбирать инструменты и технологии. В итоге я очнулся на сотне тысяч символов. Ровно столько потребовалось, чтобы рассмотреть всё в мельчайших подробностях. Итак, программа на следующие 100 килобайт: как строить бэкенд сервиса, начиная от выбора инструментов и заканчивая деплоем.



TL;DR: Вот репка на GitHub с приложением, а кто любит (настоящие) лонгриды — прошу под кат.
Читать дальше →

Истории развития популяций, генетика и генетические алгоритмы

Время на прочтение13 мин
Количество просмотров4.1K
Многим знакома гипотеза зарождения человечества в Африке. В рамках этой гипотезы предполагается, что все современное неафриканское население Земли в значительной степени происходит от популяций Homo sapiens, покинувших Африку. Первым эту теорию предложил Чарльз Дарвин, основываясь на том, что человек очень близок к таким обезьянам, как гориллы и шимпанзе, которые обитают в Африке. И если в основных моментах этой гипотезы ученые уже пришли к консенсусу, то многие детали остаются дискуссионными: был ли один выход из Африки или несколько, когда это происходило, какой длительности были эти волны и так далее.

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


Читать дальше →

Робот-тележка 2.0. Часть 1. Автономная навигация домашнего робота на базе ROS

Время на прочтение7 мин
Количество просмотров11K
Проект строился на базе достаточно известного в своих кругах другого проекта — linorobot (linorobot.org), при этом использовались доступные простому обывателю компоненты. Цели, которые были поставлены: добиться автономного перемещения робота в домашних условиях, используя low-cost компоненты, оценить производительность мини-пк для заявленных целей, настроить стек навигации для перемещения в узких пространствах хрущевок.


Статьи цикла:
Робот-тележка 2.0. Часть 3. Внутри навигационного стека ROS, немного majordomo
Робот-тележка 2.0. Часть 2. Управление в rviz и без.Элементы красоты в rviz
Робот-тележка 2.0. Часть 1. Автономная навигация домашнего робота на базе ROS

Golang + Phaser3 = MMORPG — Делаем базу для бесконечной генерации мира

Время на прочтение12 мин
Количество просмотров7.9K
image

На русскоязычных ресурсах трудно найти подходящую информацию, возможно этот материал позволит вам понять некоторые основы для создания многопользовательских игр и не только. Я планирую сделать серию статей по созданию 2.5D MMORPG, то бишь в изометрии, наш мир будет разделен на процедурно-генерируемые чанки, состоящие из тайтлов. Сервер будет написан на языке Golang, который как мне кажется отлично для этого подходит, клиентская часть будет на JavaScript с использованием фреймворка — Phaser.js

Создаем генерацию мира


И так в этой статье мы напишем генератор чанков для ММО на Голанг, мы не будем пока рассматривать Phaser. Для процедурной генерации нам потребуется шумовая функция, мы будем использовать Шум Перлина, рекомендую ознакомиться с данной статьей и переписать код на Го или взять мой вариант.
Читать дальше →

Необходимый минимум по психологии для руководителя

Время на прочтение19 мин
Количество просмотров27K
В разных компаниях и командах тимлид может выполнять разные функции: руководителя проекта, архитектора, тестировщика, дизайнера, проектировщика и, иногда, работать как служба поддержки. Он может принимать разные формы от инженера на высшей ступени эволюции до сержанта или классического менеджера. Но неизменно одно — тимлид регулярно встречается с проблемами сотрудников, руководителей и заказчиков.

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



В этом поможет Андрей Макаров — директор по счастью в Neti. За 17 лет в IT он вырос от специалиста службы поддержки до совладельца компании Neti. Последние 8 лет активно изучает менеджмент, методы вовлечения сотрудников и психологию. На основе «экспериментов» над окружающими и отдельного обучения на психолога собрал упрощенную модель системы восприятия человека. Если ее использовать, можно научиться лучше понимать заказчиков, руководителей, коллег и себя самого.

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

Физика в Unity-проекте на примере мобильного файтинга

Время на прочтение8 мин
Количество просмотров14K

Физика стала неотъемлемой частью любой современной игры. Будь то простая симуляция ткани или полноценная физика движения транспорта. Не являются исключением и мобильные игры. Однако, настраивая физику для них, нужно оглядываться на ограничения, связанные с относительно низкой производительностью поддерживаемых устройств старого поколения. Ведущий технический 3D-художник Banzai.Games Роман Терский рассказал, как его команда интегрировала физику в игровой процесс мобильного файтинга Shadow Fight 3, какие приемы использовала для оптимизации и как переписала “с нуля” физику для персонажей для достижения ее полной детерминированности в синхронном PVP.
Читать дальше →

Шесть рецептов для начинающего тимлида: как всё успевать и развивать команду

Время на прочтение14 мин
Количество просмотров54K


Привет! Меня зовут Дмитрий Ли, я тимлид одной из команд разработки бэкенда в Badoo.

Когда я впервые стал тимлидом, я стал активно посещать конференции и читать умные книги об управлении командой. Однако в моей работе после этого менялось немногое. Я читал о том, каким я должен быть, в чём должен развиваться, но мне было неясно, что конкретно для этого нужно делать.

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

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

Автоматизируй это! Как мы улучшали интеграционное тестирование

Время на прочтение8 мин
Количество просмотров17K
В давние времена у нас было всего несколько сервисов, и выложить за сутки обновление более чем одного из них на production — было большой удачей работой. Потом мир ускорился, система усложнилась, а мы трансформировались в организацию с микросервисной архитектурой. Теперь у нас около сотни сервисов, и вместе с ростом их числа увеличивается и частота релизов — их более 250 в неделю.

И если новые фичи тестируют внутри продуктовых команд, то задача команды интеграционного тестирования — проверить, что изменения, включенные в релиз, не ломают функциональность компонента, системы и других фич.



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

Создание игры Tower Defense в Unity: враги

Время на прочтение26 мин
Количество просмотров11K
[Первая часть: тайлы и поиск пути]

  • Размещение точек создания врагов.
  • Появление врагов и их движение по полю.
  • Создание плавного движения с постоянной скоростью.
  • Изменение размера, скорости и размещения врагов.

Это вторая часть туториала, посвящённого простой игре в жанре tower defense. В ней рассматривается процесс создания врагов и их движения к ближайшей конечной точке.

Данный туториал выполнен в Unity 2018.3.0f2.


Враги на пути к конечной точке.

Создание ритм-игры в Unity

Время на прочтение10 мин
Количество просмотров18K
image

Введение


Итак, вы хотите или пытались создать ритм-игру, но игровые элементы и музыка быстро рассинхронизировались, и теперь вы не знаете, что делать. Эта статья вам в этом поможет. Я играл в ритм-игры со старшей школы и часто зависал на DDR в местном зале аркадных автоматов. Сегодня я всегда ищу новые игры этого жанра, и такие проекты, как Crypt of the Necrodancer или Bit.Trip.Runner, показывают, что в этом жанре можно сделать ещё многое. Я немного работал над прототипами ритм-игр в Unity, и в результате потратил месяц на создание короткой ритм-игры/головоломки Atomic Beats. В этой статье я расскажу о самых полезных техниках создания кода, которым я научился при создании этих игр. Информацию о них я не смог нигде больше найти, или она была изложена не так подробно.

Во-первых, я должен выразить огромную признательность Ю Чао за пост Music Syncing in Rhythm Games [перевод на Хабре]. Ю рассмотрел основы синхронизации таймингов аудио с игровым движком в Unity и выложил исходный код своей игры Boots-Cut, что очень помогло мне в создании своего проекта. Вы можете изучить его пост, если хотите узнать краткое введение в синхронизацию музыки в Unity, но я рассмотрю эту тему подробнее и обширнее. В моём коде активно используется и информация из статьи, и код Boots-Cut.
Читать дальше →

Обучаем нейросеть играть в «Змейку» и пишем сервер для соревнований

Время на прочтение5 мин
Количество просмотров26K


  • В этот раз выбрана игра «Змейка».
  • Создана библиотека для нейросети на языке Go.
  • Найден принцип обучения, зависимый от «глубины» памяти.
  • Написан сервер для игры между разработчиками.
Читать дальше →

Эволюция программного проекта и ООП

Время на прочтение10 мин
Количество просмотров16K

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


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


Стало интересно выполнить анализ применимости этих понятий для общепринятых парадигм программирования, например для ООП. Хорошо, если результат этой работы будет полезен и Вам.


image

Читать дальше →

Как не понимать принципы развития архитектуры SOLID

Время на прочтение8 мин
Количество просмотров21K

Есть проблема с описанием и толкованием принципов развития архитектуры SOLID (авторства Роберта Мартина). Во многих источниках дается их определение и даже примеры их использования. Изучая их и пробуя использованием примерить на себя, стабильно ловил себя на мысли, что не хватает объяснения магии их применения. И пытаясь увидеть внутренние шестеренки, понять — и для меня значит запомнить — разложил их по своим "терминам-полочкам". Хорошо если это будет полезно еще кому-нибудь.


image

Читать дальше →
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность