§ Как банда стажёров и мои ошибки привели к работающему продукту?
Друзья, привет! У меня появилась потребность делиться профессиональными (IT) и личностными достижениями с более широкой аудиторией.
Данный пост будет моей личной рефлексией на тему тимлидства, процессов разработки и обучения. В каждом аспекте я покемон, не претендую на истину, но учусь и хочу делать круто.
Всё началось с авантюры — создать Mini App в Telegram для записи на мероприятия Башни (
@bashnya_education) Зачем? Готовые решения не давали гибкости для будущего развития проекта. Я взял на себя ответственность за бэкенд и часть инфраструктуры. Ко мне в команду попали стажёры, прошедшие курс Башни. Ошибка номер раз: поверил ведущим курса, что ребята уже “обучены”. Поскольку лид команды отвечает за результат, он должен в начале детально оценить уровень команды и решить, с кем изначально не по пути. Я этого не сделал.
Процесс разработки был хаотичным. Архитектуру проекта я заложил сам и старался давать команде простые задачи, большую часть которых в итоге сам доделывал. К команде здесь никаких претензий, виноват лид, то есть я, - неправильно выстроил процесс, неправильно оценил людей и задачи. Параллельно мешал тот факт, что многие требования менялись на ходу, из-за чего и без того шаткий процесс разработки страдал всё больше. Это вторая и третья ошибки.
Кое-как мы добрались до даты прода. Помолясь, покатили склад костылей на сервак, следом долили 4-5 хотфиксов и ситуация стабилизировалась. Оглядываясь назад, я понимал, что больше не хочу уделять столько личного времени рядовым задачам. А значит, пришло время строить процесс разработки.
Насмотревшись записей TeamLead Conf, я начал имплементировать знания в практику. Команда уже окрепла, стала шустрее ориентироваться в коде, задачах. Появилась уверенность в них. Если я дам им задачу, они скорее всего её сделают.
1. “Правила игры” или “манифест выживания” для команды
- Чёткие правила: как коммуницируем, как выглядит рабочий процесс, критерии качества
- Система “морковка спереди и сзади”: все косяки разбираем и стараемся больше их не допускать. За многократные нарушения, зависящие только от человека, я прощаюсь с ним. В качестве поощрений внутрикомандная валюта (денег пока мало), которую можно обменять на мерч Башни, рекомендацию стажёра в бигтех и другие плюшки
- Не играю в микроменеджера. В начале спринта обсуждаю с командой задачи, дальше только отвечаю на их вопросы и помогаю. Никаких “какой статус по задачке”
- Принципы прозрачности, справедливости и гибкости
2. Продуктовый подход и процесс разработки
- Теперь мы работаем по спринтам. 2 недели пилим функционал -> релизим -> собираем фидбэк пользователей -> приоритизируем бэклог и так по кругу
- Минимизировал количество “срочных” влётов от бизнеса, позволяя команде спокойно работать. Теперь на вопрос бизнеса “а можем срочно сделать это?” я отвечаю “можем, но тогда сорвутся эта, та и третья задачи”. В 99% случаев тикет летит в бэклог.
- Срочные и критичные хотфиксы я делаю сам. Опять же, чтобы не трогать команду.
Результат этих изменений виден уже сейчас. В разы снизилось количество микроменеджмента, достаточно посмотреть на борду в трекере и все статусы станут понятны. Стараюсь приучить команду двигать свои тасочки). Мой личный вклад в разработку значительно снизился, получилось делегировать задачи команде. Влётов от бизнеса тоже стало меньше
Запилить продукт командой стажёров, очевидно, на грани невозможности. Но когда ребята получили минимальный опыт, а я уделил внимание процессам, дело пошло гораздо веселее. Сейчас я продолжаю пылесосить теорию, которая будет полезна мне в роли тимлида. Посмотрим, куда это приведёт!