type: index
aspect: lifecycle
title: "Жизненный цикл — Как живёт и эволюционирует"
version: 1.0.0
date: 2026-02-19
Стандарты жизненного цикла проектов, кода, данных и артефактов.
| Документ | Описание | Статус |
|---|---|---|
| lifecycle-stages.md | Общая модель стадий (DRAFT → DEV → TEST → PROD → ARCHIVE) | ✅ Active |
| Документ | Описание | Статус |
|---|---|---|
| PROJECT_PROCESSES.md | Жизненный цикл проекта (идея → MVP → запуск → завершение) | ✅ Active |
| lifecycle-code.md | Жизненный цикл кода (design → dev → test → prod → archive) | ✅ Active |
| lifecycle-data.md | Жизненный цикл данных (схема → тестовые → prod → архив) | ✅ Active |
| lifecycle-artifact.md | Жизненный цикл артефактов (документы, ресурсы) | ✅ Active |
Жизненный цикл отвечает на вопрос "КАК ЖИВЁТ и ЭВОЛЮЦИОНИРУЕТ?"
Этот аспект определяет:
- Какие стадии проходит сущность
- Как переходить между стадиями
- Когда архивировать или удалять
- Как откатывать изменения
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ DRAFT │ → │ DEV │ → │ TEST │ → │ PROD │ → │ ARCHIVE │
│ Черновик │ │ Разработка│ │ Тестовая │ │ Продакшн │ │ Архив │
└──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘
│ ↑ ↑
└──────────────────────────────────────────────┘ │
ROLLBACK │
│
┌──────────────────────────────────────────────────────────────┘
│ DEPRECATED
Подробнее: lifecycle-stages.md
| Сущность | Стадии | Документ |
|---|---|---|
| Проект | Идея → Разработка → Пилот → Запуск → Завершение | PROJECT_PROCESSES.md |
| Код | Design → Dev → Test → Prod → Deprecated | lifecycle-code.md |
| Данные | Схема → Тестовые → Prod → Архив | lifecycle-data.md |
| Артефакт | Черновик → Редактирование → Review → Публикация → Архив | lifecycle-artifact.md |
Этапы жизни сущности:
| Стадия | Статус | Описание |
|---|---|---|
| DRAFT | draft |
Черновик, планирование |
| DEV | development |
Активная разработка |
| TEST | testing |
Тестирование, проверка |
| PROD | active |
Продакшн, эксплуатация |
| ARCHIVE | archived |
Архив, не используется |
Правила смены стадий:
✅ Прямой путь: DRAFT → DEV → TEST → PROD → ARCHIVE
✅ Откат: PROD → TEST (исправление) → PROD
❌ Пропуск: DRAFT → PROD (без тестирования)
Связь lifecycle и версий:
| Lifecycle | Версия | Git |
|---|---|---|
| DRAFT | 0.1.0-draft |
draft/* |
| DEV | 0.2.0-dev |
dev/* |
| TEST | 0.9.0-beta |
test/* |
| PROD | 1.0.0 |
main |
| ARCHIVE | 1.0.0-archived |
archive/* |
Обязательные правила:
ИДЕЯ (1 неделя)
↓ [Утверждение бизнес-кейса]
РАЗРАБОТКА MVP (4-8 недель)
↓ [Код готов, тесты пройдены]
ПИЛОТ (2-4 недели)
↓ [Обратная связь, метрики OK]
ЗАПУСК (1 день)
↓ [Мониторинг, поддержка]
ЭКСПЛУАТАЦИЯ (6+ месяцев)
↓ [Замена готова]
ЗАВЕРШЕНИЕ
↓ [Миграция данных]
АРХИВ
DESIGN (1-3 дня)
↓ [API спроектирован]
DEV (1-2 недели)
↓ [Код написан, unit-тесты OK]
TEST (2-5 дней)
↓ [Integration тесты, review OK]
PROD (деплой)
↓ [Мониторинг, багфиксы]
DEPRECATED (когда устарел)
↓ [Замена готова]
ARCHIVE
СХЕМА (определение структуры)
↓
ТЕСТОВЫЕ ДАННЫЕ (dev/test окружения)
↓
МИГРАЦИЯ (перенос в prod)
↓
ПРОДАКШН (live данные)
↓
АРХИВ (старые данные)
↓
УДАЛЕНИЕ (по политике retention)
| Аспект | Документ | Связь |
|---|---|---|
| Типология | typology-project-types.md | ЧТО проходит lifecycle |
| Структура | structure-project.md | ГДЕ находится (по стадиям) |
| Процессы | process-development.md | КАК выполнять переходы |
| Политики | policy-rollback.md | Правила откатов |
| Формат | format-document.md | КАК маркировать статус |
# projects/org/my-project/index.yaml
name: "my-project"
status: "draft"
lifecycle_stage: "draft"
version: "0.1.0-draft"
created_at: "2026-02-19"
Подробнее: lifecycle-code.md
Подробнее: lifecycle-data.md
# .github/workflows/lifecycle.yml
name: Lifecycle Transitions
on:
push:
branches: [dev, test, main]
jobs:
transition:
steps:
- name: DEV → TEST
if: github.ref == 'refs/heads/test'
run: npm test
- name: TEST → PROD
if: github.ref == 'refs/heads/main'
run: npm run deploy:prod
# scripts/lifecycle-monitor.py
def check_lifecycle_metrics():
"""Проверка метрик жизненного цикла."""
projects = get_all_projects()
for project in projects:
time_in_stage = calculate_time(project.lifecycle_stage)
if time_in_stage > THRESHOLD:
alert(f"Project {project.name} stuck in {project.lifecycle_stage}")
| Метрика | Описание | Норма |
|---|---|---|
| Time to Market | DRAFT → PROD | < 3 месяца |
| Deploy Frequency | DEV → PROD | 1-2 раза в неделю |
| Rollback Rate | PROD → TEST | < 10% |
| Archive Age | Время в ARCHIVE | > 1 год |
ПРОЕКТЫ ПО СТАДИЯМ:
┌─────────────────────────────────────┐
│ DRAFT: ████████░░ 5 (20%) │
│ DEV: ██████████ 10 (40%) │
│ TEST: ████░░░░░░ 3 (12%) │
│ PROD: ██████░░░░ 5 (20%) │
│ ARCHIVE:██░░░░░░░░ 2 (8%) │
└─────────────────────────────────────┘
СРЕДНЕЕ ВРЕМЯ ПО СТАДИЯМ:
DRAFT: 7 дней
DEV: 14 дней
TEST: 3 дня
PROD: 180 дней
Файлов в 2-lifecycle/: 6 (5 стандартов + 1 README)
Охват:
- ✅ Общая модель (lifecycle-stages.md)
- ✅ Проекты (lifecycle-project.md)
- ✅ Код (lifecycle-code.md)
- ✅ Данные (lifecycle-data.md)
- ✅ Артефакты (lifecycle-artifact.md)
Статус: ФАЗА 5 завершена ✅
lifecycle-[object].mdВерсия: 1.0.0
Дата: 2026-02-19
Владелец: architect