📜 NOM-302. Continuous Nonsense Deployment (CND)
Стандарт непрерывного выката непрошенного функционала
📑 Паспорт стандарта
| Параметр | Значение |
|---|---|
| Код | NOM-302 |
| Название | Continuous Nonsense Deployment (CND) |
| Статус | Действующий |
| Дата выпуска | 2025-11-09 |
| Версия | v1.0 |
| Краткое описание | Стандарт описывает искусство и философию непрерывного выката непрошенного функционала, который появляется в проде без запроса, без плана и без понимания, но зато быстрее того, что действительно нужно. |
Термины и определения
Бессмысленный функционал (Nonsense Unit)
Фича, чьё происхождение невозможно проследить. Встречается в природе как:
- «Это произошло случайно»
- «Это у нас для будущих задач»
- «Надо было сделать хоть что-то»
- «Это улучшение, но не спрашивайте какое»
- «Я забыл вас предупредить»
CND-пайплайн
CI/CD-процесс, в котором:
- задачи не ясны
- PR-ы не проверены
- тестов нет
- но всё автоматически выкатывается в прод. Работает стабильно по законам Мёрфи
Обратная регрессия
Состояние, когда выкаты исправляют проблему, которой не было, но создают те, что будут жить с нами годами.
Ритуальные логирования
Тысячи логов без смысла, созданных чтобы «было видно, что система работает».
Область применения
CND применяется, когда
- нужно показать динамику работы, но работы нет
- требуется срочно выкатить хоть что-то, чтобы «руководство видело процесс»
- команда в творческом угаре
- в проде слишком стабильно и хочется добавить остроты
- необходимо имитировать инновации без их наличия.
Методика CND
Каждый выкат оценивается по трём параметрам
| Параметр | Определение | Примеры |
|---|---|---|
| N — Noise Level | Количество шума: лишние кнопки, ненужные поля, загадочные фичи | «Добавил свитч… не помню зачем» |
| R — Regression Coefficient | Вероятность слома старого функционала | «После фикса ничего не работает» |
| C — Confusion Index | Степень путаницы в голове пользователя и команды | «А это вообще кто сделал?» |
Расчёт метрики CND
CND-Score = (N + R + C) / 3
Интерпретация:
| CND-Score | Статус | Вердикт |
|---|---|---|
| 0.0–0.3 | «Лёгкий шум» | допустимо, пользователи не заметят |
| 0.3–0.6 | «Средняя бессмыслица» | желательно притормозить выкаты |
| 0.6–0.8 | «Корпоративный сюрприз» | пользователи заметят, но будет поздно |
| 0.8–1.0 | «Полный идиотизм» | срочный откат, компенсации пользователям, премии руководителям |
Процедура CND
-
Создать непонятную задачу Называется абстрактно: «улучшение», «оптимизация», «косметика», «рефакторинг»
-
Провести быстрый рефакторинг Желательно в пятницу, чтобы все прочувствовали эффект
-
Отключить тесты Потому что «замедляют процесс инноваций»
-
Влить в мастер Через прямой коммит, без ревью
-
Наблюдать последствия Попкорн опционален, телефон на беззучный
6. Связь с другими стандартами NOM
- NOM-101 STM проверяет съедобность идеи.
- NOM-201 SRAP анализирует токсичность выката.
- NOM-302 CND описывает как бессмысленные идеи всё равно попадают в прод.
- NOM-301 ISEF поможет обнаружить, что смысла в них не было с самого начала.
Уровни зрелости CND
| Уровень | Название | Признаки |
|---|---|---|
| CND-L1 | «Случайный выкат» | выкаты делаются, но команда делает вид, что нет |
| CND-L2 | «Непреднамеренный хаос» | что-то ломается при каждом обновлении |
| CND-L3 | «Осознанная бессмыслица» | фичи/хотфиксы выкатывают ради KPI «количество релизов» |
| CND-L4 | «Процесс ради процесса» | никто не знает, что выкатывается, но выкатывается всегда |
| CND-L5 | «Абсолютный DevOps Сансара» | смысл потерян, но выкат непрерывен, как время, как Баста |
Отчёт NOM-302-R
Содержит:
- описание выката
- кто инициировал
- кто пострадал
- кто виноват — обычно никто, но виноваты все
- предложенный антидот: тесты, ревью, терапия