TD-68393 · Subscriptions rework — единый таймлайн

15 эпиков: Subscriptions · Billing · Integration · Migration. Капасити-раскладка: критпуть = домен + миграция, остальное параллельно. На колбасках — фамилия ответственного. Номера → Jira.

Критический путь

Связывает только: Seat → Operations (P1∥P2) → Automation → Integration & Close → миграция. Всё вне цепочки — Operations P2, Billing-хендлеры (TD-80299/86787), Sunset-подготовка, Admin, Activity Feed — грузится параллельно и готово к моменту готовности домена, поэтому срок не двигает. После домена — только Sunset-миграция (2 недели, при готовой подготовке и выделенных сегментах).

Капасити и отпуска

Домен ведёт B (А. Стрижак); Operations Part 1 — длинный шест (один эксперт, тесно связанные агрегаты), почти не компрессится людьми. A (А. Захаренко) 22 июн–3 июл в отпуске — на Stripe-кромке, вне критпути. И. Станкевич — Admin партиалом, параллельно.

Критпуть ведёт B: Seat → Operations Part 1 → Automation → Integration & Close (домен готов 7 авг). Operations Part 2 + Billing-хендлеры (C), Sunset-prep (A), Admin (Илья) идут параллельно и к 7 авг готовы → миграция 2 нед → 28 авг.

эпик · команда · ответственный
апр 26
май 26
июн 26
июл 26
авг 26
сен 26
сегодня · 8 июн
Subscriptions Domain
TD-86802Foundation / PurchaseSD
2/5 задач · ✓ RfP
BTD-88942Seat LifecycleSD
👤 Алексей Стрижак · фундамент домена · завершить на этой неделе
А. Стрижак
DTD-78196Admin panel featuresSD
👤 Илья Станкевич · параллельно (партиал) · вне критпути
отпуск
И. Станкевич
BTD-90930Operations Part 1 (Subscription & Seat)SD
∥ Part 2 · длинный шест домена (B, один эксперт)
А. Стрижак
CTD-90931Operations Part 2 (Term)SD
∥ Part 1 · UpgradeIntervalCount первым · C после Pricing
А. Хамзин
BTD-90929AutomationSD
после Operations · Renewal worker + Grace Window
А. Стрижак
CTD-86787Billing integration (Payment Handler)SD
консьюмер Billing-событий · параллельно, к домену готов
А. Хамзин
BTD-57951Integration & CloseSD
contract freeze · cross-cluster E2E · домен готов 7 авг
А. Стрижак
Billing Domain
TD-74524Billing domain. CoreBD
16/23 задач · ✓ RfP
CTD-80325Pricing calculatorBD
👤 Артём Хамзин · потребитель upgrade-прораты
А. Хамзин
CTD-80299Subscriptions integrationBD
5 handlers · после Operations/Automation · параллельно
А. Хамзин
Integration / Infra
ATD-78195Reliable Stripe WebhooksINT
👤 Алексей Захаренко · завершение → отпуск → Sunset prep
отпуск
А. Захаренко
TD-64778EventDispatcher + OutboxINT
10/13 задач · ✓ RfP
DTD-80304Activity FeedINT
не required · параллельно
И. Станкевич
Migration
ALLTD-78206Stripe Sunset — миграция + фичефлаги
prep параллельно · миграция 2 нед всеми командами
подготовка + сегменты
миграция 2 нед
буфер
завершеноRfPфактпрогнозбудущий эпикотпускSunset: подготовкаSunset: миграциябуфердомены:SDBDINTкоманды:ABCED

Раскладка по командам · Базовый (A·B·C) + Илья

Команда · ответственныйПоследовательность эпиков
B А. Стрижаккритпуть: TD-88942 Seat → TD-90930 Operations P1 → TD-90929 Automation → TD-57951 Integration & Close → миграция
C А. ХамзинTD-80325 Pricing → TD-90931 Operations P2 → TD-80299 Billing↔Subs → TD-86787 Billing integration → миграция
A А. ЗахаренкоTD-78195 Webhooks → 🏖 отпуск (22 июн–3 июл) → Sunset подготовка + сегментымиграция
D И. СтанкевичTD-78196 Admin (параллельно, партиал) → TD-80304 Activity Feed — вне критпути

Домен готов ≈ 7 авг · миграция 2 нед + буфер → завершение инициативы ≈ 28 авг.

Сроки завершения инициативы · Базовый

Целевой (миграция без буфера)
≈ 21 авг 2026
Реалистичный (+буфер риска)
≈ 28 авг 2026
Пессимистичный (сдвиг домена/rollout)
≈ 11 сен 2026

+1 разработчик (pod = E) берёт Operations Part 2 + Billing-хендлеры, освобождая C в пару к B на Automation/Integration. Домен готов 31 июл (−1 нед), миграция раньше → 21 авг.

+1 pod сокращает срок ≈ на 1 неделю (21 авг vs 28 авг). Двигается только готовность домена (31 июл vs 7 авг): pod снимает с B параллельные задачи и даёт пару на компрессию Automation/Integration. Миграция (2 нед) в обоих вариантах одинакова.
эпик · команда · ответственный
апр 26
май 26
июн 26
июл 26
авг 26
сен 26
сегодня · 8 июн
Subscriptions Domain
TD-86802Foundation / PurchaseSD
2/5 задач · ✓ RfP
BTD-88942Seat LifecycleSD
👤 Алексей Стрижак · фундамент домена · завершить на этой неделе
А. Стрижак
DTD-78196Admin panel featuresSD
👤 Илья Станкевич · параллельно (партиал) · вне критпути
отпуск
И. Станкевич
BTD-90930Operations Part 1 (Subscription & Seat)SD
∥ Part 2 · длинный шест домена (B, один эксперт)
А. Стрижак
ETD-90931Operations Part 2 (Term)SD
∥ Part 1 · UpgradeIntervalCount первым · pod E
новый
BTD-90929AutomationSD
после Operations · C в паре к B → компрессия
А. Стрижак
ETD-86787Billing integration (Payment Handler)SD
консьюмер Billing-событий · pod E
новый
BTD-57951Integration & CloseSD
E2E по 4 консьюмерам в пару · домен готов 31 июл
А. Стрижак
Billing Domain
TD-74524Billing domain. CoreBD
16/23 задач · ✓ RfP
CTD-80325Pricing calculatorBD
👤 Артём Хамзин · потребитель upgrade-прораты
А. Хамзин
ETD-80299Subscriptions integrationBD
5 handlers · pod E · параллельно
новый
Integration / Infra
ATD-78195Reliable Stripe WebhooksINT
👤 Алексей Захаренко · завершение → отпуск → Sunset prep
отпуск
А. Захаренко
TD-64778EventDispatcher + OutboxINT
10/13 задач · ✓ RfP
DTD-80304Activity FeedINT
не required · параллельно
И. Станкевич
Migration
ALLTD-78206Stripe Sunset — миграция + фичефлаги
prep параллельно · миграция 2 нед всеми командами
подготовка + сегменты
миграция 2 нед
буфер
завершеноRfPфактпрогнозбудущий эпикотпускSunset: подготовкаSunset: миграциябуфердомены:SDBDINTкоманды:ABCED

Раскладка по командам · +1 pod (A·B·C·E) + Илья

Команда · ответственныйПоследовательность эпиков
B А. Стрижаккритпуть: TD-88942 Seat → TD-90930 Operations P1 → TD-90929 Automation → TD-57951 Integration & Close → миграция
C А. ХамзинTD-80325 Pricing → пара к B на Automation/Integration (компрессия −1 нед)миграция
E новый podTD-90931 Operations P2 → TD-80299 Billing↔Subs → TD-86787 Billing integration → миграция
A А. ЗахаренкоTD-78195 Webhooks → 🏖 отпуск (22 июн–3 июл) → Sunset подготовка + сегментымиграция
D И. СтанкевичTD-78196 Admin (параллельно, партиал) → TD-80304 Activity Feed — вне критпути

Домен готов ≈ 31 июл (C в паре к B компрессит Automation/Integration) · завершение ≈ 21 авг.

Сроки завершения инициативы · +1 pod

Целевой (миграция без буфера)
≈ 14 авг 2026
Реалистичный (+буфер риска)
≈ 21 авг 2026
Пессимистичный (сдвиг домена/rollout)
≈ 4 сен 2026

Допущения и риски

  • Критпуть = домен + Sunset-миграция. Seat → Operations → Automation → Integration & Close ведёт один человек (B); параллельно идут Operations P2, Billing-хендлеры, Sunset-prep, Admin — все готовы к готовности домена и срок не двигают.
  • Миграция — 2 недели активной фазы (подтверждено): предварительная подготовка флаг-инфры и выделение сегментов сделаны заранее, в параллель.
  • Operations Part 1 — длинный шест: один эксперт по домену на тесно связанных агрегатах, доп. людьми почти не ускоряется (Brooks).
  • +1 pod (E) на Operations P2 + Billing освобождает C в пару к B → компрессия Automation/Integration на ~1 нед. Делимое: cross-cluster E2E по 4 консьюмерам.
  • TD-88942 Seat Lifecycle (Стрижак, in progress) — фундамент; срыв сдвигает всю цепочку.
  • Норматив 2 нед/эпик держится на дисциплине дробления (TD-86802 подтвердил).

Оценка скоупа (story points)

Шкала: S = 1 (~2 нед) · M = 2S (~4 нед) · L = 2M (~8 нед) · M-L — между. Это оценка усилий/скоупа, не календарь — сроки выше идут по критпути с параллелизмом.

ЭпикРазмерSPРиск скоупа
TD-88942 Seat LifecycleS1в работе · фундамент домена
TD-90930 Operations Part 1S1🔴 5 сервисов на Subscription+Seat → вероятно M / сплит на 2
TD-90931 Operations Part 2 (Term)S1
TD-90929 AutomationS1🟡 открытое решение по хранению renewal-даты
TD-57951 Integration & CloseS1🟡 E2E по 4 консьюмерам — непредсказуемо
TD-86787 Billing integrationS1
TD-80299 Subscriptions integration (BD)S1🟡 5 handlers → сплит (4 + HandleRenewed)
TD-80325 Pricing calculatorS1в работе
TD-78195 Reliable Stripe WebhooksS1в работе
TD-80304 Activity FeedS1не required
TD-78196 Admin panel featuresM2🟡 фичи админки склонны разрастаться → L
TD-78206 Stripe SunsetM-L3🟠 gradual rollout + миграция legacy-данных → L при сюрпризах
Итого (базовый скоуп)15при срабатывании топ-рисков ~18–20 SP

🔴 Главный риск — TD-90930 Operations Part 1. Самый широкий S: 5 сервисов на Subscription+Seat (StatusTransitions, trial-колонки, cancel_at_period_end). Историческая аналогия — TD-74524 «Billing Core» при похожей широте раздулся до ~10 нед. Высокая вероятность M или сплита на 2 (trial+upgrade / cancel+seat-downgrades). Следующие по риску — TD-80299 (5 handlers → 4 + HandleRenewed) и TD-57951 (E2E по 4 консьюмерам).

TD-68393 · Subscriptions rework — unified timeline

15 epics: Subscriptions · Billing · Integration · Migration. Capacity plan: critical path = domain + migration, everything else in parallel. Bars are labeled with the owner's surname. IDs → Jira.

Critical path

Binds only: Seat → Operations (P1∥P2) → Automation → Integration & Close → migration. Everything off the chain — Operations P2, Billing handlers (TD-80299/86787), Sunset prep, Admin, Activity Feed — runs in parallel and is ready by the time the domain is done, so it does not move the date. After the domain — only the Sunset migration (2 weeks, with prep done and segments carved out).

Capacity & time off

B (A. Strizhak) leads the domain; Operations Part 1 is the long pole (single expert, tightly coupled aggregates), barely compressible by adding people. A (A. Zakharenko) is on vacation Jun 22–Jul 3 — on the Stripe edge, off the critical path. I. Stankevich — Admin part-time, in parallel.

B leads the critical path: Seat → Operations Part 1 → Automation → Integration & Close (domain ready Aug 7). Operations Part 2 + Billing handlers (C), Sunset prep (A), Admin (Ilya) run in parallel and are ready by Aug 7 → 2-wk migration → Aug 28.

epic · team · owner
Apr 26
May 26
Jun 26
Jul 26
Aug 26
Sep 26
today · Jun 8
Subscriptions Domain
TD-86802Foundation / PurchaseSD
2/5 tasks · ✓ RfP
BTD-88942Seat LifecycleSD
👤 Alex Strizhak · domain foundation · finish this week
A. Strizhak
DTD-78196Admin panel featuresSD
👤 Ilya Stankevich · parallel (part-time) · off critical path
vacation
I. Stankevich
BTD-90930Operations Part 1 (Subscription & Seat)SD
∥ Part 2 · domain long pole (B, single expert)
A. Strizhak
CTD-90931Operations Part 2 (Term)SD
∥ Part 1 · UpgradeIntervalCount first · C after Pricing
A. Khamzin
BTD-90929AutomationSD
after Operations · Renewal worker + Grace Window
A. Strizhak
CTD-86787Billing integration (Payment Handler)SD
Billing events consumer · parallel, ready by domain
A. Khamzin
BTD-57951Integration & CloseSD
contract freeze · cross-cluster E2E · domain ready Aug 7
A. Strizhak
Billing Domain
TD-74524Billing domain. CoreBD
16/23 tasks · ✓ RfP
CTD-80325Pricing calculatorBD
👤 Artem Khamzin · consumer of upgrade proration
A. Khamzin
CTD-80299Subscriptions integrationBD
5 handlers · after Operations/Automation · parallel
A. Khamzin
Integration / Infra
ATD-78195Reliable Stripe WebhooksINT
👤 Alex Zakharenko · wrap-up → vacation → Sunset prep
vacation
A. Zakharenko
TD-64778EventDispatcher + OutboxINT
10/13 tasks · ✓ RfP
DTD-80304Activity FeedINT
not required · parallel
I. Stankevich
Migration
ALLTD-78206Stripe Sunset — migration + feature flags
prep in parallel · 2-wk migration, all teams
prep + segments
migration 2 wk
buffer
doneRfPactualforecastfuture epicvacationSunset: prepSunset: migrationbufferdomains:SDBDINTteams:ABCED

Team allocation · Baseline (A·B·C) + Ilya

Team · ownerEpic sequence
B A. Strizhakcritical path: TD-88942 Seat → TD-90930 Operations P1 → TD-90929 Automation → TD-57951 Integration & Close → migration
C A. KhamzinTD-80325 Pricing → TD-90931 Operations P2 → TD-80299 Billing↔Subs → TD-86787 Billing integration → migration
A A. ZakharenkoTD-78195 Webhooks → 🏖 vacation (Jun 22–Jul 3) → Sunset prep + segmentsmigration
D I. StankevichTD-78196 Admin (parallel, part-time) → TD-80304 Activity Feed — off critical path

Domain ready ≈ Aug 7 · 2-wk migration + buffer → initiative complete ≈ Aug 28.

Initiative completion · Baseline

Target (migration, no buffer)
≈ Aug 21, 2026
Realistic (+risk buffer)
≈ Aug 28, 2026
Pessimistic (domain/rollout slip)
≈ Sep 11, 2026

+1 developer (pod = E) takes Operations Part 2 + Billing handlers, freeing C to pair with B on Automation/Integration. Domain ready Jul 31 (−1 wk), migration earlier → Aug 21.

+1 pod shortens the timeline by ≈ 1 week (Aug 21 vs Aug 28). Only domain readiness moves (Jul 31 vs Aug 7): the pod offloads parallel work from B and provides a pair to compress Automation/Integration. The migration (2 wk) is the same in both options.
epic · team · owner
Apr 26
May 26
Jun 26
Jul 26
Aug 26
Sep 26
today · Jun 8
Subscriptions Domain
TD-86802Foundation / PurchaseSD
2/5 tasks · ✓ RfP
BTD-88942Seat LifecycleSD
👤 Alex Strizhak · domain foundation · finish this week
A. Strizhak
DTD-78196Admin panel featuresSD
👤 Ilya Stankevich · parallel (part-time) · off critical path
vacation
I. Stankevich
BTD-90930Operations Part 1 (Subscription & Seat)SD
∥ Part 2 · domain long pole (B, single expert)
A. Strizhak
ETD-90931Operations Part 2 (Term)SD
∥ Part 1 · UpgradeIntervalCount first · pod E
new
BTD-90929AutomationSD
after Operations · C pairs with B → compression
A. Strizhak
ETD-86787Billing integration (Payment Handler)SD
Billing events consumer · pod E
new
BTD-57951Integration & CloseSD
E2E across 4 consumers, paired · domain ready Jul 31
A. Strizhak
Billing Domain
TD-74524Billing domain. CoreBD
16/23 tasks · ✓ RfP
CTD-80325Pricing calculatorBD
👤 Artem Khamzin · consumer of upgrade proration
A. Khamzin
ETD-80299Subscriptions integrationBD
5 handlers · pod E · parallel
new
Integration / Infra
ATD-78195Reliable Stripe WebhooksINT
👤 Alex Zakharenko · wrap-up → vacation → Sunset prep
vacation
A. Zakharenko
TD-64778EventDispatcher + OutboxINT
10/13 tasks · ✓ RfP
DTD-80304Activity FeedINT
not required · parallel
I. Stankevich
Migration
ALLTD-78206Stripe Sunset — migration + feature flags
prep in parallel · 2-wk migration, all teams
prep + segments
migration 2 wk
buffer
doneRfPactualforecastfuture epicvacationSunset: prepSunset: migrationbufferdomains:SDBDINTteams:ABCED

Team allocation · +1 pod (A·B·C·E) + Ilya

Team · ownerEpic sequence
B A. Strizhakcritical path: TD-88942 Seat → TD-90930 Operations P1 → TD-90929 Automation → TD-57951 Integration & Close → migration
C A. KhamzinTD-80325 Pricing → pairs with B on Automation/Integration (−1 wk compression)migration
E new podTD-90931 Operations P2 → TD-80299 Billing↔Subs → TD-86787 Billing integration → migration
A A. ZakharenkoTD-78195 Webhooks → 🏖 vacation (Jun 22–Jul 3) → Sunset prep + segmentsmigration
D I. StankevichTD-78196 Admin (parallel, part-time) → TD-80304 Activity Feed — off critical path

Domain ready ≈ Jul 31 (C pairs with B to compress Automation/Integration) · complete ≈ Aug 21.

Initiative completion · +1 pod

Target (migration, no buffer)
≈ Aug 14, 2026
Realistic (+risk buffer)
≈ Aug 21, 2026
Pessimistic (domain/rollout slip)
≈ Sep 4, 2026

Assumptions & risks

  • Critical path = domain + Sunset migration. Seat → Operations → Automation → Integration & Close is led by one person (B); Operations P2, Billing handlers, Sunset prep and Admin run in parallel, are ready by domain readiness and do not move the date.
  • Migration is 2 weeks of active work (confirmed): flag-infra prep and segment carving are done ahead of time, in parallel.
  • Operations Part 1 is the long pole: a single domain expert on tightly coupled aggregates, barely sped up by extra people (Brooks).
  • +1 pod (E) on Operations P2 + Billing frees C to pair with B → ~1 week of Automation/Integration compression. Divisible part: cross-cluster E2E across 4 consumers.
  • TD-88942 Seat Lifecycle (Strizhak, in progress) is the foundation; a slip shifts the whole chain.
  • The 2-wk/epic norm holds on disciplined splitting (confirmed by TD-86802).

Scope estimation (story points)

Scale: S = 1 (~2 wk) · M = 2S (~4 wk) · L = 2M (~8 wk) · M-L — in between. This is effort/scope sizing, not calendar — the dates above follow the critical path with parallelism.

EpicSizeSPScope risk
TD-88942 Seat LifecycleS1in progress · domain foundation
TD-90930 Operations Part 1S1🔴 5 services on Subscription+Seat → likely M / split in 2
TD-90931 Operations Part 2 (Term)S1
TD-90929 AutomationS1🟡 open decision: renewal-date storage
TD-57951 Integration & CloseS1🟡 E2E across 4 consumers — unpredictable
TD-86787 Billing integrationS1
TD-80299 Subscriptions integration (BD)S1🟡 5 handlers → split (4 + HandleRenewed)
TD-80325 Pricing calculatorS1in progress
TD-78195 Reliable Stripe WebhooksS1in progress
TD-80304 Activity FeedS1not required
TD-78196 Admin panel featuresM2🟡 admin features tend to sprawl → L
TD-78206 Stripe SunsetM-L3🟠 gradual rollout + legacy data migration → L on surprises
Total (base scope)15~18–20 SP if top risks materialize

🔴 Top risk — TD-90930 Operations Part 1. The widest S: 5 services on Subscription+Seat (StatusTransitions, trial columns, cancel_at_period_end). Historical parallel — TD-74524 “Billing Core”, similarly broad, ballooned to ~10 wk. High chance of M or a split in two (trial+upgrade / cancel+seat-downgrades). Next in line — TD-80299 (5 handlers → 4 + HandleRenewed) and TD-57951 (E2E across 4 consumers).