В каждом сервисе есть два ответственных: это обеспечивает баланс нагрузки, взаимный контроль, а также непрерывность работы в случае отсутствия одного из них. У каждого сервиса должны быть ответственные разработчики. В противном случае сервис превращается в "ничей" и становится легаси.
- Старший ответственный — обладает правами maintainer-а, но при этом также проходит код-ревью. Обычно это сениор или крепкий мидл.
- Младший ответственный — поддерживает основного ответственного и заменяет его в случае отсутствия. Обычно это джун или мидл, который забирает на себя рутинные задачи и учится у своего старшего коллеги.
Общие обязанности ответственных:
- Заполнять changelog для всех изменений в сервисе.
- Проводить и участвовать в технических встречах для обсуждения текущего состояния, проблем и планов по развитию сервиса.
- Разрабатывать и поддерживать документацию сервиса.
Обязанности старшего ответственного:
- Обеспечивать техническую реализацию сервиса, включая разработку и исправление ошибок.
- Осуществлять основной технический контроль качества и проводить код-ревью.
- Консультировать другие команды по вопросам работы сервиса.
Полномочия старшего ответственного:
- В случае необходимости передавать код-ревью младшему ответственному.
- Мержить доработки в сервис после прохождения ревью
Обязанности младшего ответственного:
- Выполнять обязанности основного ответственного в его отсутствие.
- Помогать в проведении код-ревью.
- Участвовать в разработке и исправлении ошибок.
- Консультировать другие команды по вопросам работы сервиса.
Контроль изменений в сервисе
- Младший ответственный назначает на ревью старшего, старший — младшего.
- Если разработку выполняет не ответственный за сервис, то ревью проводит старший ответственный. Он может передать ревью младшему ответственному.
- Все изменения должны проходить код-ревью ответственных за сервис, чтобы избежать хаотичных доработок.
- В случае разногласий между старшим и младшим ответственными изменения обсуждаются с архитектором и/или техлидом.
Процесс передачи ответственности
- Если старший ответственный уходит из компании или переводится на другой проект, архитектор модуля определяет нового старшего ответственного. Это может быть назначение младшего на эту роль или поиск нового кандидата.
- До официального назначения нового старшего младший временно выполняет его обязанности.
- В системе должен быть актуальный список сервисов с указанием ответственных разработчиков.
Принятие значительных изменений в архитектуре сервиса
- Решения о значительных изменениях принимаются на технических обсуждениях с архитектором модуля.
- В качестве утверждающего органа выступает техлид и/или архитектор.
Мета информация
Область:: 00 Эффективная разработка
Родитель::
Источник::
Создана:: 2025-02-13
Автор::