Всем привет!
Меня зовут Кирилл, я уже третий год делаю IT продукты. А до этого делал авиадвигатели, шаровые краны и стоматологическое оборудование. Хочу рассказать про грабли по которым я ходил свой первый год в IT.
Спасибо команде, которая в достаточной мере верила что я справлюсь и прошла со мной весь этот путь гнева, боли и погружения в отчаяние чтобы все-таки выпустить продукт.
Одна из ключевых проблем которые я создавал своей команде – это резиновые и нестабильные релизы.
Резиновые релизы
Это классика неопытного продакта. У тебя в управлении команда спецов которые могут создать что угодно и тебя кроет от возможностей. Я метался по рынку как бешеный пёс собирая идеи для беклога и утрамбовывая продукт супер фичами которые перевернут игру.
Чисто техническая проблема к которой это нас привело – новые фичи блочились релизом старых фич. Мы изначально не были готовы к гибким релизам и попадание двух фич на стейдж блокировало релиз до разрешения всех конфликтов. Более того, если мы сталкивались даже с незначительной проблемой - откатывался весь релиз.
Что делать?
Определяем корни проблем:
Фича в контексте релиза не изолирована
Блокировка принятых фич к выкатке в мастер
Нет понимания что входит в определенный релиз
Решения довольно простые и очевидные, но как и Устав ВС они пишутся кровью идиотов, перьями из их жоп на пергаменте из их шкур )
Один релиз – одна фича.
Делайте фичу изолированной: релизы не блокируют друг друга, легко откатываются, а самое главное - по каждой фиче можно задать себе главные вопросы продуктовой разработки: "А не херню ли я делаю?" и "Как это конвертируется в деньги?"
Про организацию стейджа
По поводу выкатки в стейдж. Есть мастер ветка, от нее хочу сделать ветку с новой фичей. Разрабатываем ее в Dev, когда все готово делаем пулреквест и из него должен быть экшен для раскатки стейджа. Получается мастер со всегда актуальной кодовой базой, когда делаем фичу и пушим в стейдж - у нас собирается окружение только для этой фичи. И если надо сделать две параллельные фичи, то выкатка второй перезапишет первую. Это безумно облегчит вам жизнь.
У спринта есть конкретная цель.
Я долгое время жил с названиями "12.03-16.03". Сравните с "Делаем Gate API под фичу с гостевым доступом". Пишите чего вы хотите достичь и акцентируйте на этом внимание. В конце-концов сможете сказать что применяете метод позитивной визуализации.
Если эта заметка окажется кому-то полезной, то следующий рассказ хотелось бы посвятить траблшутингу и работе с инцидентами.