Русский
Русский
English
Статистика
Реклама

Проект

Как расширить лор игры на примере Vikings War of Clans. Часть 2

13.04.2021 16:13:10 | Автор: admin

В первой части статьи мы рассказали, как расширяли лор игры Vikings: War of Clans, чем вдохновлялись и какие приемы использовали, когда создавали концепцию Хельхейма, истории персонажей Уннара и Вивы, а также имена Воинов и Порождений Мглы. Для второй части мы приберегли еще много всего интересного. Итак, поехали.

Материалы из Хельхейма

Иконки из Vikings: War of ClansИконки из Vikings: War of Clans

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

Концепция для сета 1

  • Нейминг: название материала + прилагательное.

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

Иконки из Vikings: War of ClansИконки из Vikings: War of Clans

Обычный металл + прилагательное

Холодное железо
Ледяной свинец
Подземный сплав

Обычная ткань + прилагательное

Паучий бархат
Ночной глазет
Сумрачный шелк

Обычная древесина + прилагательное

Закатный клен
Железная ель

Концепция для сета 2

  • Нейминг: название минерала + прилагательное.

  • Идея: Хельхейм скалистый и бесплодный мир, а основная активность в нем происходит под землей в Катакомбах. Поэтому логично, что вместо травы и деревьев в этом мире растут минералы, которые напоминают мидгардские.

Иконки из Vikings: War of ClansИконки из Vikings: War of Clans

Обычный минерал + прилагательное

Чистый хрусталь
Звездная друза

Концепция для сета 3

  • Нейминг: название предмета + прилагательное.

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

Иконки из Vikings: War of ClansИконки из Vikings: War of Clans

Обычный предмет + прилагательное

Сломанный меч
Каленые прутья

Концепция для сета 4

  • Нейминг: животный материал.

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

Иконки из Vikings: War of ClansИконки из Vikings: War of Clans

Животный материал

Ветвистый рог
Зуб вожака
Шкура упрямого

Концепция для сета 5

  • Нейминг: священный мифологический компонент.

  • Идея: Хельхейм это очень необычный мир, и вещи в нем тоже необычные. Но нельзя создать вещь с удивительными свойствами, не применив никакого священного компонента. Это подтверждают многочисленные северные легенды: в Беовульфе и Саге о Ньяле, например, упоминается закалка меча в крови, а в Старшей Эдде при создании одного из мечей используется яд. Чтобы сохранить сеттинг игры и не уйти в фэнтези, мы предложили взять персонажей, сюжеты и предметы из скандинавской мифологии.

Иконки из Vikings: War of ClansИконки из Vikings: War of Clans

Священный мифологический компонент

Шерсть Гарма
Искра Сурта
Вода из Гьелля

Вещи Воителей

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

Формулы нейминга:

  • Прилагательное + существительное. Причем прилагательное должно быть эпичным, мистическим, фэнтезийным, а существительное обозначением оружия, брони, какого-то действия или объекта (для создания метафоры). Например: Туманная кираса, Сокрушающий молот, Пламенный страж, Небесный удар.

  • Существительное + существительное. Здесь одно из них указывает на тип предмета (головной убор, броня, оружие и т. д.), а второе добавляет художественности и фэнтезийности. Например: Капюшон охотника, Круг стихий, Перевязь тьмы.

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

Иконки из Vikings: War of ClansИконки из Vikings: War of Clans

Шлем

Сияющий наголовник

Броня

Драконья кожа

Оружие

Пылающий шип

Щит

Золоченый щит

Пояс

Гравированный пояс

Обувь

Узорчатые наголенники

Хольмганг

Предыстория

Как и в случае с фичей Хельхейм, идею для нового события мы подцепили из истории викингов. Что же такое Хольмганг? Это поединок двух викингов, в котором они заранее договариваются о правилах. Наш Хольмганг адаптирован под условия игры Vikings: War of Clans. Это эпическое Соревнование, которое представляет собой подобие поединка, но между Кланами. В нем участники должны по очереди защищать свои Форты и атаковать чужие.

Действие происходит на Островах Испытаний, заселенных NPC-войсками, которые помогают защищать Форты. Прообразом локации стала средневековая Исландия и жившие там свободолюбивые и суровые люди.

Название Хольмганг непривычное, однако у него есть свои плюсы:

- оно достаточно простое всего 2 слога;
- емкое по смыслу: означает дуэль (в нашем случае командную) и переводится как прогулка по острову;
- запоминающееся, его сложно с чем-то перепутать;
- легко сокращается (игроки уже называют его Хольм или ХГ).

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

Концепция

Совсем недавно открылись Врата в Хельхейм, а это значит, что Мидгард в опасности. Его, как и Свартальфахейм, может заполонить Мгла. Поэтому Ярлы решили подготовиться к битве и начали серьезно тренироваться, сражаясь между собой.

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

Чтобы принять участие в Хольмганге, Вождю или Старейшине нужно подать заявку. Кланы-участники распределяются по особым Лигам (самая младшая Первая, самая старшая Седьмая).

На Островах Испытаний есть Форты укрепления для обороны и нападения, окруженные Мрачными топями. Цель Кланов разрушить чужие Форты и защитить свои.

Желание викингов усилить оборону укреплений привело к тому, что в Цитадели Клана появилось новое здание Мастерская Ловушек. Там изобретатели придумывают разные способы сделать ловушки эффективнее.

Лорные статьи

Чтобы поддерживать лор Vikings: War of Clans, углублять его и погружать игроков в мир скандинавской мифологии, мы периодически пишем лорные статьи. Вот, например, две из них.

Статья Путь в Хельхейм

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

Все части статьи написаны в разных стилях, каждая повествует об отдельном персонаже. В итоге у нас получился большой познавательный текст, состоящий из четырех глав: Хель. Царица мертвых, Уннар. Упрямство цвергов, Вива. Любящее сердце и Ярл. Покоритель миров.

Особенности статьи

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

За пределами мира людей и мира богов, у самых корней ясеня Иггдрасиля лежит окруженная ледяными потоками реки Гьелль земля мертвых Хельхейм. Каждый, кто погиб не на поле брани и без оружия в руках, отправляется в этот холодный, укрытый туманом край.

  • А еще мы экспериментировали с разными формами повествования.

Вот часть письма, которое Уннар пишет правителям мира цвергов скандинавских гномов.

Королю и королеве цвергов от Уннара-исследователя

ПРОШЕНИЕ

Ваши величества! Я не привык общаться с особами столь высокого положения, поэтому скажу прямо: отправьте меня в Мидгард.

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

А вот диалог между альвийкой Вивой и мудрецом из ее племени.

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

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

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

Уннар и Вива
нам указали
место, где ткани
миров истончились.

Модгуд и Гарм
нам путь не заступят
сразу в Хельхейме
окажутся воины.

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

Статья Как воевали боги и что из этого вышло

А в этом тексте мы рассказали о войне асов и ванов.

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

Особенности статьи

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

Сначала всей семьей они решили противостоять искушениям, тыкая Гулльвейг копьями и сжигая на костре. (Спойлер ничего не вышло, она же персонификация!)

В конце концов и те и другие плюнули буквально! в котел и, чтобы закрепить союз, создали из своей слюны мудрейшего человека по имени Квасир. Некоторые говорят, что название русского напитка квас произошло именно отсюда.

  • Арты для этой статьи (как и для статьи про Хельхейм) совместная работа отдела копирайтеров и отдела художников. Мы, как авторы текста, давали рекомендации, а иллюстраторы воплощали идеи в жизнь. К примеру, для рисунка ниже мы просили с одной стороны нарисовать ванов (зеленые цвета, символизирующие плодородие), а с другой асов (агрессивные цвета и атрибуты войны).

  • А вот сама Гулльвейг злая колдунья, посланная ванами в Асгард. Нам хотелось, чтобы ее изобразили как можно более мистической, а также среди сокровищ, с украшениями и короной на голове, ведь Гулльвейг олицетворяет жадность, тягу к золоту. Художники подошли к требованиям с фантазией, добавили своего видения, и в итоге перед нами предстала шикарная колдунья одновременно прекрасная и пугающая.

Вместо вывода

Возможно, вы спросите: зачем вообще все это нужно Vikings: War of Clans? Почему мы так обеспокоены поддержанием и расширением лора? Ответим так: в этом плане нет разницы между компьютерной, мобильной и даже настольной игрой.

История, которая повествуется как внутри, так и за пределами игры, персонажи и их проблемы, мелочи вроде названий предметов, отсылающих к разным мифам, все это складывается в красивую общую картину в сознании пользователя, помогает сильнее заинтересовать его и погрузить в мир Vikings: War of Clans. А погруженному человеку намного проще получать удовольствие от игры, и для нас, как для разработчиков, это самое важное. Этот эффект не всегда может быть явным, но он безусловно есть, и общий положительный фидбек от наших игроков это подтверждает.

А в какие игры вы погружаетесь с головой и как этому помогает нарратив?

Подробнее..

Перевод Чему я научился, прожарив 200 лендингов за 12 месяцев

17.05.2021 20:19:35 | Автор: admin


200 стартапов


За последние двенадцать месяцев я прожарил лендинги (посадочные страницы проектов) 200 стартапов. Лендинги инди-проектов, лендинги сейлапов, финансируемых венчурным капиталом, и лендинги прибыльных корпораций, лендинги из различных отраслей и для разной аудиторий. В среднем 25 минут прожарки это больше 3,5 полных дней прожарки страниц для увеличения конверсии.

Что такое прожарка


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


Все это основано на передовом опыте, результатах тестирования и моей работе в качестве эксперта по оптимизации коэффициента конверсии.

Но что я узнал о лендигах с высокой конверсией? А о ведении бизнеса? И чему вы можете научиться у меня? Получается, довольно многому

Почему я запустил Roast My Landing Page


Roast My Landing Page начинался как побочный проект, связанный с пандемией, чтобы позволить мне поддерживать стартапы на ранних стадиях и одновременно генерировать второй поток дохода помимо моей внештатной маркетинговой работы. В итоге я получил более 70 000 фунтов стерлингов, более 2 000 подписчиков по электронной почте и постоянно растущий список инсайтов о страданиях и проблемах предприятий на ранней стадии и об удивительных людях, которые ими руководят.

Все дело в фаундерах


И это действительно сводилось к фаундерам. У каждого человека своя история, страсть и идеи. Они стремились узнать, как отдать должное своему продукту, услуге или списку рассылки и продемонстрировать это миру в виде лендинга с высокой конверсией.

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

9 самых распространенных (и легко исправляемых) вещей, которые упускают из виду фаундеры



Одна цель


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

Как исправить: сфокусируйте свой лендинг на одной цели конверсии.

Акцент на УТП


После заказа прожарки клиентам Roast My Landing Page предлагается заполнить небольшую анкету. Один из вопросов: Что делает ваш бизнес уникальным? Почти каждый основатель смог изящно изложить УТП (уникальное торговое предложение) своего продукта или бизнеса в форме, но только одного из пяти что-то подобное было изложено на их посадочной странице.

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

Как исправить: сравните свой продукт с конкурентами и текущими методами работы.

Четкое и релевантное социальное доказательство


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

Как исправить: переместите свое социальное доказательство вверх по странице, убедитесь, что оно лаконично, соответствует тексту в вашей рекламе и актуально для покупателя и для посетителя.

Простой язык


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

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

Реальная боль


PAS (боль волнение решение) распространенный метод копирайтинга, используемый для увеличения конверсии. Большинство лендингов касались той боли, к которой они обращались, но только 1 из 15 старались взволновать или усилить переживания посетителя эмоциональным языком и яркими образами. Те, кто сделал это хорошо, создали гораздо более мощные лендинги, которые побудили меня изучить решение.

Как исправить: взволнуйте вашего посетителя, нарисовав яркую картину боли, используя эмоциональный язык, истории и визуальные эффекты.

Ясные преимущества и юзкейсы


На многих лендингах подробно рассказывается о функциях продукта, но игнорируются преимущества и варианты использования. Исследования неизменно показывают более высокую конверсию при использовании языка, основанного на преимуществах. Посетителю приходилось думать, как продукт принесет ему пользу или конкретно решит их проблему.

Как исправить: посетителям не нужно думать, как и почему продукт принесет им пользу. Расскажите и покажите понятным им языком преимущества и примеры использования.

Заметный призыв к действию


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

Как исправить: добавьте контекст в ваш призыв к действию, чтобы посетитель знал, чего ожидать.

Спросить вместо чрезмерного обдумывания


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

Как исправить: зарегистрируйтесь в GetSiteControl и добавьте на свою целевую страницу опрос о намерениях выхода. Узнавайте, почему они уходят. Учитывайте эти причины на своей странице.

Знание своей статистики


Только 2/5 основателей могли рассказать мне о текущей конверсии своего лендинга. В большинстве случаев эти люди даже не знали, есть ли у них проблема с конверсией на странице, но все равно заказали прожарку. У большинства основателей была установлена система Google Analytics, но у них были ограниченные возможности отслеживания целей или они не просматривали отчеты в течение нескольких месяцев.

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

7 (чуть больше) продвинутых идей для повышения эффективности лендингов


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

Не сформирована ниша


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

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

Вы предлагаете слишком много или слишком рано


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

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

Вы рассказываете людям то, что можете им показать


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

Показывай, не говори.

Вы не обращаете внимания на сомнения


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

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

Вам нужно использовать более качественные изображения


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

Работайте усерднее, чтобы найти или создать выразительные изображения для лендинга.

Вы не знаете свою статистику


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

Настройте воронки в Google Analytics или других инструментах, чтобы вы могли отслеживать переходы по всей воронке, а не только на целевой странице.

Вам необходимо регулярно тестировать конверсию


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

Цикл постоянных экспериментов увеличивает ваши знания о клиентах и увеличивает доход. Продолжайте тестирования.

Что я узнал о построении бизнеса


Как зарабатывать деньги


  • Я получил около 20 000 фунтов стерлингов от прожарки и еще 50 000 фунтов стерлингов в виде внештатной маркетинговой работы от клиентов, которые нашли меня через прожарку.
  • Я потратил около 7 000 фунтов стерлингов на платную рекламу производства и около 3000 фунтов стерлингов на инструменты и другие бизнес-расходы.
  • Недавно я добавил дополнительные услуги переписывание рекламных текстов, перестройка лендинга, внедрение аналитики конверсии. Примерно 1 из 4 моих клиентов по прожарке заказали вторую услугу.
  • Примерно каждый шестой клиент предлагает мне внештатную маркетинговую работу.


Фаундеры и конверсия


  • Наиболее частой причиной заказов: фаундер получил чье-то мнение, основанное на ощущении, что их лендинг не работает или их позиционирование неправильное.
  • Большинство фаундеров не знали о конверсии своего лендинга в моменте, даже если у них была аналитика.
  • Почти каждый фаундер использовал Google Analytics для измерения аналитики сайта, большинство из них установили цели, но многие фактически не анализировали их эффективность.
  • 95% прожарки было заказано фаундерами-мужчинами.
  • Наиболее распространенными типами лендингов были приложения и инструменты SaaS, электронная торговля и B2C.


Конкуренция


  • Около 5 конкурентов создали почти идентичные продукты, явно вдохновленные Roast My Landing Page.
  • Многие заимствовали текст, концепции, призывы к действию, ценообразование и маркетинговые идеи прямо с моего веб-сайта Roast My Landing Page.
  • Другие были вдохновлены, но добавили свои собственные мотивы.
  • Некоторые обращались и просили моей поддержки, обратной связи и совета.
  • Оказалось, что многие из этих проектов закрылись в считанные недели.
  • Я взял за правило не сосредотачиваться на том, что они делают, а вместо этого вкладывал энергию в развитие своего бизнеса. Но друзьям пожаловался.


Сбор отзывов


  • Перед тем как прожарить лендинг, я отправлял клиенту форму с 7 вопросами, на которые нужно было ответить, чтобы они могли задуматься и сосредоточиться, а также дать мне контекст.
  • После прожарки я разослал всем клиентам анонимный опрос Typeform, спрашивая их об одной идее по улучшению прожарки, которую я использовал для уточнения своего предложения.
  • Примерно каждый четвертый заполнил опрос, каждый четвертый отправил отзыв по электронной почте и от каждого второго я больше ничего не слышал.
  • Опрос включал рейтинг из 5 звезд. Из ответивших я получил 46 5-звездочных оценок и 4 4-звездочных.
  • Опрос также содержал вопросы о других сферах их бизнеса, которые основатели хотели бы прожарить это привело к тому, что я создал другие службы.
  • Около 25% клиентов ответили на мои предложения лично.
  • Около 50% фаундеров внедрили исправления, подробно описанные в обзоре. Большинство сделали это сразу же или через несколько недель (или даже месяцев) спустя.
  • Совсем недавно каждый четвертый заказчик попросил меня внести изменения за них.
  • Чем больше я работал на публике, тем больше мне помогали незнакомцы. Люди регулярно присылали мои идеи, исправления, даже свои собственные мини-прожарки несколько раз в неделю.


Как я привлекал клиентов


  • Целевая страница Roast My Landing Page имела различные проблемы с конверсией.
  • Я итерировал целевую страницу около 20 раз, протестировал 3 платежных решения, 4 ценовых диапазона и 5 потоков покупок. Я все еще тестирую это сейчас.
  • Мои самые эффективные маркетинговые каналы это сарафанное радио, участие в сообществах Indie Hackers и Productize, таргетинг в Twitter, таргетинг в Facebook и затем Google Реклама, партнерские отношения.
  • Наилучшая рентабельность инвестиций в рекламу на платной рекламе составила около 3.
  • Худшими маркетинговыми каналами оказались Quora, Reddit, электронная почта через Paved.com. Многочисленные тесты на этих платформах не привели к значительной конверсии.
  • Лучшим способом распространения сарафанного радио было перевыполнение. Я обещаю дать каждую прожарку в течение 48 часов, но многие клиенты получили свое в течение часа после заказа. Это произвело на фаундеров головокружительное впечатление и вызвало немало шума.


Инструменты, которые я использовал


  • Такие инструменты, как Loom, великолепны для записи видео в видео. Но когда им не удается записать промежуточную прожарку, это ужасно. Когда это происходит 3 раза подряд, вы думаете о том, чтобы бросить работу, арендовать небольшую надежную машину, собрать свои вещи и переехать на удаленную ферму подальше от всего и всех, кого вы знаете.
  • Я использовал SPP для управления заказами.
  • Типовая форма для обратной связи с клиентами.
  • Google PageSpeed Insights для определения времени загрузки страницы.
  • Autopilot для моего списка рассылки.
  • Ghost для этого блога.
  • Инструменты аналитики, которые я использовал, включают Hotjar для записей и тепловых карт, Heap для воронок и Google Analytics для высокоуровневых отчетов и показателей конверсии.
  • GetSiteControl помогает мне собирать потенциальных клиентов через мою еженедельную почтовую рассылку.
  • Hotjar помог мне собрать информацию о намерениях выхода.
  • Я использовал для платежей Stripe и Paypal.


Стоимость моего продукта


  • Прожарка начиналась с 39 фунтов стерлингов, поднялась до 299 фунтов стерлингов и сейчас составляет 149 фунтов стерлингов.
  • Я протестировал несколько разных ценовых категорий, чтобы определить, что принесет наибольшую прибыль.
  • Съемка прожарки требует ментальных затрат и чрезвычайно утомляет, поэтому мой лимит составлял около 4 в день.
  • Я перешел к ценообразованию не основанному на времени, поскольку я получил доказательства того, что прожарка увеличивает конверсию.
  • Я все еще изо всех сил пытаюсь привлечь нужных клиентов по правильной цене, не прекращая поддержки клиентов.


Реализованные мной процессы


  • Рутина это хорошо, но я борюсь с ней: еженедельные циклы отчетности и личные ретроспективы помогали мне быть в курсе событий.
  • Да, я проводил ретроспективы, сосредоточившись на том, что я могу улучшить по сравнению с предыдущей неделей.
  • Отчетность помогла мне сосредоточиться, особенно публичное размещение в моем Twitter и подробное описание моих вех на Indie Hackers.
  • У меня также есть небольшое сообщество единомышленников в Slack, с которыми я могу делиться идеями, я несу ответственность перед ними.
  • Сами прожарки относительно произвольной формы. Однако со временем сформировалась общая структура, что позволило сделать акцент на самые большие возможности.


Что же дальше?


Мало того, что Roast My Landing Page приносит прибыль, но и ведение бизнеса приносит мне плоды, которых я не ожидал.

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



Чтобы не терять свои находки по дизайну в тоннах закладок на компе, я создала телеграм-канал Дрын Дезигн. Все клевые и полезные материалы (туториалы, статьи, ссылки на аккаунты клевых чуваков), которые нахожу для себя, я буду постить туда. Угощайтесь.
Подробнее..

Перевод Что такое SDLC? Этапы, методология и процессы жизненного цикла программного обеспечения

02.10.2020 12:06:25 | Автор: admin
Цитируя автора книги Managing Information Technology Projects Джеймса Тейлора, жизненный цикл проекта охватывает всю деятельность проекта. Задачей же разработки ПО является выполнение требований продукта. Если вы хотите научиться создавать и выпускать высококачественное ПО, вам придется следовать плану. Со слов Тейлора, вашей целью должен стать всесторонний анализ деятельности проекта и контроля каждого этапа его разработки. Вот только с чего именно начать?

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

Принципы работы SDLC и почему им пользуются


На диаграмме ниже можно ознакомиться с шестью основными этапами SDLC.



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

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

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

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

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

Этапы SDLC и лучшие практики и методологии


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

  • Анализ требований отвечает на вопрос Какие проблемы требуют решений?
  • Планирование отвечает на вопрос Что мы хотим сделать?
  • Проектирование и дизайн отвечает на вопрос Как мы добьемся наших целей?
  • Разработка ПО регулирует процесс создания продукта.
  • Тестирование регулирует обеспечение качественной работы продукта.
  • Развертывание регулирует использование финального продукта.

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

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

Этап #1: Анализ требований


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

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

Этап #2: Планирование


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

Хороший пример:

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

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

Этап #3: Проектирование и дизайн


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

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

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

Этап #4: Разработка ПО


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

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

Этап #5: Тестирование


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

Этап #6: Развертывание


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

Объединяя все вместе: подход SDLC


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

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

Разработка ПО может быть трудным, и в то же время полезным занятием.

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

Мой друг хотел основать лучшее рекламное агентство для Facebook и обратился ко мне и другим специалистам за помощью. Несмотря на его большие амбиции, я посоветовал ему воспользоваться фреймворком SDLC чтобы сначала провести анализ требований. Я спросил его: Какие проблемы ты хочешь решать? Чего хотят твои пользователи? И самое главное, как эта платформа поможет тебе достичь твоих целей?

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

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

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

Следовательно, цикл продолжается.

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

Фраза Создавать круто должна стать вашей путеводной звездой, а SDLC инструментом и помощником.
Подробнее..

Вы всё ещё ловите исключения? Тогда мы к вам

31.01.2021 04:11:28 | Автор: admin

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

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


Но с другой стороны, обрабатывать ошибки всегда лениво и напряжно. Поэтому существует много инструментов для облегчения этой задачи. Стандартный механизм обработки ошибок в Java - Exceptions. Я не буду сейчас расписывать скучные описания, как бы отвечая на скучные вопросы со многих собеседований. Скажу лишь, что Исключение - это на мой взгляд, неправильный перевод понятия Exception. Я считаю, что исключение, то есть исключительная ситуация - это про другого представителя летающих монстров, java.lang.Error.

А Exception - это не исключение, это часть правила. Это всегда один из возможных исходов. Я бы перевёл этот класс не иначе как Отклонение. В смысле отклонение от прямого курса. Потому как перехватив это отклонение, можно курс выправить и продолжить работу. А Исключение - это для безответственных разработчиков.

Так вот. Давайте теперь перехватывать эти отклонения. Как можно это сделать?

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

Это вносит неудобства, да. Надо их везде ловить. Как упростить задачу? Обычно советуют тупо оборачивать исключение в java.lang.RuntimeException. Но такой подход чреват тяжёлыми последствиями, когда приложение выходит в релиз и на бой. Я как человек, имеющий ещё и плюсовый бэкграунд, прекрасно знаю, что некоторые ситуации невозможно предугадать даже очень внимательно вглядываясь в код. А потом искать их причины днями, неделями, иногда месяцами. Потому что кто-то в самом начале, в месте возникновения ошибки не объявил о возможности их возникновения.

Ну да ладно. Не будем о грустном. Лучше попробует сделать нашу жизнь проще, написав утилитку, которая с одной стороны, позволяет обрабатывать ошибки. А с другой стороны не привносит глобальных неудобств и не захламляет код бесконечными (часто вложенными друг в друга) блоками try-catch-finally.

Что предлагается?

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

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

  3. Во-вторых, надо бы упростить синтаксис обработки ошибок. Тут я поймал себя на мысли, что необходимость в этом возникает, так как мэйнстрим постепенно, медленно, но всё-таки верно потихоньку уползает от практик процедурного программирования. А блоки try-catch, по-моему, являются наследием именно этой парадигмы. И ООП , и тем более функциональщина и даже стримы Java-8 как-то плохо сочетаются с этими блоками, фигурными скобками.

Вот я и решил сделать утилитку, которая бы помогла реализовать вышеназванный подход. Предлагаю вашему вниманию её первую версию.

Здесь я попробовал сразу около трёх подходов реализовать.

Первый - просто статичная обёртка над небезопасным кодом, которая напечатает в лог и в случае чего прокинет ошибку своего местного разлива. Это метод errorToWarn.

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

И затем я решил пойти ещё дальше и сделать описание ошибок в удобном формате, одновременно предлагая ленивую логику и флюент (как по-русски это?) интерфейс. Это вылилось в вызов, который уже возвращает своеобразный билдер, который затем можно настраивать по типу jmock или spring security api. Выглядеть это стало примерно как табличка состояний, примерно вот так:

К слову первый подход вылился во что-то наподобие

Надеюсь мои лирические рассуждения покажутся вам полезными. Возможно вам понравится использованный мной подход и вы захотите развить утилиту советом / личным вкладом.

Подробнее..

Бот для ВКонтакте MDB (школьный проект и проект для Всероссийского конкурса проектных работ)

08.05.2021 20:10:07 | Автор: admin

Привет, Хабр! Хочу вам рассказать о своём исследовательском проекте, в котором я создал игрового ботеца для ВКонтакте.

Ахтунг!

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

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

Что за проект?

Я, как администратор немаленькой беседы во ВКонтакте (на тот момент это было ~670 человек), столкнулся с проблемой ужасной активности. Ну серьёзно, человек много, а не пишет никто, очень много незаинтересованных молчунов, которые лишь цифру создают для беседы. Подавляющее большинство пользователей из тех 670 человек просто входили и не появлялись в списке сообщений ни разу.

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

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

Что же за системы есть в боте?

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

У меня бот намного проще, но подошёл для проекта в школе и для проекта в конкурсе. Основными характеристиками пользователя являются игровая валюта и опыт. Фактически, всё сводится к фарму опыта и денег ради фарма опыта и денег. За опыт можно устроиться на работу, каждая последующая работа будет давать всё больше денег в 24 часа (без фарма, получение зарплаты только командой раз в сутки), в свою очередь за деньги можно купить машину получше, которая будет давать больший множитель к опыту. Опыт даётся за каждое сообщение кроме команд посимвольно, затем умножается на множитель от автомобиля. Это самое основное, чего я стал требовать от бота. Также есть выдача предупреждений (максимальное их количество - 4).

Да, такого бота я делал около 6 месяцев, постоянно что-то изменяя, добавляя и удаляя.

Давай о реализации уже!

Делал я бота на языке программирования Python с использованием асинхронной библиотеки для написания ботов vkbottle. Работает на CallBack API, в качестве сервера использую aiohttp.

Во входном файле bot.py происходит инициализация сервера, прописаны все роуты (их всего 4 и они очень маленькие), к основному боту добавляются blueprint'ы, о которых пойдёт речь позже.

import pathlibimport aiohttpimport aiohttp_jinja2import jinja2from aiohttp import webimport utils.constsfrom config import SECRET, WEBHOOK_ACCEPT, CONFIRMATION_TOKENfrom routes import actions, admin_realize, global_admin_realize, users_realize, economic_realizefrom utils.db_methods import init_databasefrom middlewares import ExpMiddleware # dead import for include middlewareINDEX_DIR = str(pathlib.Path(__file__).resolve().parent) + '/index_page'utils.consts.BOT.loop.run_until_complete(init_database())utils.consts.BOT.set_blueprints(    actions.bp, admin_realize.bp, global_admin_realize.bp,    users_realize.bp, economic_realize.bp)APP = aiohttp.web.Application()ROUTES = aiohttp.web.RouteTableDef()if not WEBHOOK_ACCEPT:    aiohttp_jinja2.setup(APP, loader=jinja2.FileSystemLoader(str(INDEX_DIR)))    APP.router.add_static('/static/',                          path=str('./index_page/'),                          name='static')@ROUTES.get("/")@aiohttp_jinja2.template('index.html')async def hello(request):    """Root site response"""    return {}@ROUTES.get("/when_update")@aiohttp_jinja2.template('whenupdate.html')async def whenupdate(request):    """When update site response"""    return {}

Все конфиги хранятся в config.py, точнее, там инициализируются константы. Сами значения хранятся в файле .env и с помощью библиотеки dotenv берутся из виртуального окружения по ключу.

import osfrom dotenv import load_dotenvdotenv_path = os.path.join(os.path.dirname(__file__), '.env')if os.path.exists(dotenv_path):    load_dotenv(dotenv_path)# Loading token from .envACCESS_TOKEN = os.getenv("ACCESS_TOKEN")SECRET = os.getenv("SECRET")USER_ACCESS_TOKEN = os.getenv("USER_ACCESS_TOKEN")WEBHOOK_ACCEPT = bool(int(os.getenv("WEBHOOK_ACCEPT", 0)))CONFIRMATION_TOKEN = os.getenv("CONFIRMATION_TOKEN")NEW_START = bool(int(os.getenv("NEW_START", 0)))ADMINS_IN_CONV = list(map(int, os.getenv("ADMINS_IN_CONV").split(',')))

Теперь о том, где хранятся все обработчики команд.

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

Всё это хранится в пяти разных файлах в папке routes:

Вот пример команды покупки машины:

@bp.on.message_handler(AccessForAllRule(), Registered(), text="/купить_машину <c_id>")async def buy_car(message: Message, user: User, c_id: str = None):    if c_id.isdigit():        c_id = int(c_id)        car = await Car.get(id=c_id)        buy_car_user_status = status_on_buy_car(user, car)        if buy_car_user_status == BuyCarUserStatuses.APPROVED:            chat = await Conversation.get(peer_id=message.peer_id)            await User.get(user_id=message.from_id, chat=chat).update(                coins=user.coins - car.cost, car=car            )            await message(f"Машина {car} куплена!")        elif buy_car_user_status == BuyCarUserStatuses.NOT_ENOUGH_MONEY:            await message("У тебя недостаточно денег!")        elif buy_car_user_status == BuyCarUserStatuses.NOT_ENOUGH_EXP:            await message("У тебя недостаточно опыта!")        else:            await message("У тебя уже есть машина!")    else:        await message("Введите цифру-ID машины!")

Все обработчики в пределах одного файла объединяются blueprint'ом, а все "чертежи" подключаются к боту во входном файле.

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

Все подобные функции хранятся в отдельно в папке utils в файле main.py. В этой же папке лежат файлы с константами, функциями для работы с БД, правила и ошибки, которые функции могут raise'ить иногда.

def status_on_buy_car(user: User, car: Car) -> BuyCarUserStatuses:    if user.coins >= car.cost and user.exp >= car.exp_need and user.car is None:        return BuyCarUserStatuses.APPROVED    elif user.coins < car.cost:        return BuyCarUserStatuses.NOT_ENOUGH_MONEY    elif user.exp < car.exp_need:        return BuyCarUserStatuses.NOT_ENOUGH_EXP    else:        return BuyCarUserStatuses.NOW_HAVE_CAR

В качестве ОРМки я использую Tortoise ORM, потому что асинхронно (а смысл в асинхронности фреймворка, если вся работа с БД синхронная?), потому что удобно лично для меня.

Что по итогу?

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

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

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

Постскриптум

Я открыт к критике в комментариях, за неё отдельное спасибо, ведь именно критика, может даже очень жёсткая, может даже с заминусованной статьёй поможет развиваться мне как разработчику и создателю статей на Хабре.

Бот на GitHub

Подробнее..

Золотое кольцо скучнейших экскурсий как это пытаются исправить

10.09.2020 14:18:39 | Автор: admin
Привет! Мы сейчас всерьёз упарываемся по развитию внутреннего туризма. Обычно я пишу про эту часть работы не на Хабр, но на днях появился один крутой пример, по которому можно отследить интересное продуктовое мышление и UX-подход. В реальном мире. В общем, компания внезапно поняла, что мир изменился, старые подходы не работают, и вообще-то вокруг есть много крутых технологий. Меня позвали как эксперта всё это оценивать и тестировать раннюю альфу турпродукта, и я просто хочу показать, как рациональное мышление может повлиять на туризм.

Итак, у нас есть экскурсии по Золотому кольцу России. Для пенсионеров это желанное приключение, для молодёжи особый подвид предельно скучного и бессмысленного занятия. 20 храмов за 3 дня, Самые нудные экскурсоводы, сыпящие датами, Очереди в банальных местах вроде заселения в отель это из отзывов. Думаю, вы и сами можете себе всё это представить.


Вот так должно выглядеть заселение в отель: без людей и анкет, чёрт побери!

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

В примере подошли немного иначе: переписали всё, что бесит, и просто начали думать, как это убрать. Подход, очень знакомый мне по рознице это способ резко поднять уровень сервиса до небывалых высот. Давайте пройдёмся по тому, что конкретно сделали в этом примере.


Пробки на выезде из Москвы


Туроператор Анкор делает туры с 96-го года. Сначала была Европа, в какой-то момент добавилась Россия. Наш маршрут Золотое кольцо. Цель альфа и бета-тесты с группой экспертов. Сюрпризы пошли сразу: мы выехали утром понедельника. Большинство тургрупп отправляется на выходных, как раз тогда, когда народ едет в этом направлении на дачу, а возвращается вместе с теми, кто едет на работу. Это даёт примерно 2 часа потерь в первый же день.

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

Почему так? Потому что большинство туров по кольцу это туры выходного дня плюс пара будних. Но, внезапно, туристы могут выезжать и без привязки к выходным. Этот тур спланирован как модуль группы развлечений, чтобы туристы (в том числе иностранные) могли гулять по Москве на выходных. Программа такая: приехали в пятницу, погуляли по городу, осмотрели фрагмент Ленина и выставку достижений китайского хозяйства, а на будние взяли Золотое кольцо. По будням свободнее отели, рестораны, нет очередей на входах в кремли и нет пробок. Логистика становится предсказуемее, и можно закладывать меньшие интервалы на если застрянем. Это значит, что будет меньше скучных историй, когда приехали раньше и нужно тянуть полчаса.


Если вы забыли дома компас и карту, то отличить границу Московской области можно по торговым автоматам

Ужимание гида


Одна из самых страшных историй это когда гид на Золотом кольце на полном серьёзе намерен прочитать двухчасовую карательную экскурсию. В нашем эксперименте Анкор попросил гидов на каждой точке читать сокращённые версии экскурсий.

Например, на комплекс в Суздале было заложено 2 часа, а надо уложиться в час. Золотая кладовая 15 минут, показать, что она есть, дать сделать фото, подсветить 3 главных объекта. Колокола показать, что они звенят и сказать, как сложно это всё, показать звонаря за работой. Тюрьма показать, что там сидели немцы (важно для иностранных групп) и пару камер. Архитектура и огород ещё 15 минут.

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


Рассказывать 18 минут про одно украшение? Подержи моё пиво!

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

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

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

Мультиязычные группы


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

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

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

В тестах мы тоже общались между собой потихоньку и узнавали новое. Владелец парка автобусов рассказал, как правильно сливать бензин при всех датчиках. Туроператор что было, когда в Италии ночью угнали автобус (группа не заметила). Гид как в Амстердаме купили групповые билеты на метро, а полицейский пытался разогнать экскурсию со словами демонстрации запрещены. Я знаю, что делают геологи, когда уходят в кусты пописать на трассе, а автобус уезжает. Узнал, что страховка не покрывает попадание в дурку в Европе, ну и услышал, как бабушка сдала в Лувре в сейф кастрюлю с тушёнкой.

Но, как вы понимаете, всё равно нужно что-то, что заменит гида.

Масс-персонализация


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

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

Интересное, конечно, с блоками гида. Во-первых, весь маршрут нужно декомопзировать на блоки по 3-5 минут. Во-вторых, каждый блок нужно не только перевести, но локализовать. Когда мы говорим про квас, всем всё понятно. А вот японцу нужно будет пояснить, что такое этот русский хлебный перебродивший сок. Опять же, нам, возможно, интересно, какая связь между Киевом и Москвой через исторического персонажа, а вот иностранцам пофиг то есть каждый кусок подаётся с учётом специфики. Предполагается, что модуль делится на ядро (что нужно точно рассказывать) и локаль-часть (обычно около 15% дополнений).

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

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

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

Автобус с розетками и большим расстоянием между креслами


Люди живут с гаджетами, и поэтому на каждом пассажирском сидении автобусов оператора есть USB-розетки. Поскольку планируется делать мобильное приложение с языковыми версиями, так и так электросеть нужна либо под терминалы, либо под зарядки. Вайфая нет, но почти везде по пути (за исключением пары мест по 20 км между городами) есть хорошее сотовое покрытие.


Большое расстояние между креслами = спинка нормально откидывается. Вторая кнопка сбоку сдвиг на 6 см в сторону прохода.

Заселение до экскурсий


Канонический путь ушатать группу вусмерть пятью экскурсиями, а потом привезти в отель и заселить вечером. Чтобы спали ровно и не выделялись по городу. Селить днём почти нельзя: ведь туристов водят по музеям, а музеи в регионах закрываются рано, обычно 17:00, максимум 18:00.

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

Классическое заселение выглядит как верх идиотизма бронирование идёт с копией паспорта, а потом туристы встают на стойке в очередь на получение ключей и проходят стандартные процедуры: заполнение анкеты, ксерокопия первой страницы паспорта, получение ключа. Да, это по полторы минуты на номер, но при группе 20 человек уже проблема. Что характерно, никто не задумывается, что примерно половина действий бессмысленна.

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

Анкор проинструктировал отели по дороге сделать именно так. Для двух даже при наличии подробного объяснения, как улучшить процесс, это оказалось шоком. И сделать правильно они не смогли. Я ни разу не удивлён, потому что вижу такое почти в каждой стране. Но всё же один раз получилось на 100% правильно.

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

Правильная еда


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

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



А так надо просто заказывать разные блюда, а не отдавать выбор на откуп заведению с их набор еды туристу 1.

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

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

Ещё фиксы


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

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

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



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

В общем, получается довольно интересно под нишевую аудиторию. Продукт чуть дороже обычного, но заплатить 5-7% сверху за то, чтобы не вспоминать детскую травму от советского экскурсовода такие люди есть. Собственно, я очень хорошо знаю из своих исследований, что около 18% людей считают вообще любые путешествия по России унылыми. Тут надо сказать, что Анкор вообще-то уже доказал, что умеет раскрывать нишу до целого рынка. В 96-м году они возили в Париж и Рим, тогда запрос был на 5 стран за неделю на автобусе. Потом появился неожиданный запрос на комфорт: стали стыковать самолёт в Европу и автобус на месте, а для иностранцев чтобы в России была ночь в поезде. Для немцев, например, это дико прикольно, потому что поезд просто не может столько ехать, чтобы там спать. Потом запрос наших туристов эволюционировал на тематические экскурсии, и Анкор стал возить своих гидов (получалось дешевле, чем нанимать на месте). Уже где-то в 2005 стало важно переходить к качественному контенту внутри тура: чтобы и отдых, и изыски, и тематичность. Уровень гидов менялся: нужен был не только знаток, но и психолог, понимающий, какая тактическая обстановка в автобусе. Кроме выбора темы ещё важно делать так, чтобы хотя бы 15-20% подаваемой информации человеку были знакомы и понятны, иначе будет отторжение. На Золотом кольце, к слову, такой информации должно быть до 25-30%, иначе люди будут думать, что вообще не знают своей страны, а это портит настроение и порождает небольшой комплекс неполноценности. Человек должен чувствовать себя комфортно, потребляя информацию. Это тоже важный тренд.

Первые технологии для кольца были отработаны с немцами, которые давно возили по Европе своих туристов. Отсюда появилось бронирование места в автобусе при покупке тура (для некоторых это очень важно). Немцы проходили десятилетия назад те же проблемы, что у нас сейчас: хороших экскурсоводов мало, наушники никто брать не хочет (А что, я так расскажу! у нас в тестах 4 гида просто отказались работать с техникой). Нет элементарного понимания физиологии людей (или уважения к группе). У региональных гидов часто есть склонность заставлять людей страдать у памятника, пока идёт рассказ сколько метров и сколько кирпичей потрачено. Да, дождь, да, град, да, дует ветер, но туристы же заплатили! Получение информации это труд, вот и пускай отработают! То же самое можно рассказать в автобусе заранее. А если гид умный то не рассказать, а сделать интерактивно, предложить прикинуть высоту заранее, угадать, сколько оно весит. Очень многое из того, что рассказывают про гидов бьётся с тем, как вообще нужно подавать научпоп-информацию. Это безумно интересно, и я про это тоже расскажу чуть позже, когда систематизирую опыт ещё пары человек.



Получается?


Мне понравился подход. Иру (руководителя проекта) многие в туризме не понимают, а в регионах так вообще при попытке переформулировать из здесь вы можете прикоснуться к уникальной атмосфере Древней Руси и ощутить дух времени в Смотрите, какой крутой храм, тут льва на стене нарисовали по словесному описанию, вот он чуть ли не поднимают на вилы со словами: Да как вы смеете, вы ничего не понимаете в туризме!. Правильно, потому что кое-кто учился 5 лет, а потом 10 лет стажировался, чтобы сейчас вылетать с рынка. Ещё суеверный ужас вызывают такие ходы как проезд города насквозь с остановкой на один музей (привет, Иваново, пока Иваново!), исключение всяких значимых мест типа ещё 10 храмов в программе и так далее.


Вот это незаконно, точнее, это объявление касается только для персонала объекта


А вот это неожиданно

Но где-то воспринимают нормально и даже хорошо. Потому что понимают, что теперь рынку нужно другое. Возможно, потому что видели результаты наших исследований, что только 3% жителей Европы готовы поехать в Россию. Потому что невидимая рука рынка показывает тем, кто не меняется, невидимую фигу. В этом плане мне особенно нравится история с краеведческим музеем в Иваново. Там была старая история про то, что в музее живёт привидение. То кошки на него реагировали, то его кто-то видел. В общем, вопрос закрыли установкой датчиков движения и камер. Привидение перестало проявляться. Музей не растерялся и сделал регулярные ночные экскурсии по тёмному музею с фонариками под рассказы про несчастного духа. А за группой на границе света крадётся младший научный сотрудник в костюме.

С другой стороны, в каждом городе всё ещё есть фильм, рассказами про который тебя задолбают. При посещении некоторых храмов группа всё ещё обязана зайти в конце на 10 минут в церковную лавку, иначе на территорию не пускают. Даже платный корм для уточек может оказаться в другом конце кремля задолго после самих уточек. Уровень сервиса почти везде просто потрясает своей ужасностью (а я знаю, о чём говорю после 10 лет розницы-то), и исправляться это будет с трудом, потом и соплями. В общем, если бы не закрытие международки, то многие эксперты в жизни не поехали бы по Золотому кольцу. А так получилось не только показать первые изменения, но и подсветить многие города. Я хочу вернуться в Кострому за лосиной фермой, в Гаврилов посад за музеем русских напитков и конезаводом, в Иваново ради конструктивизма, а в Суздаль просто погулять.



С нами были здравый смысл и Ира Маштакова, директор туроператора Анкор. Надеюсь, в итоге с продуктом всё получится.
Подробнее..

Грозовая туча помогает разрешать конфликты

18.11.2020 14:04:51 | Автор: admin

В основе многих наших действий или бездействий лежат неразрешенные конфликты.

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

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

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

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

Многие практики Теории Ограничений утверждают, что Грозовая туча работает.

Давайте проверим и попробуем применить разработанный Голдратом алгоритм к нескольким типичным конфликтам из области ИТ. Посмотрим, как это может нам помочь.

Конфликт: Подрядчик не начинает разработку до тех пор, пока не составит полное ТЗ

Многие ИТшники либо сами работали на фрилансе, либо заказывали у кого-то работу. Это действительно страшно начнешь работу, она растянется и в результате выйдешь в минус. Денег не получишь, да еще и должен будешь. Придется либо доделывать проект бесконечное количество времени, либо бросать. Никто этого не хочет.

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

Часто подрядчики делают ТЗ для того, чтобы не вкладывать в разработку кратное количество ресурсов, N раз переписывая код. Т.е. у подрядчиков зачастую есть уверенность в том, что им заплатят деньги, но при этом есть и четкое понимание, что полученные средства окупят лишь маленькую долю от фактических затрат в отсутствие ТЗ.

Как быть? Ведь заказчик хочет начать работу прямо сейчас и готов бросить всё, если Вы не начнете, и уйти к другому исполнителю. Конечно, ему нет никакого смысла ждать пока подрядчик напишет ТЗ (если вообще напишет). Это потеря его времени и, на самом деле, упущенной выгоды.

Какое же решение принять подрядчику?

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

Т.е. причиной действия Начать работу только после составления ТЗ является необходимость Обеспечить гарантию получения денег.

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

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

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

Но при это оба, и заказчик и подрядчик хотят создать это продукт. Т.е. у них общая цель Создать продукт

Каждому пункту конфликта принято давать буквенное название: A, B, C, D, D.

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

Проведём быструю проверку. Условие C должно конфликтовать с действием D, а условие B должно конфликтовать с действием D. Всё верно, они конфликтуют, значит формулировка конфликта составлена правильно.

Для того, чтобы разогнать эту грозовую тучу необходимо разобраться в причинах конфликта. Пропишем причины (предпосылки), почему действия D и D необходимы для обеспечения условий B и C.

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

Было: Быстрее создать продукт. Обратная формулировка: Старт разработки бесконечно затягивается.

Было: Обеспечить гарантию получения денег. Обратная: Деньги за сделанную работу не оплачивают

B-D (при каких условиях старт разработки бесконечно затягивается?):

- Составление ТЗ занимает много времени

- Согласование ТЗ занимает еще больше времени в разы больше. Это огромные простои

- Есть понимание, что конечный продукт не будет в итоге таким как в ТЗ, его всё равно придется менять, т.к. люди не провидцы и не предсказатели

- ТЗ часто используют в качестве давления на заказчика и есть риск не получить продукт, который я хочу

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

C-D (причины, почему деньги за сделанную работу не выплачиваются):

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

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

- Обычно разработка сильно затягивается из-за все новых и новых требований заказчика. Он никак не может остановиться

- Объем работ должен быть ограничен, чтобы заказ окупился

Как не трудно заметить, конфликт очень серьезный. Как найти решение, которое полностью его устраняет?

Э.Голдрат говорит, что суть конфликта скрывается в деталях. Его причиной может быть либо неправильная (ложная) предпосылка, либо непонимание предпосылок, на которых основывает своё видение противоположная сторона.

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

Давайте подумаем За предпосылки сомневаться не приходится это то, что в действительности часто происходит в реальности. Значит надо придумывать что-то иное.

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

Каким образом можно совместить ограниченный объем работ и быстрый старт разработки? Очевидно, что чем меньше объем работы, тем точнее его предсказать и тем быстрее начать и проще сделать.

Решение напрашивается само собой договариваться не на огромный проект, а на небольшие куски/итерации, которые быстро делаются и быстро оплачиваются.

Если проект большой и хочется зафиксировать в нём большую сумму, то можно заключить рамочное соглашение и оговорить, что деньги оплачиваются не в конце, а по частям, по мере разработки и сдачи итераций небольшого объема.

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

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

Опасение заказчика

- Составление ТЗ занимает много времени

На короткую итерацию ТЗ составить быстро, а то и вовсе можно обойтись без него заменив макетами экранов.

- Согласование ТЗ занимает еще больше времени в разы больше. Это огромные простои

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

- Есть понимание, что конечный продукт в итоге будет не таким как в ТЗ, его всё равно придется менять, т.к. люди не провидцы и не предсказатели

Реализация небольшими партиями позволит менять продукт не в самом конце (как обычно делают), а в начале и по ходу разработки. В результате в самом конце доработок либо вообще нет, либо они минимальны.

- ТЗ часто используют в качестве давления на заказчика и есть риск не получить продукт, который я хочу

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

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

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

Бонус для заказчика теперь можно смело нанимать разработчиков давая им небольшой объем работ для проверки и рискуя только небольшой суммой.

Опасения подрядчика

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

При небольшом объеме разработки заказчик совершенно точно определиться с тем, что он хочет видеть в очередной итерации. Он будет вынужден. Ему это очень просто будет сделать, т.к. объем небольшой.

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

При оплате за небольшие итерации деньги будут на счете подрядчика не дожидаясь полного завершения проекта. Это в разы выгоднее.

- Обычно разработка сильно затягивается из-за все новых и новых требований заказчика. Он никак не может остановиться

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

- Объем работ должен быть ограничен, чтобы заказ окупился

Он однозначно ограничен.

Да! Решение полностью исключает все опасения! Грозовая туча работает!

Внесём дополнительные осложнения для подрядчика

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

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

Как закрыть опасения? Как сделать так, чтобы оплата осуществлялась по небольшим итерациям в проекте, котором УЖЕ чётко прописано, что оплата только в конце?

Давайте составим грозовую тучу и посмотрим на неё внимательно.

Причиной возникновения конфликта часто становятся неверные (ложные) предпосылки. Для их определения Голдрат в своих выступлениях (можно найти на Youtube) рекомендует задавать предельно простой вопрос: Really?! (Да ну?!)

Действительно ли внутреннему аудиту большой компании нужно показывать работающий продукт? Точно?! Вы действительно уверены, что нужно доводить готовый продукт до приёмо-сдаточных испытаний? Вы уверены?!

По умолчанию да, но что, если пойти и объяснить сотрудникам внутреннего аудита чем хорош подход с короткими итерациями?

Стоило бы поставить под сомнение, что ситуацию нельзя изменить. Заказчику, как было показано ранее, тоже выгодно работать по итерациям. Там же не глупые люди сидят.

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

Конечно, есть шанс, что ничего не случится, но тогда ситуация не будет отличаться от текущей и подрядчик ничего не теряет. Ну а что, если внутренний аудит пойдет навстречу?..

Приведенные выше примеры это ситуации из реальной жизни, с которыми автору статьи периодически приходилось и приходится сталкиваться.

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

Но это отдельная история.

Целью статьи было рассказать Вам о том, что с помощью Грозовой тучи можно найти очень интересные, часто прорывные решения.

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

На Ваши комментарии автор с удовольствием ответит и примет к сведению Ваши замечания.

P.S. История, рассказанная одним из рецензентов после прочтения статьи.

Просишь пример? Пожалуйста.

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

В Чехии он не нашел подходящих вариантов. Договор с фирмами его не устраивал как раз по причине того, что надо было разрабатывать ТЗ и расписывать работы на весь договор, платить сразу приличные деньги, а он четко даже не представлял, что ему, собственно, нужно.

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

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

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

Подробнее..

Синхронизация продуктовых команд в Sportmaster Lab (часть 2)

04.02.2021 16:05:13 | Автор: admin

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

Метрики

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

Наша самая главная метрика Lead Time: это характерное время, за которое задача доходит от одной из четырех контрольных точек (появление идеи, ТПР, Х и ТПО) до установки на продуктив.

..

Как видим, они образуют иерархию вложенности. Мы используем величины Lead Time, выраженные в рабочих, а не календарных днях. Если над одним продуктом работает больше одной команды, то TTM, Customer Lead Time и Х Lead Time относятся к продукту в целом, а Lead Time для потока у каждой команды может быть свой.

Устоявшейся терминологии для разных Lead Time пока нет, поэтому аналогичные по смыслу показатели у других авторов можно встретить под другими названиями, например, для потокового Lead Time (тот, который самый короткий) часто используется термин Cycle Time. Здесь буду придерживаться нашего варианта жаргона, извините, если что.

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

Потоковая диаграммаПотоковая диаграмма

Еще эту диаграмму называют Бассейн, так как она построена по принципу втекает-вытекает-оставшийся уровень. Inflow поток задач, которые взяты в поток за неделю, Done количество успешно выполненных задач, Discarded количество отбракованных из потока задач, Unfinished количество задач, оставшихся в потоке на конец недели (другое название - WiP Work in Progress).

Прогнозирование с использованием показателей Lead Time разных уровней

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

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

Визуализация эпиков и задач продуктовой команды на карте жизненного циклаВизуализация эпиков и задач продуктовой команды на карте жизненного цикла

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

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

Чтобы понять, сколько времени обычно нужно, чтобы провести задачу через поток, рассмотрим спектральную диаграмму Lead Time для потока этой команды за последние три месяца:

Спектральная диаграмма LeadTimeСпектральная диаграмма LeadTime

Для удобства рассчитываются и дополнительно выводятся на графике значения 50-го и 85-го перцентилей это количество рабочих дней, которое у команды занимает решение одной задачи для 50% и 85% всех задач соответственно. В данном случае это 2 и 4 дня. Значит, только для 15% задач Lead Time составляет больше 4-х рабочих дней. Вспомнив про типизацию задач, посмотрим на спектральные диаграммы разных типов задач по отдельности (слева направо - Дефект, Эксплуатация, Технические и Бизнес), и увидим, что для бизнес-задач 85 перцентиль составляет не четыре, а шесть рабочих дней:

Спектральная диаграммы для отдельных типов задачСпектральная диаграммы для отдельных типов задач

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

Теперь посмотрим, как можно мониторить движение эпика на всем жизненном цикле, от идеи до реализации при помощи статистики Lead Time разных уровней:

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

Рассмотрим одну из таких задач. Плановую дату ее исполнения обозначим как день Д. Построим LeadTime-профиль продукта/команды, которая будет ее выполнять, в виде таблицы:

Пример LeadTime-профиляПример LeadTime-профиля

Дни рабочие, неделя соответствует 5 рабочим дням. 85% вероятность выполнения РП считает приемлемой.

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

  1. РП приходит с новой задачей к Product Owner (PO) и договаривается о помещении ее в продуктовый бэклог с таким приоритетом, чтобы она, по предварительной экспертной оценке PO, была выполнена до дня Д. PO создает соответствующий эпик. РП ставит себе календарное напоминание на Д - 8 недель - это зеленая дата попадания эпика в следующую область Решили делать, и уходит заниматься другими делами.

  2. При срабатывании напоминалки РП проверяет, что его эпик пересек ТПР. В этом случае он ничего не предпринимает и ставит себе следующую напоминалку на Д - 14 дней (дата перемещения в Готово к взятию в поток в зеленой зоне).

  3. После очередной напоминалки РП видит, что эпик по-прежнему лежит в области Решили делать, не пересек точку Х и не декомпозирован на задачи. В этом случае он включает режим экспедирования: идет к Product Ownerу и договаривается о том, чтобы эпику подняли приоритет. Затем он ежедневно отслеживает ситуацию, пока эпик не оказывается в области Готово к взятию, декомпозированный на задачи. Предположим, что это случилось в дату Д - 8 дней.

  4. Далее имеет смысл отслеживать задачи, входящие в эпик, по отдельности. Предположим, что их три, в области Готово к взятию они расположены на втором, пятом и шестом месте по приоритетам (см. рисунок ниже). Мы уже знаем, что если задача находится на самом верху области Готово к взятию, то с вероятностью 85% она будет выполнена не позже, чем через 6 дней. Остается понять, сколько нужно времени, чтобы все три задачи эпика попали в поток. Посмотрев на потоковую диаграмму, мы увидим, что команда берет в поток в среднем 15 задач в неделю, то есть примерно по три задачи в рабочий день. Шесть задач будут взяты в работу, скорее всего, не позднее, чем за два дня. Поскольку день Д близко, РП стоит проследить, чтобы в бэклог поверх его задач не были помещены дополнительные задачи. Не стоит забывать, что команда принимает обязательства выполнить задачу только в момент ее взятия в поток, а до этого возможны изменения приоритетов.

Когда задачи 2, 5 и 6 попадут в поток?Когда задачи 2, 5 и 6 попадут в поток?

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

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

Важно: при движении эпика по жизненному циклу все виды Lead Time нужно измерять для той части эпика, которая дошла до продуктива.

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

Нужно ли автоматизировать прогнозирование сроков исполнения задач?

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

Можно ли спрогнозировать движение конкретной задачи от идеи к реализации, с учетом количества и характеристик задач, которые находятся выше нее по приоритетам и/или правее по ЖЦ? Получится ли в результате более точный прогноз, нежели мы можем получить из LeadTime-профиля продукта? Ведь пробабилистический прогноз с помощью LeadTime-профиля учитывает только в какой области находится задача , но не учитывает, сколько и каких задач команде предстоит сделать, прежде чем она приступит к интересующей нас задаче. Примерно как РП из предыдущей главы оценивал время, когда задачи 2, 5 и 6 будут взяты в поток, только автоматически, с учетом характеристик задач, подробных исторических данных.

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

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

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

"Самосбывающийся прогноз"

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

  1. Договориться об изменении приоритета задачи.

  2. Сократить скоуп и требования, реализовать сначала ту часть, которая дает наибольший эффект при меньших затратах.

  3. Реализовать сначала менее трудоемкое, временное решение с образованием.

Достижение необходимого срока возможно без штурмовщины, если:

  1. Изначальные сроки реалистичны - находятся в зеленой зоне LeadTime-профиля команды.

  2. Задача действительно нужна, кто-то ждет ее выполнения и прилагает периодические усилия для поддержания ее приоритета.

  3. Продуктовая команда работает в штатном режиме: осуществляет регулярное управление техническим долгом; большая часть задач команды не имеет жестких дедлайнов и их можно подвинуть в случае необходимости; команда не работает со 100% напряжением, у нее есть резерв для маневра.

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

Изменение зон ответственности при работе со сроками

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

В проектной парадигме базовый алгоритм работы со сроками следующий.

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

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

В продуктовой парадигме:

Заказчик проявляет регулярное внимание к задаче, актуализирует ее приоритет и оценку ценности в сравнении с конкурирующими задачами. Команда (исполнитель), как правило, не берет на себя ответственность за выполнение задач к определенному сроку. Вместо приложения усилий для достижения сроков по отдельным задачам команда концентрируется та том, чтобы все свои задачи выполнять одинаково быстро и предсказуемо.

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

Что может сделать команда для повышения своей прогнозируемости.

Для того чтобы работа команды была прогнозируемой, нужно чтобы у показателей Lead Time разброс (дисперсия распределения) был поменьше. Даже при небольшом разбросе не нужно забывать, что это вероятностный, а не детерминистический прогноз, отклонения всегда возможны, и ни одна команда не может быть на 100% предсказуемой. Но если распределение имеет большую дисперсию, то этот показатель полностью теряет предсказательную силу.

Вернемся к таблице LeadTime-профиля. По различию в 50-м и 85-м перцентилях легко понять, насколько силен разброс значений соответствующего Lead Time. Понятно, что по мере движения по жизненному циклу слева направо проработанность задач увеличивается, а степень неопределенности уменьшается. В нашем примере для Lead Time потока 85-й перцентиль больше 50-го в полтора раза (6 и 4 рабочих дня), а для Customer Lead Time - уже более чем в три раза (8 недель = 40 р.д. и 12 р.д.).

Для внешних интересантов интереснее всего предсказуемость задач как раз в левой части жизненного цикла, в областях идеи и решили делать. От этих прогнозов зависят решения, которые принимаются при формировании дорожных карт и бизнес-планов. Будет ли готова новая функциональность к началу новой коллекции, или надо сразу отложить ее внедрение на полгода, до следующей коллекции? На какой период планировать дополнительные ресурсы, связанные с этим? И множество других важных вопросов. В идеале, заказчик хочет знать, когда будет готово, сразу же, как только он высказал новую идею в наших терминах это значит, что дисперсия распределения Time to Market должна быть как можно меньше. К сожалению, обеспечить такую предсказуемость в области идей для команды очень сложно, так как эта область в наименьшей степени подвержена ее влиянию. Если каждую идею прорабатывать сразу до такой степени, чтобы по ней можно было дать обоснованный срок реализации, у команды не останется времени на полезную работу все уйдет на детальную проработку идей, которые никогда не будут реализованы.

Поэтому усилия по улучшению предсказуемости предлагается прилагать, начиная с области Решили делать, куда задачи (они же - эпики) переносятся через Точку Принятия Решения с участием представителей команды. Поэтому на разброс Customer Lead Time повлиять уже возможно, и для этого подходит то же средство, которые команды привыкли использовать для стабилизации работы своего потока - ограничение количества задач, находящихся в работе. На область Решили делать можно установить WiP-лимиты, так же, как это делается большинством продуктовых команд для этапов работы в потоке и для области Готово к взятию в поток.

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

Такой подход позволяет постоянно и предсказуемо работать с новыми идеями, не превращая область в свалку идей.

Предсказуемое поведение Customer Lead Time дает заказчикам хорошую точку опоры, границу стакана, которую не стоит переходить, и позволяет заботиться о судьбе своих идей и обеспечивать их переход через ТПР раньше, чем они попадут в красную зону.

Выводы

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

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

Для контроля сроков применяются методы визуализации и прогнозирования. Управление осуществляется через динамическое изменение скоупа и приоритетов.

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

Это все. Спасибо, что дочитали! :)

Подробнее..

Проектный подход к детскому футбольному лагерю (и немного про сетевую депривацию)

26.03.2021 10:08:08 | Автор: admin


Как это ни странно, именно на лагере можно хорошо показать, как работают многие штуки в проектном управлении обычного бизнеса.

Пример. Наши тренеры в летних лагерях не дают детям пользоваться сотовыми телефонами больше полутора часов в день. Поначалу это вызывает страшные последствия, но затем сказывается на спортивной подготовке и командности. Тема продумана с лучшими умами РГУФК, как и другие части методологии обучения футболу, но сам факт современного ребёнка без телефона это, конечно, нечто. Особенно интересны разные возникающие проблемы.

Вот как бы вы решили ситуацию, когда 9-летний ребёнок не может уснуть без сказки? Он сейчас подошёл к вам и просит выдать ему телефон, чтобы родители позвонили ему в Телеграм и рассказали эту самую сказку. Проблема в том, что в лагере есть правило: телефонами можно пользоваться с 9:00 до 10:00 и с 21:10 до 21:45. А сейчас уже 21:52. Если дать ему телефон остальные дети увидят преференцию и будут расшатывать правила до победного. У детей обычно хорошо это получается, родители каждый день развивают в них навык тестировщиков. А если не дать телефон он не уснёт и будет очень сильно расстроен.

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

И вот он принимает волевое решение рассказать ребёнку сказку. Что именно он там рассказал, он до сих пор не сознаётся, но мы знаем, что дальше под впечатлением от истории маленького отважного футболиста ребёнок все следующие ночи засыпал сам.

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



Тактический разбор игры

Что такое детский футбольный лагерь


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

Для родителей такое спортивно-оздоровительное мероприятие возможность передать ребёнка на 8-10 дней нам, знатно покутить это время и получить ребёнка обратно в более оздоровленном виде и с новыми друзьями. Если бы мы были в Китае, то продавали бы возможность познакомиться с кучей новых людей, которые позже станут часть социальной сети ребёнка ну, знаете, есть у нас в стране известный социальный граф людей, познакомившихся на дзюдо. Если бы мы жили в Голландии, то продавали бы это как оздоровительную программу, после чего ребёнок будет готов к следующему школьному году. Но мы живём в России, поэтому для родителей это возможность съездить в Крым или просто посидеть дома в непривычной тишине.

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

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

С точки зрения бизнес-модели такие активности это ещё резкое увеличение LTV клиента. Ребёнок, который побывал с нами в смене, на порядок больше увлекается футболом (независимо от своего пола, комплекции и стартовой подготовки). В финмодели это означает, что он будет ходить до конца года, и ещё поедет в следующий такой отдых. Казуально ему просто понравится это хобби, и он дальше будет извлекать из него эндорфины.

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

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

В смене от 12 (минимум) до 49 (пока максимум) детей. Живут они обычно в комнатах по 2 или 4 человека в зависимости от базы. Кстати, сразу забегая в раздел проектного траблшутинга: по трое селить нельзя, потому что в любом незначительном конфликте образуется ситуация двое против одного, что дальше ведёт к дисбалансу во внутренней политике. В отличие от авторегулирующихся политических систем, этот союз не успевает несколько раз поменяться, поэтому в рамках смены стабилен. Возраст от 6 до 13. Чтобы вы понимали, что такое 13 лет уточню, что на первый турнир после лагеря наш старший игрок пришёл с 15-летней девушкой. Тренерский состав был приятно удивлён. Особенно тем, что у тренера нет девушки, а футболисты вот уже приходят.

Управление заинтересованными сторонами


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

То есть у родителей есть потребность в постоянном контроле, к которому они привыкли. У детей в постоянном интересном занятии. Не то, чтобы эти потребности поменялись от поколения к поколению, но теперь транзакции стали чаще. То есть если дети идут в поход занятием будет не сам поход, а 142 его продуманных эпизода по отдельности. И если родители раньше могли раз в 3 дня созваниваться с ребёнком с городского телефона, то теперь транзакции нужны каждые несколько часов.

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

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

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

Вот пример отчёта:
День второй
Ребята уже заметно освоились и сдружились. Тренировки прошли очень бодро и в интенсивном темпе. Перед завтраком была пробежка на свежем воздухе и зарядка в парах с комплексом упражнений. На утренней тренировке работали над координацией движения, приемом и передачей мяча. После тренировки ребята пошли в бассейн (было свободное плавание и соревнования по плаванию, где все ребята очень хорошо себя проявили). На вечерней тренировки провели разминку в стиле футбольного клуба Barcelona, после чего были упражнения направленные на удары по воротам. В конце тренировочного занятия поиграли в футбол в разных форматах 3x3, 2x2 и 1x1. Питание вкусное, полезное и все с удовольствием кушают, в отличие от первого дня, рацион хорошо подбирают. Досуг провели с настольной игрой Мафия, было очень весело и эмоционально. Зарядка сегодня проходила в форме игры салки. Выбирается 2-3 ведущих, которые должны салить остальных ребят, кого из ребят осалили должны замереть на месте и ждать помощи от других игроков, они в свою очередь могут спасти их дотронувшись рукой. После 30 секунд, тренер меняет водящих.


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



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

Управление конечными пользователями


Для детей в лагере есть два типа занятий: скучная рутина типа заправления кроватей или некоторых элементов тренировок и что-то весёлое, что они делают типа игры в футбол или 142 элементов похода.

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

Так можно сделать не с каждым видом деятельности. Например, очень тяжело объяснить ребёнку, что заправлять кровать весело. Поэтому для тупых повторяющихся действий используется игрофикация это идеальный инструмент для превращения рутины в чуть более терпимую. Главное в этом деле не делать сложную систему там, где это не нужно. После ряда экспериментов выяснилось, что хорошо работает система 5 баллов Гриффиндору!, интуитивно понятная для детей. Но методология не предполагает конкуренции между двумя или четырьмя группами детей, мы постоянно перемешиваем составы команд и, вообще-то, формируем одну большую команду в конечном итоге. То есть у нас тут не PvP-лагерь, а, скорее, PvE. В общем, после ряда упрощений это стало просто системой получения баллов за порядок (почти как премии продавца в магазине настолок): заправил кровать держи балл. Почистил зубы держи балл. Команда выиграла в Что, где, когда с футбольными вопросами вечером все победители получают по баллу. Выиграли матч всем по баллу. Понятно, что есть уязвимость в том, что ребёнок может отстать и решить, что баллы ему не нужны и перестать равняться на хорошее поведение. Но практика показывает, что даже самые отмороженные товарищи, чётко просекающие такие психологические манипуляции, идут в районе 60-70% от возможного максимума. Мы стараемся не фокусироваться на личном соперничестве, а просто показываем эти баллы родителям. Детям до примерно 8-10 лет очень важно отношение родителей. А дети в 10-13 лет уже хотят показать, что они крутые сами, и ищут способы эти баллы взять для этого.

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

Общий распорядок дня
07:30 Подъем
07:30-07:50 Гигиенические процедуры
07:50-08:00 Дорога от корпуса до поля/зала
08:00-08:30 Зарядка
08:30-08:40 Дорога от поля до столовой
08:40-09:10 Завтрак
09:10-09:15 Дорога от столовой до корпуса
09:15-09:30 Общение с родителями по телефону
09:30-10:10 Настольные игры и творческий мастер-класс Мой футболист: придумать дизайн, логотип, название формы футболиста, и раскрасить картинку в соотвествии с этим. Придумать имя игроку.
10:10-10:20 Сбор на тренировку
10:20-10:30 Дорога от корпуса до поля
10:30-12:30 Тренировка
12:30-12:40 Дорога от поля до корпуса
12:40-13:00 Гигиенические процедуры
13:00-13:05 Дорога от корпуса до столовой
13:05-13:45 Обед
13:45-13:50 Дорога от столовой до корпуса
13:50-15:50 Дневной отдых. Чтение
15:50-16:00 Полдник
16:00-16:40 Задания на сплочение коллектива. Сегодня совместное обсуждение тактики, необходимо начертить схему 2 команд, написать свой звёздный состав любимых игроков, придумать название команды и написать с каким счетом закончится встреча.
16:40-16:50 Сбор на тренировку
16:50-17:00 Дорога от корпуса до поля
17:00-18:30 Тренировка
18:30-18:40 Дорога от поля до корпуса
18:40-19:00 Гигиенические процедуры
19:00-19:05 Дорога от корпуса до столовой
19:05-19:35 Ужин
19:35-19:45 Дорога от столовой до места проведения вечернего досуга
19:45-20:45 Вечерний досуг (футбольный квиз и затем лепили талисман удачи из пластилина)
20:45-21:10 Собрание. Выставление оценок за день
21:10-21:45 Общение с родителями по телефону
21:45-22:00 Гигиенические процедуры
22:00 Отбой




Досуговые блоки всё время разные, мастер-классы тоже. Есть театр, караоке-баттл, дискотека. Много настолок, продвинутые тактические занятия по футболу, просмотр спортивного фильма, просмотр футбольного матча. Очень хорошим форматом, кстати, оказался просмотр матча или фильма с комментариями тренера (ну и вообще это интересная тема). Например, у меня было так: можно смотреть Крокодила Данди как приключенческий фильм, а можно после поездки по Северным территория Австралии понять, сколько там пасхалок, стёба над местным культурным кодом и чёткого показа тонких нюансов жизни в NT и пояснять это зрителям. Ну вот примерно так же тренер может объяснять матч в разрезе того, что знают и умеют дети, указывая, на что стоит обратить внимание. В общем, он как хороший стример, только тренер.

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

Ещё один способ превратить любую скучную деятельность в интересную это внести дух бунтарства и сломать часть устоявшихся правил. В этом плане я безумно обожаю книгу Школа для негодяев прекрасного Денни Кинга (такого Гая Ричи мира литературы) про то, как преступники воспитывали преступников. Разумеется, я ни в коем случае не рекомендую так делать. Категорически. Но пример мета-игры прекрасен:

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

Бочка на полную катушку воспользовался случаем. Будучи самым жирным и медлительным куском дерьма в школе, который всегда приходил последним, он решил извлечь выгоду из того, на что мог повлиять, а именно на исход кросса Поначалу он убирал только тех, кто ему не нравился (в том числе, так и норовил зацепить меня) и старался помешать самым быстрым бегунам, таким как Шпала, Рыжий, Тормоз, Трамвай, Конопля и Котлета из комнаты А. Кто-либо из них выходил в лидеры каждый день, а Бочка регулярно пытался лишить их законной победы Наверное, это продолжалось бы еще долго, если бы Трамвай не подал пример, которому позже последовали другие. Как-то перед началом кросса Трамвай сунул Бочке шоколадку в обмен на обещание его не трогать. Бочка охотно согласился, а за вторую обещанную шоколадку придержал самого серьезного соперника Трамвая и преподнес тому на блюдечке победу, освобождение от подтягиваний и обжигающе горячий душ.

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


Разрешение конфликтов


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

Первый предсказуемый конфликт это ребёнок хочет домой. Обычно пик случается в первый вечер, когда родители безвозвратно уехали за 100-150 километров (был отель Велна в Подмосковье) или же вообще в Москву при том, что сборы в Сочи. Ситуация сглаживается, если место поближе к городу например, родителям нравится, если точка за 100 километров от Москвы: можно приехать на выходных и посмотреть, как там ребёнок. В этом году будет парк-отель Покровское в 40 км в лесу около озера и Софрино в 30 км. Причём в Софрино ставим эксперимент с совместным размещением родителей в четырёхзвёздочном отеле, они у нас тоже будут тренироваться, если захотят. Плюс танцы, плюс анимация от отеля. Третья база в Сергиевом Посаде в 70 километрах от Москвы.

Если мы говорим не про то, что родители уезжают, то для многих детей это вообще первое более-менее длительное расставание и первый лагерь. И переносят они и его, и сразу новую среду болезненно. Те, кто приезжает второй-третий раз (а таких уже много), наоборот, вполне спокойны и предвкушают отдых. Историю про сказку вы уже знаете. Более яркий пример маленький парень поехал без родителей, плакал и домой просился в первый день (как и многие). Родители, с одной стороны, переживали за него и боялись отпускать, с другой понимали, что это нужно. Тренер (вожатый подготовка вожатого включает психологию) заранее проговорил с ними эту ситуацию. В конечном итоге родители приняли, что это нормально, и не приехали в панике его забирать в первый же вечер после его звонков о том, как всё вокруг ужасно. В других случаях, бывало, приезжали, да, один раз даже забрали ребёнка. Вторая важная вещь у тренера была заготовка для личной беседы. Лионель Месси, известный футболист, в 15 лет уехал вообще за океан. Если эту историю правильно подать, ребёнок войдёт в состояние я тоже так могу и, похоже, эта история сработала.

В первый день делается большой футбольный матч с 6 воротами на всех, а вечером используются традиционные механики знакомств, которые не менялись уже лет 80, наверное.

Ещё если лагерь близко, мы стараемся разбивать смену родительским днём. Это нужно не только детям, но и родителям, чтобы они вникли в то, что происходит, всё осмотрели лично в проде и заглянули на кухню. Кульминация этой истории дружеский матч детей против пап. Тут важное снятие конфликта это не ставить родителей и детей в одну команду, потому что дети уже в 6 лет знают, что такое правильный пас, а родители в свои 35 уже нет. И чтобы не было обид на то, что папа не очень командный игрок, надо играть не с ним в команде.

Телефоны. То, что они будут два раза в день по расписанию оговаривается сразу. Остальное время телефоны заперты в вожатской комнате. Обычно (если программа интенсивная) дети это воспринимают более-менее нормально, но бывают исключения. Телефон это возможность связаться с родителями, и там же любимые игры. У нас был ребёнок с серьёзной зависимостью от игры Brawl Stars. Как потом выяснилось, на фоне игровой депривации он вёл себя спокойно, улыбался, шёл на контакт с другими детьми и параллельно развивал очень продуманную кампанию по давлению на бабушку. Не на родителей, с которыми говорил тренер, а именно на бабушку. В итоге она и приехала его эвакуировать, что доставило нам некоторые сложности. К счастью, разобрались.

Отсутствие телефонов рождает в первые дни ещё несколько следствий, которые чётко показывают разницу между поколениями. Например, тренер как-то пропустил момент, что дети начиная лет так с 5-6 способны любой прибор превратить в средство связи. Возможно, вы помните уязвимости терминалов оплаты, которые через справку Винды пускали в большой Интернет. У нас дети быстро поняли все профиты телевизора, который принесли для показа футбольного матча вечером, что стало сюрпризом для тренеров.

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

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

Уборка и гигиена. Дети не всегда убираются самостоятельно, не всегда понимают, зачем мыться и так далее. Особенно те, кто воспитывается при деятельном участии бабушки, балующей напропалую. Тут работает всё и пример других детей, и система баллов (она даёт навигацию, что делать) и тренер-вожатый, который объясняет, что должен делать взрослый мужчина сам. Дети очень хотят стать взрослыми мужчинами и слушают его.

Ещё один случай непонимания моделей поведения был связан с кражей чокопая. Несколько детей по незнанию забрали два или три десерта, и, получается, кому-то не досталось. Там история очень характерная для бизнеса, кстати. Сначала дети косякнули по незнанию, просто не понимая, что десерты не бесконечные. Потом осознали ситуацию и очень испугались, потому что провинились. Точно так же делают косякнувшие сотрудники в компаниях, где ошибаться опасно: вместо того, чтобы сразу об этом сказать и знать, что надо будет просто исправить они пытаются заныкать проблему всеми силами. Что означает, что она всплывёт в финале истории, а не когда с ней можно что-то делать. Многие родители тоже не прощают детям ошибок и ругают за каждую. Тренеру пришлось на ходу объяснять, что сама ошибка это не проблема, важно отношение к ней. В итоге трое это быстро поняли и решили ситуацию с десертами, а один после отвёл тренера в сторону, признался и попросил никому про это не рассказывать.

Конфликты между детьми. У нас не было конфликтов между младшей и старшей группой, основные сюжеты развивались между сверстниками. Для дедовщины времени смены не хватает, для иерархии дети не того поколения (они больше заинтересованы в сотрудничестве), но показать свою крутость хотят почти все парни. Самый яркий конфликт был между двумя соседями по комнате. Началось с того, что родители связались с вожатым и сказали, что хотят забрать парня домой. Началось расследование инцидента: вожатый подготовил тактику переговоров, вышел на психологическую беседу, вытащил всё негодование. Негодовал он по двум причинам: 1) сосед по комнате доставал его, оскорблял и прятал вещи, 2) утренняя пробежка была слишком тяжёлой и портила весь день. Поговорили с соседом, его родителями, перевели его в другую комнату (отдельную, размещение позволяло). На следующую пробежку передвинули чуть по времени. Во-первых, на неё вышли все тренеры, чтобы парень видел, что они бегут с ним. Во-вторых, это было время, когда по тому же маршруту те же мучительные долгие 8 минут бежали девчонки-гимнастки. Это решило все проблемы. Начиная с пятого дня он бегал быстрее всех и дольше всех среди сверстников на поле.

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

Нет интереса к спорту. Знаю, для спортивных сборов звучит странно, но такое случается. 90% детей горят футболом, но попадаются и те, кого родители отправили развивать командность и физическую форму, потому что так надо. Первый случай был с товарищем, который в свои 10 лет был тяжелее тренера: родители надеялись как-то поправить этот факт. Естественно, и бегать, и тренироваться ему было тяжело. Кончиться это могло либо как с рядовым Кучей (по Макаренко наступлением коллективной ответственности), либо же как-то иначе. Тренеры, к счастью, просчитали ситуацию и нашли ему подходящего сверстника, который был легче, но показывал такие же спортивные результаты. Пара слов, и вот он уже чувствует, что может потому что надо чуть-чуть постараться, и превзойти этого товарища. Так до конца смены они и играли друг с другом в футбол, тренировались вместе и позже стали друзьями.

Кто-то просто выполняет нормативы удовлетворительно, но находит интерес в другом. Например, есть парень, который играет так себе, но в остальном душа компании и крутой лидер. Важно проработать часть, где авторитет зарабатывается не только на футбольном поле. Очень многих детей узнали с другой стороны. Кто-то умеет круто танцевать, кто-то внезапно вложился в театральную постановку с ужасной серьёзностью, тактически её проанализировал и предложил стратегию победы любой ценой, кто-то рвал всех в интеллектуальных играх и тактике, и так далее. Но, конечно, футбол тоже надо делать развлечением, а не обязанностью. Ещё один парень в очках в конце смены сообщил нам, что Теперь я готов полюбить футбол на 60%. Это круто.

NPS по Тарусе 2020





Ну и, конечно, непредвиденные ситуации. У нас самым смешным было то, как у ребёнка выпал зуб. Это нормально, молочные зубы часто так делают. Проблема в том, что это был маленький ребёнок, и он на полном серьёзе ждал молочную фею, в которую верил куда больше, чем в Конституцию РФ. Он показал зуб тренеру и поделился планом положить его под подушку как обычно. Тренеру пришлось срочно связываться с родителями, узнавать стандартную процедуру визита зубной феи, доставать конфету, разрабатывать план операции по скрытному проникновению и осуществлять замену зуба на эту самую конфету.

Немного про финмодель


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

Маленькая смена весной или зимой для родителя стоит от 25 до 30-32 тысяч рублей, летние дороже, около 40-45 тысяч (Сочи с вылетом дороже). День стоит около 4100 при 3-местном размещении. Зимой есть пик по цене с 2 по 10 января, когда ценник проживания выше, потому что базы и отели заняты отдыхающими. Следующие смены с ценами вот здесь. Отчёты с прошлой тут Вконтакте.
Подробнее..

Гайд по сертификациям. Часть 1. Agile

24.05.2021 08:13:54 | Автор: admin

По Agile доступно огромное количество курсов. Кроме специализированных курсов по проектному управлению есть ещё сертификации.

Зачем получать сертификаты по проектному управлению? Существуют несколько причин:

  • Систематизировать ранее полученные знания.

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

  • Проверить свои силы. Сертификация даст ответ насколько ты хорош.

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

  • Повышение. Сертификаты повышают вашу стоимость в глазах работодателя.

Сертификаты можно разделить на три типа:

Перед подготовкой к сертификации вам нужно ответить для себя на несколько вопросов:

  1. Для чего вам нужен сертификат?

  2. Какую методологию/фреймворк вы используете или хотите использовать?

  3. Какая у вас текущая или желаемая роль в компании?

ICAgile

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

Карта треков
Agile DeliveryAgile DeliveryBusiness AgilityBusiness Agility

Agile Delivery и Business Agility.

Обучение проходит по 8 трекам плюс 1 бизнесовый блок.

В каждом треке есть 2 уровня. Прошёл обучение по каждому уровню получаешь статус по всему треку.

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

Сертификат

Сертификат пришлют в течение 4 недель после курса. Сертификат выдаётся бессрочно, продлевать не нужно.

Пример сертификата

Проверить сертификат на действительность можно по ссылке.

Стоимость обучения варьируется в зависимости от трека от 35 до 90 тысяч рублей. Стоимость курса включает выдачу сертификата. Ничего доплачивать не нужно.

Из плюсов:

  • Международный сертификат.

  • Разнообразие, можно прослушать курсы по нескольким направлениям: Agile, DevOps, опер блок.

  • Сертификат выдаётся бессрочно.

Из минусов:

  • Отсутствует экзамен. Человек, который старался, слушал курс, и человек, который просто присутствовал, равны.

PMI

PMI. Одна из самых сложных сертификаций. На экзамене понадобятся знания широкого круга методологий и фреймворков.

Треков нет.

Сертификат

Это одна из немногих сертификаций, до которой ещё необходимо допуститься.

Для получения доступа к экзамену потребуется:

  • Не менее 12 месяцев опыта управления проектами за последние 5 лет;

  • Не менее 8 месяцев управления Agile проектами за последние 3 года;

  • 21 час обучения на любом курсе Agile (не обязательно аккредитованом).

Описание требований для доступа к экзамену. Курсов по подготовке к экзамену не так много.

Нужно быть готовым подтвердить информацию в анкете. Ваша заявка может попасть под аудит.

Сам экзамен состоит из 120 вопросов, большая часть вопросов ситуационные, основаны на практических кейсах. На экзамен отводится 3 часа. Критерий успешной сдачи не раскрывается, но, по слухам, составляет примерно 70 правильных ответов. Русский язык на экзамене пока ещё недоступен придётся сдавать на английском.

Пример сертификата

Проверить сертификат на действительность можно по ссылке.

Сертификат необходимо продлевать каждые 3 года. Для этого достаточно пройти 30 часов обучения на сертифицированных курсах. Подробная информация по ссылке.

Стоимость аккредитованных курсов от 1 до 200 тысяч рублей. Зависит от количества часов, страны и жадности провайдера курсов.

Из плюсов:

  • Одна из самых именитых компаний.

  • Необходимо сдать экзамен.

Из минусов:

  • Одна из самых сложных сертификаций.

  • Необходимо допуститься до экзамена.

  • Высокая стоимость экзамена (495 USD).

  • Экзамен доступен только на английском языке.

  • Нужно продлевать сертификат.

IAPM

IAPM. Малоизвестный провайдер IAMP. Сертификация основана на стандарте AgilePM Guide 2.0. Стандарт включает инструменты и техники из нескольких фреймворков: Agile, Scrum, Kanban и других.

Ссылка на сам стандарт.

Карта треков

К сертификации доступно 4 уровня: Certified Junior Agile Project Manager, Certified Agile Project Manager, Certified Senior Agile Project Manager, и Certified International Project Manager.

Сертификат

Курсов по подготовке не так много, и доступны они только на английском языке.

Пример сертификата

Проверить сертификат на действительность можно только отправив запрос на почту support@iapm.net.

Экзамен состоит из 120 вопросов, на которые будет отведено 80 минут. Для успешной сдачи необходимо правильно ответить на 78 вопросов. Более подробно по ссылке.

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

Из плюсов:

  • Международный сертификат.

  • Необходимо сдать экзамен.

  • Не нужно продлевать сертификат.

Из минусов:

  • Малоизвестный провайдер в РФ.

  • Экзамен доступен только на английском языке.

Scrum Alliance

Scrum Alliance. Компания была основана в 2002 году авторами The Scrum guide Джеффом Сазерлендом и Кеном Швабером. Сертификат от Scrum Alliance один из двух самых известных в мире сертифицирующих организаций по Scrum. О второй позже.

Карта треков

В Scrum Alliance есть три трека для сертификации по ролям: Scrum master, Product owner, Developer. У всех трёх ролей есть три ступени Certified, Advanced и Professional.

Также Scrum Alliance предлагает еще 4 дополнительных трека Agile Leadership, Team Coach, Enterprise Coach и Trainer.

Сертификат

Чтобы допуститься к экзамену, необходимо обязательно пройти аккредитованные курсы.

Курс длится 2 дня. После прохождения обучения у вас будет несколько попыток сдать экзамен на официальном сайте Scrum Alliance.

Пример сертификата

Проверить сертификат на действительность можно по ссылке.

Экзамен состоит из 50 вопросов, на решение которых будет отведён 1 час. Критерий прохождения - 37 правильных ответов.

После прохождения обучения вам будет доступно несколько бесплатных попыток для сдачи экзамена. Экзамен доступен на официальном сайте scrum alliance и только на английском языке.

Стоимость обучения составляет порядка 65 тысяч рублей за 1 ступень, включая взнос за экзамен и 2 попытки, далее $25 за каждую попытку.

Для получения следующей ступени сертификации необходимо обязательное наличие предыдущей.

Сертификацию нужно продлевать каждые 2 года. Для продления необходимо набрать достаточное количество баллов SEUs на аккредитованных курсах плюс заплатить взнос. К примеру, для продления самой популярной сертификации Product owner и Scrum Master потребуется 30 часов курсов и оплата взноса в размере 175 долларов.

Подробная информация о продлении по ссылке.

Из плюсов:

  • Всемирно известная компания.

  • Необходимо сдать экзамен.

Из минусов:

  • Экзамен доступен только на английском языке.

  • Нужно продлевать сертификат.

Scrum.org

Scrum.org. Вторая всемирноизвестная сертификация по Scrum. Компания Scrum.org была основана в 2009 году Кеном Швабером.

Карта треков

Для сертификации доступно8 треков, 3 из которых организованны по ролям: Scrum Master, Product Owner и Developer. Остальные пять Scaled Professional Scrum, Professional Scrum with Kanban, Professional Agile Leadership, Professional Agile Leadership-EBM, Professional Scrum with User experience.

Сертификат

После прохождения обучения вам будет доступно несколько бесплатных попыток для сдачи экзамена. Экзамен можно сдать на официальном сайте scrum.org и только на английском языке.

Пример сертификата

Проверить сертификат можно по ссылке.

Количество вопросов и стоимость сертификации отличается от трека к треку.

На примере сертификации Scrum Master.

Количество вопросов

Критерий сдачи

Продолжительность экзамена

Стоимость

PSM1

80 вопросов

85%

60 минут

150 USD

PSM2

30 вопросов

85%

90 минут

250 USD

PSM3

30 вопросов + эссе

85%

150 минут

500 USD

Сдать экзамен и получить сертификат можно и без прохождения курсов.

Для получения любой ступени не требуется наличие предыдущей. Вы можете сразу получить сертификацию PSM3, минуя предыдущие ступени.

Стоимость обучения составляет порядка 50-80 тысяч рублей за 1 ступень, включая взнос за экзамен и 2 попытки.

На сайте scrum.org доступно бесплатное тестирование, которое может пройти любой желающий. Сертификата не дадут, но можно понять уровень подготовки.

Из плюсов:

  • Всемирно известная компания.

  • Необходимо сдать экзамен.

  • Сертификат не нужно продлевать.

Из минусов:

  • Экзамен доступен только на английском языке.

Kanban University

Kanban University. Сертификация проходит аналогично ICAgile, прослушал курс получи сертификат. Для сертификации доступно 5 треков.

Карта треков

Team Kanban Practitioner это однодневный курс для тех, кто хочет познакомиться с Kanban.

Чтобы получить Kanban Management Professionalнеобходимо пройти обе ступени KMP1 и KMP2.

Треки Management, Coaching, Consultant и Trainer подойдут для тех, кто планирует стать тренером или коучем по Kanban.

Сертификат

Пример сертификата

Проверить сертификат можно по ссылке.

Обучение проходит в течении 1-2 дней, зависит от трека. Стоимость составляет порядка 25-50 тысяч рублей за одну ступень.

Из плюсов:

  • Международный сертификат.

  • Сертификат выдаётся бессрочно.

Из минусов:

  • Отсутствует экзамен.

Перечень провайдеров

Таблица с гиперссылками

Фреймворки/

методологии/ итд

Основные роли

Сертифицированные тренинги

Стоимость, руб

Нужно ли продлять сертификат

Язык сертификации

ICAgile

Agile

DevOps

Product manager

Project manager

Team role

Coach

OnAgileAcademy

AgileLab

ScrumTrek

ProductLab

35-90 тыс руб

нет

Рус

PMI

Agile

Project manager

Udemy

PMI

От 1 тыс руб

+ 475 USD за экзамен

175 USD

30 PDUs

Англ

IAPM

Agile

Project manager

IAPM

По запросу

нет

Англ

Scrum Alliance

Scrum

Scrum master

Product owner

Developer

Trainer

Coach

Skillbox

ScrumTrek

ThinkAgile

65 тыс руб

50-250 USD

10-40 SEUs

Англ

Scrum.org

Scrum

Kanban

Scrum master

Product owner

Developer

Coach

Agile.live

50-80 тыс руб (включая плату за экзамен)

Нет

Англ

kanban.university

Kanban

Team member

Manager

Consultant

Trainer

Coach

ScrumTrek

25-50 тыс руб

нет

Рус


Нет плохих или хороших сертификаций по проектному управлению. Сертификаты востребованы у работодателей т.к. позволяют отсеять людей при найме.

Кроме наличия необходимых знаний международный сертификат показывает работодателю что:

  • Ты целеустремлён и знаешь чего хочешь, т.к. потратил время на подготовку и получение сертификации.

  • Ты стремишься развиваться и получать новые знания.

  • Ты знаешь теорию достаточно, чтобы пройти все испытания.

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

А если я упустил какую-либо информацию, напиши в комментарии. Я обязательно её добавлю.

Подробнее..

Управление по исключениям или эскалация в проектном менеджменте

28.05.2021 12:18:53 | Автор: admin

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

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

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

В странах со зрелым управленческим менеджментом давно применяются процессы управления по исключениям. Самое явное определение таким процессам дает стандарт PRINCE2: Руководство проектами следует осуществлять путем определения обязанностей и ответственности на каждом уровне проекта при помощи строгого делегирования полномочий. Допустимые отклонения должны быть определены для каждого уровня плана проекта.

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

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

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

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

  1. Выявите заинтересованность или ее отсутствие в решении проблемы путем диалога. Другими словами попробуйте просто спросить почему нет (почему не решается проблема или у кого отсутствует интерес к ее решению).

  2. Открыто оповестите противоположную сторону о необходимости/потребности в эскалации, тем самым вы избавитесь от подковёрных игр и наращивания негатива в проекте после эскалации.

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

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

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

Подробнее..

Голосовой ассистент Виталий (школьный проект)

26.03.2021 14:15:31 | Автор: admin

Предостережение

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

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

Введение

Меня зовут Глеб (8 кл) и я задался целью сделать хорошую открывалку/закрывалку и немного говорилку для windows, вообщем голосового ассистента на python.

На момент написания поста ассистент имеет версию alfa 4.0 и непозицианирует себя как серьезный продукт или не дай бог конкурента Алисе или Siri.

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

КОД

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

РАСПОЗНОВАНИЕ РЕЧИ

Для работы разпозновалки я выбрал speech recognition и в итоге был реализован такой код(сборная солянка из видеоуроков):

import speech_recognition as sr#кортеж с предлжениями, каждую итерацию цикла ассистент дает рандомное предложение (Скажите что-нибудь например "открой браузер")recomend = ("Открой браузер", "Найди в интернете стихи А. Пушкина.", "Как дела?", "Что ты умеешь?", "Запомни код от домофона 495 544.", "Найди на ютубе котиков.")#распознование (и не просите, в функцию не добавлю так, как оно все-равно нужно только раз за итерацию цикла)    rec1 = len(recomend) - 1    rec2 = recomend[random.randint(0, rec1)]    print('-------------------')    r = sr.Recognizer()    with sr.Microphone() as source:    print("Скажите что нибудь, например:", rec2)    r.pause_threshold = 1    #r.adjust_for_ambient_noise(source, duration=1)    audio = r.listen(source)    try:    #разпознаное сохраняется в переменную an (answer)      an = r.recognize_google(audio, language="ru-RU").lower()    print("Вы сказали: " + an)    except sr.UnknownValueError:        t = "Я вас не слышу, говорите громче!"        print("Сбой системы распознования речи. ")

Очень прошу в комментарии покидать более качественные аналоги speech recognition.

СИНТЕЗ РЕЧИ

Для синтеза речи я выбрал голос vokolizer, а также библиотеку pyttsx3. В коде это выглядит так:

import pyttsx3#Настройка голоса, индекс голоса читаем из файла.f = open("tts.txt", "r")tts1 = int(f.read(1))f.close()text = ""tts = pyttsx3.init()speak_engine = pyttsx3.init()voices = speak_engine.getProperty('voices')speak_engine.setProperty('voice', voices[tts1].id)#функция синтезы речиdef run():    tts.say(t)    tts.runAndWait()    print("Виталий:", t)    #пример запросаt = "Привет мир"run()

ПОДБОР ФРАЗ ДЛЯ КРАСИВОГО SMALLTALK

Тут я решил сделать возможность быстрого изменения фраз, поэтому сделал такой алгоритм:

import os#читаем файл smalltalk и делаем 2 списка: 1 - с ключевыми словами, 2 - с ответами ассистентаf = open("smalltalk.txt", "r", encoding="utf-8")smalltalkdialog = f.read()asksmalltalk = smalltalkdialog[len("вопросы: "):smalltalkdialog.find(" | [конецстроки1]")].split(" | ")answersmalltalk = smalltalkdialog[smalltalkdialog.find("ответы: ") + len("ответы: "):smalltalkdialog.find(" | [конецстроки2]")].split(" | ")#подбор нужной фразыfor word in range(len(asksmalltalk)):    if asksmalltalk[word] in an:        t = answersmalltalk[word]        run()        break

Тут тоже нужен ваш совет: подскажите пожалуйста более эфективный способ искать фразы.

К Dialog Flove у меня непреязнь. Личная.

ОТКРТИЕ ПРОГРАММ, САЙТОВ И ПОИСК В ИНТЕРНЕТЕ

import webbrowser#переменная error сообщает о том, нашла-ли программа ответ на фразу пользователя, если да, то error = 0while условный True:    #поиск    elif "найди" in an:        error = 0        if "в интернете" in an:            t = "Начинаю поиск в интернете" + an[an.find("ете")+3:]            run()            sear = an[an.find("ете")+3:]            webbrowser.open("https://www.google.com/search?q=" + sear)        elif "youtube" in an:            sear = an[an.find("be")+2:]            t = "Начинаю поиск в ютубе " + sear            run()            webbrowser.open("https://www.youtube.com/results?search_query=" + sear)        else:            t = "Вы дали мало данных, скажите найди в интернете, либо найди в ютубе и ваш вопрос."            run()        continue    #функция на закрытие Тут мы берем 2 кортежа, в кортеже "listprogram" у нас ключевые слова, а в "listprogram2" команды.    elif "закрой" in an:        listprogram = ("steam", "skype", "браузер")        listprogram2 = ("TASKKILL /IM steam.exe", "TASKKILL /IM skype.exe", "TASKKILL /IM chrome.exe")        for net in range(len(listprogram)):            if listprogram[net] in an:                program = listprogram2[net]                os.system(program)                os.system('cls' if os.name == 'nt' else 'clear')                t = "Закрываю " + listprogram[net]                 run()                error = 0        continue    #синтезатор речи    elif "текст" in an:        error = 0        t = "Вставьте сюда текст, который надо синтезировать. в конце текста напишите команду стопсинтез"        run()        t = ""        while True:            t = t + " " + str(input("Вставьте сюда текст > "))            if "стопсинтез" in t:                break                t = t[:t.find("стопсинтез")]        run()             #интернет Тут мы берем 2 кортежа, в кортеже "fordefweb" у нас ключевые слова, а в "fordefweb" ссылки.    fordefweb = ("youtube", "вконтакте", "браузер", "google", "новости", "окко", "хабр", "facebook", "wifmedia", "свой сайт")    fordefweb2 = ("https://www.youtube.com/", "https:/vk.com", "https://www.google.ru/", "https://www.google.ru/", "https://lenta.ru/", "https://okko.tv/", "http://personeltest.ru/aways/habr.com/ru/feed/", "https://www.facebook.com/", "https://wifmedia.com/", "http://vitaliy.renderforestsites.com")    for net in range(len(fordefweb)):        if fordefweb[net] in an:            web = fordefweb2[net]            runweb()            error = 0    #программы Тут мы берем 2 кортежа, в кортеже "listprogram" у нас ключевые слова, а в "listprogram2" команды.    listprogram = ("проводник", "skype")    listprogram2 = ("explorer.exe", "start skype.exe")    for net in range(len(listprogram)):        if listprogram[net] in an:            program = listprogram2[net]            os.system(program)            t = "Открываю " + listprogram[net]             run()            error = 0

Опять-же не могу найти ничего действенее elif, но в этой версии и хотя-бы меньше.

ОСТАЛЬНОЕ

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

Материаллы

САЙТ (просто дешевая одностраничка на renderforest)

ГИТХАБ

демонстрационный ролик

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru