04 — Nacenění, tým a harmonogram
Shrnutí odhadu
| Metrika | Hodnota |
|---|
| Celkový rozsah | 111 SP (story points) |
| Doporučený tým | 2 backend + 1 frontend + 0.5 QA + 0.25 PM |
| Velocity (předpoklad) | 18–22 SP / sprint (3-týdenní sprint) |
| Počet sprintů | 7 sprintů |
| Délka | 21 týdnů (21.7. – 12.12.2026) + 3 týdny buffer |
| SCRUM overhead | +25 % (ceremonies, reviews, refinement, retro) |
| Efektivní SP vč. overhead | ~139 SP |
| Risk buffer | +15 % (neznámé REMP CRM API detaily, Ecoidentita stav) |
| Celkový odhad vč. rizika | ~160 SP |
Detailní rozpad story points
Fáze 0: Infrastructure & Foundations
| Story | SP | Priorita |
|---|
| 0.1 REMP Client Library (CrmClient, MailerClient, CampaignClient) | 5 | P0 |
| 0.2 Development Environment (docker / staging access) | 3 | P0 |
| 0.3 Database Migrations (remp_user_id, remp_subscription_id) | 2 | P0 |
| Subtotal | 10 | |
Fáze 1: Identity & User Sync
| Story | SP | Priorita |
|---|
| 1.1 User Sync on Login (Ecoidentita → CRM) | 5 | P0 |
| 1.2 User Update Sync | 3 | P1 |
| 1.3 Bulk User Import (migration) | 3 | P1 |
| Subtotal | 11 | |
Fáze 2: Subscription Sync & Entitlement
| Story | SP | Priorita |
|---|
| 2.1 Subscription Type Mapping (config, seed) | 3 | P0 |
| 2.2 Subscription Sync Service (create/cancel/extend) | 8 | P0 |
| 2.3 Entitlement Check Service + caching | 5 | P0 |
| 2.4 Webhook Receiver (subscription state changes) | 3 | P1 |
| Subtotal | 19 | |
Fáze 3: Paywall UI & Content Locking
| Story | SP | Priorita |
|---|
| 3.1 Server-Side Paywall Rendering | 8 | P0 |
| 3.2 Paywall Variants (hard wall, metered, freemium) | 5 | P1 |
| 3.3 Subscriber Content Indicators (badges) | 2 | P2 |
| Subtotal | 15 | |
Fáze 4: Campaign Integration
| Story | SP | Priorita |
|---|
| 4.1 remplib.js Integration (layout, variables) | 3 | P1 |
| 4.2 Segment Provider Configuration | 2 | P1 |
| 4.3 Campaign Templates for Paywall Upsell | 5 | P1 |
| 4.4 Segment Cache Integration | 3 | P2 |
| Subtotal | 13 | |
Fáze 5: Mailer Integration
| Story | SP | Priorita |
|---|
| 5.1 Newsletter Mail Type Mapping | 3 | P1 |
| 5.2 Newsletter Content Authoring UI | 5 | P1 |
| 5.3 Newsletter Template Handoff & Job Creation | 8 | P1 |
| 5.4 Mailer Handoff Hardening | 5 | P2 |
| 5.5 Author/Section Digest Content Assembly | 5 | P2 |
| Subtotal | 26 | |
Fáze 6: E2E Testing & Hardening
| Story | SP | Priorita |
|---|
| 6.1 Integration Tests | 8 | P0 |
| 6.2 Monitoring & Alerting | 3 | P1 |
| 6.3 Documentation & Runbook | 3 | P1 |
| 6.4 Performance Optimization | 3 | P2 |
| Subtotal | 17 | |
Celkový souhrn
| Fáze | Raw SP | Priorita P0 | Priorita P1 | Priorita P2 |
|---|
| 0 – Infrastructure | 10 | 10 | 0 | 0 |
| 1 – Identity | 11 | 5 | 6 | 0 |
| 2 – Subscription | 19 | 16 | 3 | 0 |
| 3 – Paywall UI | 15 | 8 | 5 | 2 |
| 4 – Campaign | 13 | 0 | 10 | 3 |
| 5 – Mailer | 26 | 0 | 16 | 10 |
| 6 – Testing | 17 | 8 | 6 | 3 |
| Celkem | 111 | 47 | 46 | 18 |
- MVP (P0 only): 47 SP ≈ 3 sprinty (9 týdnů)
- P0 + P1: 93 SP ≈ 5–6 sprintů (15–18 týdnů)
- Full scope: 111 SP ≈ 7 sprintů (21 týdnů)
Tým
| Role | Alokace | Kompetence |
|---|
| Backend developer (senior) | 100 % | Rails, API integrace, Sidekiq, Redis caching |
| Backend developer (mid-senior) | 100 % | Rails, REMP API, testy, migrations |
| Frontend developer | 80 % | Stimulus, ViewComponent, remplib.js, paywall UI |
| QA engineer | 50 % | Integration testy, E2E, regression |
| Project manager / Scrum master | 25 % | Ceremonies, stakeholder komunikace, REMP vendor liaison |
| DevOps | ad-hoc (~10 %) | REMP deployment, Docker, CI/CD, monitoring setup |
Celkem: ~3.65 FTE
Harmonogram
Sprint 1: 21.7. – 8.8.2026
| Story | SP | Assignee |
|---|
| 0.1 REMP Client Library | 5 | BE Senior |
| 0.2 Dev Environment | 3 | DevOps + BE |
| 0.3 Database Migrations | 2 | BE Mid |
| 1.1 User Sync on Login | 5 | BE Mid |
| Sprint ceremonies & refinement | — | All |
| Sprint total | 15 | |
Sprint 2: 11.8. – 29.8.2026
| Story | SP | Assignee |
|---|
| 1.2 User Update Sync | 3 | BE Mid |
| 1.3 Bulk User Import | 3 | BE Mid |
| 2.1 Subscription Type Mapping | 3 | BE Senior |
| 2.2 Subscription Sync Service | 8 | BE Senior |
| Sprint total | 17 | |
Sprint 3: 1.9. – 19.9.2026
| Story | SP | Assignee |
|---|
| 2.3 Entitlement Check + Caching | 5 | BE Senior |
| 2.4 Webhook Receiver | 3 | BE Mid |
| 3.1 Server-Side Paywall Rendering | 8 | BE Senior + FE |
| Sprint total | 16 | |
Sprint 4: 22.9. – 10.10.2026
| Story | SP | Assignee |
|---|
| 3.2 Paywall Variants | 5 | FE + BE Mid |
| 3.3 Subscriber Badges | 2 | FE |
| 4.1 remplib.js Integration | 3 | FE |
| 4.2 Segment Provider Config | 2 | BE Senior |
| 4.3 Campaign Templates | 5 | FE |
| Sprint total | 17 | |
Sprint 5: 13.10. – 31.10.2026
| Story | SP | Assignee |
|---|
| 4.4 Segment Cache Integration | 3 | BE Mid |
| 5.1 Newsletter Mail Type Mapping | 3 | BE Senior |
| 5.2 Newsletter Content Authoring UI | 5 | FE + BE Mid |
| 5.3 Newsletter Template Handoff & Job Creation | 8 | BE Senior |
| Sprint total | 19 | |
Sprint 6: 3.11. – 21.11.2026
| Story | SP | Assignee |
|---|
| 5.4 Mailer Handoff Hardening | 5 | BE Mid |
| 5.5 Author/Section Digest Content Assembly | 5 | BE Senior |
| 6.1 Integration Tests (start) | 4 | QA + BE |
| Sprint total | 14 | |
Sprint 7: 24.11. – 12.12.2026
| Story | SP | Assignee |
|---|
| 6.1 Integration Tests (finish) | 4 | QA |
| 6.2 Monitoring & Alerting | 3 | DevOps + BE |
| 6.3 Documentation & Runbook | 3 | BE Senior |
| 6.4 Performance Optimization | 3 | BE Senior |
| Sprint total | 13 | |
Buffer: 15.12.2026 – 2.1.2027
- Bug fixes z UAT
- Go-live prep
- Production smoke testing
- Handover a knowledge transfer
SCRUM Overhead kalkulace
| Aktivita | Čas per sprint (3 týdny) | Podíl |
|---|
| Sprint Planning | 4 h | 2.7 % |
| Daily Standup (15×15 min) | 3.75 h | 2.5 % |
| Sprint Review | 2 h | 1.3 % |
| Sprint Retrospective | 1.5 h | 1.0 % |
| Backlog Refinement (2×) | 4 h | 2.7 % |
| Ad-hoc sync s REMP vendorem | 2 h | 1.3 % |
| Code review | 6 h | 4.0 % |
| Celkem overhead | 23.25 h | ~15.5 % |
Zbylý overhead na context switching, environment issues, documentation: ~10 %
Celkový overhead: ~25 %
Cenový odhad (orientační)
Při man-day rate 12 000 CZK (Sinfin standard):
| Položka | Výpočet | Cena |
|---|
| Backend Senior (21 týdnů) | 105 MD × 12 000 | 1 260 000 CZK |
| Backend Mid (21 týdnů) | 105 MD × 12 000 | 1 260 000 CZK |
| Frontend (21 týdnů × 0.8) | 84 MD × 12 000 | 1 008 000 CZK |
| QA (21 týdnů × 0.5) | 52.5 MD × 12 000 | 630 000 CZK |
| PM/Scrum (21 týdnů × 0.25) | 26.25 MD × 12 000 | 315 000 CZK |
| DevOps (ad-hoc ~10 MD) | 10 MD × 12 000 | 120 000 CZK |
| Celkem | 382.75 MD | 4 593 000 CZK |
| Risk buffer +15 % | | +689 000 CZK |
| Grand total | | ~5 282 000 CZK |
Pozn.: Ceny jsou orientační. Man-day rate může být jiný. Nezahrnuje náklady na REMP licenci, hosting a infrastrukturu. Přesná cena po zodpovězení otevřených otázek (viz 07-open-questions.md).
Milníky
| Datum | Milestone | Kritéria |
|---|
| 8.8.2026 | M1: API Foundation | REMP klienty fungují, user sync works E2E |
| 19.9.2026 | M2: Entitlement MVP | Paywall entitlement check funguje, subscription sync works |
| 10.10.2026 | M3: Paywall Live | Paywall UI renderuje správně, Campaign banners zobrazeny |
| 21.11.2026 | M4: Full Integration | Mailer integrován, CMS handoff funguje, newslettery odesílá REMP |
| 12.12.2026 | M5: Production Ready | Testy prochází, monitoring běží, docs hotové |
| 2.1.2027 | M6: Go-Live | Produkční nasazení, monitoring OK |