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

  • Старший ответственный — обладает правами maintainer-а, но при этом также проходит код-ревью. Обычно это сениор или крепкий мидл.
  • Младший ответственный — поддерживает основного ответственного и заменяет его в случае отсутствия. Обычно это джун или мидл, который забирает на себя рутинные задачи и учится у своего старшего коллеги.

Общие обязанности ответственных:

  • Заполнять changelog для всех изменений в сервисе.
  • Проводить и участвовать в технических встречах для обсуждения текущего состояния, проблем и планов по развитию сервиса.
  • Разрабатывать и поддерживать документацию сервиса.

Обязанности старшего ответственного:

  • Обеспечивать техническую реализацию сервиса, включая разработку и исправление ошибок.
  • Осуществлять основной технический контроль качества и проводить код-ревью.
  • Консультировать другие команды по вопросам работы сервиса.

Полномочия старшего ответственного:

  • В случае необходимости передавать код-ревью младшему ответственному.
  • Мержить доработки в сервис после прохождения ревью

Обязанности младшего ответственного:

  • Выполнять обязанности основного ответственного в его отсутствие.
  • Помогать в проведении код-ревью.
  • Участвовать в разработке и исправлении ошибок.
  • Консультировать другие команды по вопросам работы сервиса.

Контроль изменений в сервисе

  • Младший ответственный назначает на ревью старшего, старший — младшего.
  • Если разработку выполняет не ответственный за сервис, то ревью проводит старший ответственный. Он может передать ревью младшему ответственному.
  • Все изменения должны проходить код-ревью ответственных за сервис, чтобы избежать хаотичных доработок.
  • В случае разногласий между старшим и младшим ответственными изменения обсуждаются с архитектором и/или техлидом.

Процесс передачи ответственности

  • Если старший ответственный уходит из компании или переводится на другой проект, архитектор модуля определяет нового старшего ответственного. Это может быть назначение младшего на эту роль или поиск нового кандидата.
  • До официального назначения нового старшего младший временно выполняет его обязанности.
  • В системе должен быть актуальный список сервисов с указанием ответственных разработчиков.

Принятие значительных изменений в архитектуре сервиса

  • Решения о значительных изменениях принимаются на технических обсуждениях с архитектором модуля.
  • В качестве утверждающего органа выступает техлид и/или архитектор.

Мета информация

Область:: 00 Эффективная разработка
Родитель::
Источник::
Создана:: 2025-02-13
Автор::

Дополнительные материалы

Дочерние заметки