4.6 KiB
4.6 KiB
Spec-Driven Development
Определение
Spec-Driven Development (SDD) — методология разработки с AI-агентами, основанная на создании формальных спецификаций перед имплементацией: Requirements → Design → Tasks → Implementation.
Формализация подхода
GitHub Engineering
- Сентябрь 2025: GitHub опубликовал GitHub Spec Kit как open-source toolkit (MIT лицензия)
- Официальный анонс: "Spec-driven development with AI: Get started with a new open source toolkit" (1 сентября 2025)
Thoughtworks Technology Radar
- Volume 33 (ноябрь 2025): упоминает "AI coding workflows" и новые практики context engineering в контексте эволюции AI-ассистированной разработки
- Источник: Thoughtworks Technology Radar
Профессиональные инструменты
Production-Ready
| Инструмент | Статус | Описание |
|---|---|---|
| AWS Kiro | Public Preview (июль 2025) | Spec-driven IDE на базе VS Code |
| GitHub Spec Kit | Open Source (сентябрь 2025) | Toolkit с командами /speckit.*, MIT лицензия |
| Tessl Framework | Closed Beta (сентябрь 2025) | Spec-as-source с Registry (10,000+ specs) |
Community-Driven
- BMAD Method: 21 специализированный агент, open-source
- OpenSpec: lightweight CLI, brownfield-first подход
- APM: Agentic Project Management, multi-agent система (май 2025)
Интеграция с Claude Code
✅ Полностью поддерживается
- GitHub Spec Kit официально поддерживает Claude Code
- Tessl Framework интегрируется через MCP
- Пользовательские workflows активно используются комьюнити
- Custom slash commands для spec-driven разработки
Минимальный подход без фреймворков
SDD — это методология, а не инструмент. Можно следовать принципу без установки фреймворков:
/specs/
├── REQUIREMENTS.md # Что строим, user stories, acceptance criteria
├── DESIGN.md # Архитектура, tech stack, data models, API contracts
└── TASKS.md # Разбивка на задачи, последовательность, критерии
Рабочий процесс:
- Создай спецификации в
/specs/ - Попроси AI: "Имплементируй Task 1 согласно specs/DESIGN.md и specs/TASKS.md"
- Итеративно обновляй specs по мере прояснения требований
Преимущества ручного подхода
- ✅ Полный контроль над структурой
- ✅ Нет внешних зависимостей
- ✅ Простота для малых проектов
- ✅ Глубокое понимание принципов