Вытащить подростков из онлайна в реальный мир: миссия выполнима?

В начале 2018 года мы выпустили в открытый доступ проект Kvakka.com – социальную сеть, маркетинговую площадку и дейтинг для фанатов настольных игр. Позади три года разработки, за которые сервис вырос из пет-проекта в коммерческий сервис, пережив две смены фронтенда. Перед нами стояла великая миссия – вытащить детей и подростков из дома, из онлайн-игр, в реальный мир, где они смогут встречаться лицом к лицу с себе подобными. И находить друзей, подруг, партнёров по играм и не только. Continue reading “Вытащить подростков из онлайна в реальный мир: миссия выполнима?”

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

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

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

И получается херня. Потому что таск-менеджер – это не багтрекер. Continue reading “Почему из новомодных систем управления проектами получается х..”

Ежедневно стабильный проект, и релизы по чёткому графику? Легко!

У многих компаний-разработчиков цикл развития программного продукта выглядит так:

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

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

В этом посте я переключу ваш мозг на 180 градусов и расскажу как сделать, чтобы вы смогли пообещать релизиться каждые N дней и выполняли это обещание лёгким движением руки. При этом каждый раз доставали, словно чёртика из коробочки, несколько клёвых киллинг-фич. Continue reading “Ежедневно стабильный проект, и релизы по чёткому графику? Легко!”

Победа в безнадёжных проектах: Вот поэтому я и поручил это именно тебе

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

Вам доверяют высокую цель, для вас это вызов, вопрос престижа и репутации. Вам придётся поверить в этот график и эти ресурсы. А почему бы и нет? Раньше ведь удавалось. Возможно, время покажет вашу ошибку, но в данный момент вы полностью вдохновлены на подвиги и у вас за спиной словно выросли крылья: вау, я смогу включить такой крутой проект в моё портфолио! Именно в этот момент вы делаете первый взмах лопатой, чтобы вырыть себе яму. Либо уверенно шагаете в ту яму, где уже находится проект.

Continue reading “Победа в безнадёжных проектах: Вот поэтому я и поручил это именно тебе”

Как распарсить mantis

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

Я раскопал свой старый php-скрипт, который писал в далёкой молодости, и адаптировал его к сегодняшним реалиям. И вот что получилось: Continue reading “Как распарсить mantis”

Как управлять проектом при недостатке ресурсов

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

Но в моей профильной области (сайты и веб-проекты) Continue reading “Как управлять проектом при недостатке ресурсов”

Теория автоматического обновления (deploy)

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

Continue reading “Теория автоматического обновления (deploy)”

Rework – бизнес без предрассудков

Очередная прекрасная книга от 37signals – авторов Getting Real, приверженцев GTD, евангелистов Ruby on Rails, гуру в области управления проектами. Книга must read каждому, кто работает в проектах в IT или любой другой сфере. Вот несколько цитат, которые позволят вам почувствовать основные мотивы:

Continue reading “Rework – бизнес без предрассудков”

Управляемый факап, или Как бежать быстрее медведя

– Это бесполезно! Мы не можем бежать быстрее медведя!
– А мне не нужно бежать быстрее медведя. Мне нужно бежать быстрее других туристов.
(Народная мудрость)

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

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

Continue reading “Управляемый факап, или Как бежать быстрее медведя”

Как выбирать программистов

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

Программист не должен быть абстрактным творцом

Каждый может взять готовый паттерн или с нуля придумать абстрактное хранилище данных. Это не сложно, но это только половина дела. Если в реальности твоё хранилище при попытке выбрать “все зелёные объекты массой от 10 до 50 кг, которые были куплены не менее 2-х раз за текущую неделю” на несколько секунд вешает выделенный сервак – то грош цена твоей красивой абстракции.

Continue reading “Как выбирать программистов”