Retro

Stevens IT — Development Workflow Issue

Сбор фактов и подготовка к обсуждению с Антоном и Иваном по поводу претензий со стороны Stevens IT к процессу разработки.

Обновление 30.04:

  • 09:50 — Андрей отправил клиенту ответ с обещанием "avoid squashing commits after a branch has already been shared". До Ивана не доведено (Антону передано). См. .
  • ~17:37 — на PR #846 случился squash (Иван не знал об обещании).
  • 19:37второе письмо от Michael Forbes (Stevens IT) с конкретным примером squashing на PR #846. Через ~10 часов после нашего обещания. Адресовано Андрею; в копии Tom (iX), Anton, Vincent, Bemin. См. .
  • 19:58 — Alexis Watson смягчает тон: "Not looking to micromanage... 'golden rule' about avoiding a rebase on a shared collaboration branch". См. .
  • 20:12 EUответ Андрея Michael (reply-all): "This one is on me", обещан follow-up после внутренней встречи. См. .
  • 20:21финалка Alexis: "Appreciated as always, Andrii. I think this paired with a quick check against the spec prior to pushing will put us in a good place" — эскалация закрыта со стороны клиента позитивно.

Это меняет акценты на встрече: пункт про squashing — это пробел в доведении клиентского обязательства до исполнителя (Антону передано, до Ивана не дошло), а не игнор разработчика. Перед клиентом ответственность уже зафиксирована, цепочка закрыта позитивно — но Michael и Alexis ждут follow-up после встречи о том, что договорились (плюс Alexis добавила в общий план "quick check against the spec prior to pushing").

Участники и роли

Расстановка: Stevens — клиент iCrossing (iX). Мы работаем с iX как подрядчики. Tom Napper — менеджер со стороны iX. Внутри нашей команды: Антон — тимлид, Иван — разработчик (коммитит, выполняет задачи), Андрей Голубец — менеджер.

  • Stevens IT (клиент iX): Alexis Watson (автор письма), Vincent, Michael, +2 в копии
  • iCrossing (iX, заказчик для нас): Tom Napper (менеджер)
  • Наша команда (подрядчики iX):
    • Антон — тимлид
    • Иван — разработчик (его коммиты обсуждаются)
    • Андрей Голубец — менеджер (получатель письма, контрактор iX)

Внутреннее обсуждение: Антон + Иван + Андрей. Цепочка эскалации: Stevens → iX (Tom) → мы (Андрей → Антон → Иван).

Ключевые претензии (из письма от 2026-04-29)

  1. Некоторые deliverables (например, header) сильно отклоняются от спецификации и требуют переделки.
  2. В PR #847 использовался commit squashing после того, как ветка была расшарена — это затрудняет ревью инкрементальных изменений.
  3. Просьба не делать rebase после того, как код расшарен — терять историю плохо.
  4. PR с post-deployment задачами должны всегда сопровождаться этими задачами.
  5. Предложение: дробить работу на меньшие батчи, усилить пред-PR self-QA до отправки на ревью, возможно использовать AI-tooling.

Структура

  • claims/ — претензии Stevens IT (письма, скриншоты, расшифровки)
  • evidence/ — факты с нашей стороны (git log, blame, контекст коммитов)
  • analysis/ — сопоставление претензий и фактов
  • meeting/ — повестка и вопросы для встречи
  • outcome/ — решения и дальнейшие шаги; черновик журнала повторяющихся ошибок — (формат A/B/C — на встрече, см. )

Справка: тема внимательности / «не на автопилоте» уже поднималась 2026-03-05 в письменном фидбеке Андрея Ивану + 1×1. Deliverable после фидбека был доведён. Не претензия — просто факт что вопрос обсуждался: .

Разбираемые PR

  • PR #837 — ICUS-216 Add FAQPageJsonLd for accordion — ✓ разобран. Merged 2026-03-24. 2 обоснованные претензии (Contentful env + конфигурация поля в нарушение спеки ICUS-214, которая была приложена к parent-тикету). Код "looks great", QA прошёл — но спека была у нас и не была выполнена.
  • PR #842 — IX-SIT60 Add schema for youtube — ✓ разобран. OPEN 16+ дней, 4 обоснованные претензии (debug console.log, отсутствие pre-merge tasks, невалидная VideoObject schema, ~700 unsynced entries). Главная иллюстрация письма Alexis — на этом PR сошлись 3 из 4 претензий из письма.
  • PR #832 — IX-SIT60 Add schema for pages — ✓ разобран. OPEN 2+ месяца, 9 замечаний, REQUESTED CHANGES. Концентрирует все 4 пункта письма Alexis. Alexis уже 23.02 (за 2 мес до письма) прямо спрашивал про pre-deployment steps — сигнал был и не отработан.
  • PR #846 — IX-SIT67 update header — ✓ разобран. Header — главный артефакт письма Alexis ("deviates from spec"). Открыт 22.04 (после дат финальных вложений на ICUS-220). 11 замечаний за 8 дней: 8 наших self-QA промахов (logo, dropdown, регрессия, search-стилизация, дублирование CTA, dark mode), 3 — пробелы в спеке (sticky-1024+, alignment, data-cta stability). Реактивность Ивана хорошая, но слишком много долетает до ревьюера.
  • PR #847 — hotfix FAQPage @id — ✓ разобран. Главная находка: commit-after-approve workflow violation (Иван закоммитил TODO "remove when approve PR" — намерение изменить код после approve). Архитектурно решение лучше shortcut Michael (aggregation + @id). Branch reuse — по предложению Michael. Git-история (squash) — на встречу с Иваном завтра.

Статус

  • Получено первое письмо от Alexis Watson (2026-04-29)
  • Разобран PR #837 (ICUS-216 FAQ — merged)
  • Разобран PR #842 (IX-SIT60 YouTube schema)
  • Разобран PR #832 (IX-SIT60 schema for pages)
  • Разобран PR #846 (IX-SIT67 header — упомянут в письме)
  • Разобран PR #847 (FAQPage hotfix — упомянут в письме)
  • Cross-PR паттерны и сводка
  • Финализирован список вопросов к обсуждению
  • Финализирована agenda
  • БРИФИНГ ДЛЯ ВСТРЕЧИ — единый документ со скринами + фактами + сводкой + планом (часть 1 с Антоном, часть 2 с Иваном). Открывать в Markdown preview.
  • Внутренняя встреча с Антоном и Иваном (завтра) — установить факты по squashing, проговорить процессные изменения
  • (после встречи) Ответ Stevens через Tom — не раньше встречи