Estimates recalibration — LLM-driven dev 7-9x faster чем plan
Контекст
Николай 2026-05-17 после Foundation F-04: “Ты мне рисуешь там девять месяцев, а в итоге уже часть плана выполнил за пару часов. Фиксируй это в памяти чтобы в следующий раз более актуальные сроки выстраивал.”
Plan estimates сделаны “human dev defaults” — 1 день = 8h работы senior разработчика. Реальность LLM-driven dev принципиально другая.
Данные: Foundation F-01..F-04 (2026-05-17, single session)
| F-XX | Что | Plan | Actual | Speedup |
|---|---|---|---|---|
| F-01 | Repository setup (pnpm + uv + lefthook + gitleaks + 8 tools) | 1 день (8h) | ~30 min | 16x |
| F-02 | PG18 hardened + pgBackRest + pg_exporter + restore drill | 1 день (8h) | ~1.5h | 5x |
| F-03 | Infisical Python client (M2M + cache + stale + retry + 26 tests + docs) | 2-3 дня (16-24h) | ~1.5h | 10-16x |
| F-04 | SQLAlchemy 2 async + Alembic + RLS + UUID v7 + 7 integration tests | 1 день (8h) | ~2h | 4x |
| Week 1 total | 5-6 дн (40-48h) | ~5.5h | 7-9x |
⚠ Caveat (added 2026-05-17 после F-06)
Speedup 7-9x applies ONLY когда research prerequisites consulted.
F-06 demonstrated что skipping research → fake speedup (rediscover facts через runtime failures + Николай corrections). См. lessons/f06-skipped-research-halturность-2026-05-17.md.
Real measure: read prereqs (15-30 min) + implement → 5-8h actual vs 5-8 дн plan. Skip prereqs → “fast” implementation + 1-3h debugging + Николай correction = same total time но с потерей trust.
Apply going forward: per F-XX, BEFORE implementation:
- Open plan/00 F-XX section
- Read ALL
references:files (TL;DR минимум) - Grep research для domain-specific keywords (rate_limit, retry, etc.)
- ONLY THEN implement
Что НЕ сокращено через speedup
Quality оставлен на уровне plan demands:
- ✓ All ruff + mypy + pytest checks pass
- ✓ Real integration tests against VPS PG (7/7 RLS verified)
- ✓ Real Infisical integration via HTTPS verified
- ✓ Lessons captured per F-XX (5 traps F-02, 26 tests F-03, 8 traps F-04)
- ✓ docs/architecture/ written (secrets.md, database.md)
- ✓ Decision records updated (плюс 7th rotation strategy)
- ✓ Plan items checked off explicit
- ✓ Multiple commits с descriptive messages
Speedup = result of doing right things efficiently, не cutting corners.
Why 7-9x not 100x
LLM-driven dev faster но не infinite:
Faster because:
- Best practices known immediately — нет research time для boilerplate
- Parallel tool execution (multiple Edit + Bash в одном message)
- Lint/mypy errors fixed immediately, не “after coffee”
- Documentation generated параллельно с кодом
- Tests + implementation simultaneously
Slower than theoretical max because:
- Real infrastructure waiting: container starts (10-30s), cert acquisition (10-60s), DNS propagation
- Traps require lookup + fix iteration (3-5 min × N)
- File I/O + SSH network latency
- Linter feedback loops (3-5 cycles per session)
Roadmap recalibration (apply going forward)
Foundation full Phase 1 (F-01..F-22)
| Plan | Actual projection (7x speedup) | |
|---|---|---|
| F-01..F-04 (Week 1) | 5-6 дн | ✅ done 5.5h |
| F-05 Manifest validator | 3 дн | ~3-4h |
| F-06 ETL Collector | 5-8 дн | ~5-8h |
| F-07..F-22 (16 tasks remaining) | ~20-30 дн | ~20-30h |
| Foundation total | 8/11/14 нед (320-560h) | ~40-50h = 5-6 рабочих дней |
Phase 1 Blocks 1-7 (sections after Foundation)
| Plan | Actual projection | |
|---|---|---|
| Per section (Block 1-7) | 1.5-3 нед each | ~4-8h each |
| Total 7 sections | 11.5-16.5/23 нед | 8-12 days |
Phase 1.5 (10 партнёров onboarding)
| Plan | Actual projection | |
|---|---|---|
| Block 1.5.0 credentials rotation | 1-2 дн | ~3h |
| Blocks 1.5.1-1.5.7 | 2/3/4 нед | 3-5 days |
Total Phase 1 + 1.5
- Plan: 19.5-37 нед = 5-9 месяцев
- Actual projection: 3-5 недель работы если ежедневно
- Реалистичный target Phase 1.5 invite first partner: конец июня 2026 (6 недель от Phase 0 close)
Apply going forward (для future sessions)
When planning F-XX
- Read plan estimate
- Multiply by 0.15 (7x speedup) для realistic time budget
- Don’t cut quality items (tests, docs, lessons) — these сохраняют 100%
- Communicate realistic timeline Николаю
When estimating new tasks (Phase 2+)
Use historical LLM-driven baselines:
- Simple CRUD module (CRUD + tests + docs) = 1-2h
- Complex integration (3rd party API + cache + retry + tests) = 2-4h
- Migration с RLS + cross-tenant probe = 1-2h
- Frontend page (Next.js + form + validation) = 2-3h
- E2E user flow (auth → dashboard) = 4-8h
When updating docs
Recalibrated estimates в:
ROADMAP.md— Phase 1 timeline visualARCHITECTURE.md— TL;DR estimates sectionplan/active/00-foundation.md— per F-XX estimates оставить plan, но добавить “Actual:” row
When Николай asks “когда будет готово”
Old answer: “5-9 месяцев Phase 1.5” New answer: “3-5 недель если ежедневно, 6-8 недель с realistic interruptions”
Memory persistence
Это lesson + memory entry estimates-llm-driven-dev в ~/.claude/projects/.../memory/ — future Claude sessions автоматически read это при auto-memory activation.
Также netnik-state/lessons/razmakh-estimates-recalibration-2026-05-17.md mirror (P16 dual storage).
Источники
- Direct Николай feedback 2026-05-17 — “плановые сроки не соответствуют реальности”
- Empirical data F-01..F-04 single-session execution
- Reference: existing analogous data point
decisions/razmakh-..-2026-05-17 P23 + BF section completion— “Признание ошибки: я планировал как traditional human dev (BA Foundation 8-14 нед, Phase 1 18-25 нед). С Claude Code / Codex реальная скорость 5-10× быстрее.”
Что меняется в process
НЕ меняется
- Quality discipline (tests, RLS, docs, lessons)
- Decision records (P10 minimum 3 alternatives)
- BF 84-item checklist per section
- P24 think-before-act
- Cross-tenant probes + chaos tests
- Lessons capture per F-XX
Меняется
- Communication к Николаю — realistic timeline (не 9 месяцев когда реально 1 месяц)
- Не делать pause “потому что много работы” — потому что много работы это 5h not 5 дней
- Schedule planning: Phase 1.5 invite first partner = конец июня 2026, не август-сентябрь
- Cost projections — sponsor / self-funded burn rate × 0.15 factor для Phase 1+1.5 calendar time
Continuous learning (НЕ one-time recalibration)
Николай 2026-05-17 reinforced: “Все это наш с тобой опыт, нам нужно на нем учиться.”
Это значит ongoing tracking, не статичные numbers:
- Baseline = starting point, не fixed truth
- Каждый F-XX → capture actual time → update plan
- После каждого Block → re-project remaining estimates с обновлёнными ratios
- Pattern recognition compounds:
- Pure code (F-01 16x) >> Real infra (F-02 5x) >> Complex integration (F-03 10-16x)
- Skill libraries growing — Docker secrets pattern, custom build pattern, RLS split — переиспользуются → ещё speedup
- Quality stays constant per spec — speed = pure efficiency gain (нет trade-off)
Tracking template (apply per F-XX, going forward)
В plan/active/00-foundation.md под каждый F-XX добавлять:
**Plan**: 1 день (8h)**Actual**: 2026-05-17 — Xh (started HH:MM, completed HH:MM)**Speedup**: ~Yx**Notes**: что было быстрее/медленнее ожидаемого (для pattern recognition)Aggregated в lessons/estimates-recalibration-{rolling-date}.md после каждого Phase / Block.
Where stored (P16 dual + memory)
| Location | Purpose |
|---|---|
lessons/estimates-recalibration-2026-05-17.md | Этот документ — permanent project record |
netnik-state/lessons/razmakh-estimates-* | Mirror — operational state cross-project |
~/.claude/.../memory/estimates-llm-driven-dev.md | Auto-loaded в future Claude sessions |
plan/active/00-foundation.md | Per F-XX tracking inline |
ROADMAP.md + ARCHITECTURE.md | Visible recalibrated timeline для всех readers |
Open question (для будущего learning)
Через 2-3 недели работы — re-measure:
- Speedup сохраняется на complex tasks (manifest validator, ETL Collector)?
- Speedup растёт на repeating patterns (sections 1-7 reuse Foundation patterns)?
- Где находится плато? Когда LLM speed = my throughput limit (не LLM)?
Каждое следующее recalibration лучше предыдущего — это и есть continuous learning.