architect/standards/2-lifecycle/README.md

type: index
aspect: lifecycle
title: "Жизненный цикл — Как живёт и эволюционирует"
version: 1.0.0
date: 2026-02-19


Жизненный цикл — Как живёт и эволюционирует

Стандарты жизненного цикла проектов, кода, данных и артефактов.


СОДЕРЖАНИЕ

Базовая модель

Документ Описание Статус
lifecycle-stages.md Общая модель стадий (DRAFT → DEV → TEST → PROD → ARCHIVE) ✅ Active

Lifecycle по типам

Документ Описание Статус
PROJECT_PROCESSES.md Жизненный цикл проекта (идея → MVP → запуск → завершение) ✅ Active
lifecycle-code.md Жизненный цикл кода (design → dev → test → prod → archive) ✅ Active
lifecycle-data.md Жизненный цикл данных (схема → тестовые → prod → архив) ✅ Active
lifecycle-artifact.md Жизненный цикл артефактов (документы, ресурсы) ✅ Active

НАЗНАЧЕНИЕ

Жизненный цикл отвечает на вопрос "КАК ЖИВЁТ и ЭВОЛЮЦИОНИРУЕТ?"

Этот аспект определяет:
- Какие стадии проходит сущность
- Как переходить между стадиями
- Когда архивировать или удалять
- Как откатывать изменения


УНИВЕРСАЛЬНАЯ МОДЕЛЬ

5 базовых стадий

┌──────────┐   ┌──────────┐   ┌──────────┐   ┌──────────┐   ┌──────────┐
│  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

КЛЮЧЕВЫЕ КОНЦЕПЦИИ

1. Стадии (Stages)

Этапы жизни сущности:

Стадия Статус Описание
DRAFT draft Черновик, планирование
DEV development Активная разработка
TEST testing Тестирование, проверка
PROD active Продакшн, эксплуатация
ARCHIVE archived Архив, не используется

2. Переходы (Transitions)

Правила смены стадий:

✅ Прямой путь: DRAFT → DEV → TEST → PROD → ARCHIVE
✅ Откат: PROD → TEST (исправление) → PROD
❌ Пропуск: DRAFT → PROD (без тестирования)

3. Версионирование

Связь 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/*

4. Политики

Обязательные правила:


ДИАГРАММЫ

Lifecycle проекта

ИДЕЯ (1 неделя)
    ↓ [Утверждение бизнес-кейса]
РАЗРАБОТКА MVP (4-8 недель)
    ↓ [Код готов, тесты пройдены]
ПИЛОТ (2-4 недели)
    ↓ [Обратная связь, метрики OK]
ЗАПУСК (1 день)
    ↓ [Мониторинг, поддержка]
ЭКСПЛУАТАЦИЯ (6+ месяцев)
    ↓ [Замена готова]
ЗАВЕРШЕНИЕ
    ↓ [Миграция данных]
АРХИВ

Lifecycle кода

DESIGN (1-3 дня)
    ↓ [API спроектирован]
DEV (1-2 недели)
    ↓ [Код написан, unit-тесты OK]
TEST (2-5 дней)
    ↓ [Integration тесты, review OK]
PROD (деплой)
    ↓ [Мониторинг, багфиксы]
DEPRECATED (когда устарел)
    ↓ [Замена готова]
ARCHIVE

Lifecycle данных

СХЕМА (определение структуры)
    ↓
ТЕСТОВЫЕ ДАННЫЕ (dev/test окружения)
    ↓
МИГРАЦИЯ (перенос в prod)
    ↓
ПРОДАКШН (live данные)
    ↓
АРХИВ (старые данные)
    ↓
УДАЛЕНИЕ (по политике retention)

СВЯЗАННЫЕ АСПЕКТЫ

Аспект Документ Связь
Типология typology-project-types.md ЧТО проходит lifecycle
Структура structure-project.md ГДЕ находится (по стадиям)
Процессы process-development.md КАК выполнять переходы
Политики policy-rollback.md Правила откатов
Формат format-document.md КАК маркировать статус

ПРИМЕНЕНИЕ

Создание нового проекта

  1. Определить тип: typology-project-types.md
  2. Установить начальную стадию: DRAFT
  3. Создать структуру: structure-project.md
  4. Следовать lifecycle: PROJECT_PROCESSES.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"

Деплой кода в продакшн

  1. Проверить готовность: тесты, review
  2. Обновить статус: DEV → TEST
  3. Протестировать: на staging
  4. Перевести в PROD: деплой
  5. Мониторить: метрики, логи

Подробнее: lifecycle-code.md

Архивация старых данных

  1. Определить политику retention: lifecycle-data.md
  2. Экспортировать данные: в архивное хранилище
  3. Обновить статус: PROD → ARCHIVE
  4. Удалить из prod: через N дней

Подробнее: lifecycle-data.md


АВТОМАТИЗАЦИЯ

CI/CD для lifecycle

# .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

Мониторинг lifecycle

# 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 завершена ✅


CHANGELOG

2026-02-19 — v1.0.0


Версия: 1.0.0
Дата: 2026-02-19
Владелец: architect