Собственное ПО: владение, эксплуатация и ответственность после релиза

Автор: Инженер-программист

Практическое руководство по снижению TCO и управлению рисками


Главный страх бизнеса: что будет через год после релиза

Реальный диалог с CIO крупного ритейлера:

— Мы потратили 40 млн на систему управления складом. Через год подрядчик ушёл. Теперь каждое изменение — 2 млн и 3 месяца ожидания. Мы в заложниках.

Корень проблемы:
Система работает, но:

  • Документация — формальная (никто не понимает)
  • Архитектура — в головах ушедших разработчиков
  • Зависимости — захардкожены
  • Изменения — только через подрядчика

Цена вопроса (реальные цифры):

СценарийГод 1 (разработка)Год 2–5 (поддержка)Итого за 5 лет
Плохая архитектура30 млн15 млн/год90 млн
Хорошая архитектура + low-code35 млн8 млн/год67 млн
Экономия-5 млн+7 млн/год23 млн (25%)

Как low-code снижает TCO: конкретные сценарии

Сценарий 1: Изменение бизнес-формы

Задача: Добавить в форму заявки 3 новых поля и изменить правила валидации.

Без low-code (классический подход):

1. Задача в backlog: 1 неделя ожидания
2. Разработка: 2 дня (фронт + бэк + тесты)
3. Тестирование: 1 день
4. Деплой: согласование релиза, 1 неделя
Итого: 2–3 недели, стоимость: 150–250 тыс. руб.

С low-code (Retool/Appsmith):

1. Бизнес-аналитик открывает конструктор
2. Добавляет поля (drag-and-drop)
3. Настраивает валидацию (визуально)
4. Публикует изменения
Итого: 2 часа, стоимость: 5–10 тыс. руб.

Экономия на 10 таких задачах в год: 1.5–2.5 млн руб.

Сценарий 2: Новый отчёт для руководства

Задача: Ежемесячный отчёт по продажам с 15 показателями и 5 срезами.

Без low-code:

- Аналитика требований: 2 дня
- SQL-запросы и оптимизация: 3 дня
- Фронтенд-разработка: 2 дня
- Интеграция в систему: 1 день
Итого: 8 дней, стоимость: 300–400 тыс. руб.

С BI/low-code инструментом (Metabase, Superset):

- Аналитик подключает источник данных
- Настраивает визуализации
- Сохраняет в дашборд
Итого: 4 часа, стоимость: 15–20 тыс. руб.

Экономия на 20 отчётах в год: 5–7 млн руб.

Сценарий 3: Изменение workflow согласования

Задача: Добавить новый этап согласования для контрактов > 5 млн руб.

Без BPM:

java

// Код, который боятся трогать
if (contract.getAmount() > 1_000_000) {
    if (contract.getCategory().equals("IT")) {
        addApprover(cto);
        if (contract.hasRisks()) {
            addApprover(cfo);
        }
    }
}
// + ещё 200 строк if-else
```
Изменение: 2 недели (разработка + регрессионное тестирование), стоимость: 400–600 тыс. руб.

**С BPM (Camunda):**
- Открыть BPMN-диаграмму
- Добавить новый шлюз и задачу
- Настроить условие: `amount > 5000000`
- Опубликовать версию процесса

Изменение: 1 час, стоимость: 5 тыс. руб.

**Экономия на 12 изменениях процессов в год:** 4–6 млн руб.

---

## Зоны ответственности: что должно остаться под контролем

### Модель разделения
```
┌─────────────────────────────────────┐
│   Бизнес самостоятельно (low-code)  │
│   • Формы и UI                       │
│   • Отчёты и дашборды                │
│   • Простые workflow                 │
│   • Справочники                      │
├─────────────────────────────────────┤
│   Бизнес + ИТ (согласование)        │
│   • Сложные процессы                 │
│   • Интеграционные сценарии          │
│   • Изменения модели данных          │
├─────────────────────────────────────┤
│   Только ИТ (архитектурный контроль)│
│   • Ядро системы                     │
│   • Безопасность                     │
│   • Производительность               │
│   • Инфраструктура                   │
└─────────────────────────────────────┘

Чек-лист передачи ответственности бизнесу

Можно передать бизнесу, если:

  • Логика не влияет на другие системы
  • Ошибка не приведёт к финансовым потерям > 100 тыс. руб.
  • Есть откат на предыдущую версию одной кнопкой
  • Изменения автоматически логируются
  • Есть тестовая среда для проверки

Пример правила:
Бизнес может менять порядок полей в форме, но не может менять API-интеграции с банком.


Эксплуатация: минимальный набор для контроля

1. Мониторинг (что измерять)

Для кода:

  • Время ответа API (p95, p99)
  • Количество ошибок (rate, типы)
  • Потребление ресурсов (CPU, память)

Для low-code:

  • Количество активных пользователей
  • Среднее время выполнения процессов BPM
  • Количество зависших workflow

Инструменты: Prometheus + Grafana (open source), стоимость внедрения: 500 тыс.–1 млн руб.

2. Логирование (что фиксировать)

Обязательные события:

  • Кто и когда изменил бизнес-правило в low-code
  • Ошибки интеграций
  • Изменения критичных данных (суммы, статусы)

Хранение: 30 дней online, 1 год в архиве.

Инструменты: ELK Stack, Loki, стоимость: 300–700 тыс. руб./год.

3. Регламенты изменений

Шаблон регламента:

markdown

# Регламент изменений в low-code платформе

## Кто может вносить изменения
- Формы/UI: бизнес-аналитики
- Процессы: бизнес-аналитики + согласование ИТ
- Интеграции: только ИТ

## Процесс изменения
1. Изменение в тестовой среде
2. Проверка (чек-лист)
3. Согласование (если требуется)
4. Публикация в прод
5. Мониторинг 24 часа

## Откат
При критичной ошибке: откат на предыдущую версию за 5 минут
```

### 4. Документация (что должно быть)

**Минимальный набор:**
- Схема архитектуры (C4 model: контекст, контейнеры, компоненты)
- Описание bounded contexts
- ADR (Architecture Decision Records) — почему выбрали это решение
- Runbook для инцидентов (что делать при падении)

**Формат:** Markdown в Git, автогенерация диаграмм (PlantUML, Mermaid).

---

## L3/L4 поддержка: как сделать передаваемой

### Проблема vendor lock-in

**Типичная ситуация:**
```
Система работает → подрядчик ушёл → 
новая команда не понимает код → 
каждое изменение — риск → 
бизнес боится что-то менять

Решение: архитектурная прозрачность

Принципы передаваемой системы:

  1. Модульность: Каждый модуль можно понять за 1 день
  2. Стандартизация: Используются популярные технологии (Spring Boot, PostgreSQL, React)
  3. Low-code на периферии: Изменения не требуют знания всей системы
  4. Тесты: 70%+ покрытие критичной логики

Чек-лист передачи команде:

  • Провели 3 сессии knowledge transfer (по 4 часа)
  • Новая команда самостоятельно внесла 2 изменения под контролем
  • Документация актуальна (проверили по чек-листу)
  • Доступы и окружения переданы
  • Runbook проверен на учебном инциденте

Срок передачи: 2–4 недели для команды из 3–5 человек.


Экономика: почему хорошая архитектура дешевле

Расчёт TCO на 5 лет (система для 500 пользователей)

Сценарий A: Плохая архитектура, монолитный код

ГодРазработкаИзменения (50/год)Поддержка L2/L3Итого
125 млн5 млн2 млн32 млн
2–58 млн/год4 млн/год48 млн
Всего80 млн

Сценарий B: Модульная архитектура + low-code

ГодРазработкаИзменения (50/год)Поддержка L2/L3Итого
130 млн3 млн2 млн35 млн
2–54 млн/год3 млн/год28 млн
Всего63 млн

Экономия: 17 млн руб. (21%) за счёт снижения стоимости изменений.

Откуда берётся экономия

Сценарий B дешевле, потому что:

  • 40% изменений делает бизнес в low-code (без разработчиков)
  • Изменения в коде быстрее (модули изолированы, меньше регрессий)
  • L3 поддержка дешевле (система понятна, меньше escalation на L4)

Модель владения: система как актив

Критерии зрелого владения

Уровень 1 (зависимость):

  • Всё через подрядчика
  • Нет документации
  • Бизнес боится менять

Уровень 2 (контроль):

  • Есть внутренняя команда
  • Документация актуальна
  • Архитектура понятна

Уровень 3 (актив):

  • Бизнес самостоятельно делает 30–50% изменений в low-code
  • Система развивается без критичной зависимости от подрядчика
  • TCO предсказуем и снижается

Roadmap перехода к уровню 3 (6 месяцев)

Месяц 1–2: Аудит и документирование

  • Описать архитектуру (C4 model)
  • Выделить bounded contexts
  • Зафиксировать ADR

Месяц 3–4: Внедрение low-code слоя

  • Выбрать платформу (BPM, low-code UI)
  • Перенести 5–10 форм/процессов
  • Обучить бизнес-аналитиков

Месяц 5–6: Передача знаний

  • Knowledge transfer для внутренней команды
  • Регламенты эксплуатации
  • Тестовые изменения под контролем

Результат: Система под контролем, TCO снижается на 20–30% со второго года.


Главные принципы

  1. Владение начинается с архитектуры: Без понятной структуры передать систему невозможно.
  2. Low-code снижает TCO, если на периферии: Ядро — код, изменения — low-code.
  3. Документация = страховка: Актуальная документация снижает риск потери команды.
  4. Бизнес должен участвовать: 30–50% изменений должны делать бизнес-аналитики без программистов.
  5. Хорошая архитектура дороже в начале, дешевле в эксплуатации: Экономия проявляется со второго года.

Инвестиция в контролируемость: +15–20% к стоимости разработки.
Возврат инвестиций: 12–18 месяцев за счёт снижения TCO.