# Конструирование методологии
# Описание
Для организации разработки применяются различные методологии, по сути каждая методология – это набор правил, ритуалов и артефактов, помогающих команде двигаться в заданном направлении. В компаниях редко встречаются методологии в «книжном» варианте. Часто за основу берётся какая-то общеизвестная, а потом подпиливается под себя. Также встречаются варианты, когда даже в одном отделе в зависимости от критичности или специфики работы методологии могут отличаться. Есть методологии, которые оставляют довольно много пространства для улучшения, но для работы с ними требуется уметь их конструировать. Есть те, что жёстко описывают как должно быть и этого пространства не оставляют.
# Почему ветка важна?
Для тимлида:
- Появляется возможность доработать методологию под свою команду.
- Во всех методологиях есть «слепые зоны», про которые они ничего не говорят. Хорошо, когда тимлид может продумать их самостоятельно.
- Умение гибко подбирать и модифицировать методологию при появлении новых ответственностей команды.
- Тимлид может выбирать методологию исходя из ценностей и картины мира команды.
Для команды:
- Некоторые строгие методологии подразумевают изменение команды и людей под них. Тимлид может интегрировать её с минимальными потерями или доработать её так, чтобы люди не страдали.
- Если методология подпиливается под команду, то можно добиться того, чтобы остались только понятные для команды практики.
# Что будет, если её не делать?
Можно не уметь собирать методологию с нуля, но тогда необходимо хорошо разбираться в одной или нескольких существующих.
Ниже рассмотрены кейсы, в которых тимлид умеет в лучшем случае в одну из общеизвестных:
- У лида нет возможности что-то значительно поменять в методологии.
- Будет получаться, что команда подстраивается под методологию.
- Нет сформулированной методологии. Люди просто делают работу.
- Это приводит к хаосу в случае отклонения от обычного сценария. Например, приходит лид соседней команды и просит сделать какую-то задачу. Участники и лид не понимают, как надо в такой ситуации действовать.
# На кого может быть делегирована?
- Scrum-мастер
- Project-менеджер
- Тимлид ниже уровнем
# Примеры поведения
# Примеры плохого поведения
- Изменение методологии опускается сверху. Например, включается режим «Scrum в каждый дом».
- Разница между ценностями команды и ценностями, которые постулируются в внедряемой методологии, сильно отличаются.
- Методологии меняются очень часто. Это плохо из-за того, что каждый переезд длителен по времени.
- Методология работает по принципу карго-культа. Никто не понимает зачем нужны те или иные «ритуалы».
# Примеры хорошего поведения
- Тимлид понимает, как работают разные методологии, может комбинировать практики из разных.
- Методология развивается исходя из потребностей команды.
# Способы прокачки
# Практика
Ветка появилась под впечатлением от выступления Филиппа Дельгядо, потому ниже будет приведена краткая выжимка.
# Подготовка
# Расписываем User Story
Пример:
User Story:
Как разработчик я хочу найти свою следующую задачу и приступить к её реализации.
Acceptance Criteria:
Как разработчик я могу посмотреть все мои актуальные задачи
Как разработчик я могу оценить срочность/приоритет задач
Exceptions:
Если задач нет, то разработчик знает, кого спросить
Links:
Сценарии подготовки краткосрочного плана
Это позволяет заранее сформулировать ожидания от методологии, которая должна получиться, заложив особенности работы команды и компании. Далее заменяем роли на реальных людей в команде. Это позволяет лучше увидеть узкие места. Убираем лишние артефакты, коммуникации. Чем более простая методология, которая работает, тем более она идеальная.
# Выбираем инструменты
Инструменты – то, что помогает оптимизировать работу и сделать её максимально комфортной. Можно мысленно разделить их на следующие группы:
- Коммуникации: мессенджеры, инструменты для проведения код-ревью
- Хранение информации и визуализация: доски задач, борды для проектирования, графики сгорания задач, база знаний
- Разработки: IDE, инструменты работы с VCS, CI/CD, линтеры
Важно выбрать удобные инструменты, иначе ими не будут пользоваться. Удобство инструмента надо проверять самостоятельно.
# Активно обсуждаем
Обсуждение позволяет доработать методологию если что-то или кого-то забыли. Это помогает убедиться, что мы никого не обидели. Важно, чтобы все понимали и были согласны с полученными ролями. Обиженный человек будет саботировать.
# Внедрение
# Уважение коллег
- Бережём чужое время. Максимально автоматизируем всю рутину. Это позволяет команде экономить силы на важные задачи.
- Помогаем при переходе. Подсказываем, если что-то непонятно.
- Описываем конкретные действия. Документация помогает фиксировать методологию и договорённости.
# Внедряем постепенно
- Не все практики сразу. Это позволяет проводить методологии плавно и по возможности безболезненно для команды.
- Тропинки протаптываются сами. Не нужен жёсткий workflow. Это позволяет появиться практикам, которые позже превратятся в правила.
- KISS. Чем проще, тем лучше.
# Поддерживаем
- Заранее закладываем время своё и команды на поддержку. Процессы не бывают бесплатными.
- Сразу исправляем ошибки.
# Консультации
# Теория
# Видео
← Scrum Получение задач →