Манифест качестваDataOps
За годы работы с командами данных любого размера и на любом стеке мы пришли к убеждению, что качество дают только тесты, и что проверять стоит всю поставку целиком, а не одни лишь данные. Идеальные данные, прошедшие через неправильный код, отчет или модель, все равно остаются ошибкой, и ваш клиент разницы не заметит. Мы были теми, кто вечно ворчит о качестве данных. Мы прикидывали число строк на глаз и надеялись на лучшее. Мы проводили 12-месячный аудит, который породил документ и ничего не исправил. Мы строили дашборд, который никто не открыл, и узнавали о плохих данных от клиента в 9 утра. Нам нужен метод, который доказывает качество в каждой точке, с тестами, которые работают без героя за клавиатурой, и с доказательствами, которые можно передать тому, кто способен все исправить. Манифест DataOps говорит, что качество превыше всего. Манифест Data Journey говорит, что если проблемы находят клиенты, это недопустимо. Вот как мы применяем оба на практике.
Подпишите манифестВ ходе нашей работы мы пришли к следующим ценностям:
- Автоматические тесты важнее надежды и ручных проверок
- Постоянная практика важнее разовых проектов
- Измерения важнее мнений
- Сгенерированные тесты важнее правил, написанных вручную
- Покрытие тестами важнее схем происхождения данных
- Посты контроля качества на конвейере важнее проверки в конце
- Влияние и доказательства важнее приказов
- Работа на 70% сегодня важнее совершенства когда-нибудь
24 принципа в шести группах, плюс один. Выберите принцип, чтобы перейти к нему.
1-4
Доказательства
-
1
Вы знаете только то, что проверили тестом
Надежда не тест. Как и бизнес-ревью или зеленый запуск пайплайна. Если ни один тест этого не проверил, вы не знаете, что это верно.
-
2
Тестируйте данные, следите за инструментами
Качество это качество данных плюс качество процесса. Идеальная таблица бесполезна, если обновление так и не запустилось, а зеленая задача ничего не говорит о цифрах внутри. Проверяйте каждый инструмент на ошибки и на сроки.
-
3
Никаких ручных проверок
Ручные проверки выполняются, когда кто-то о них вспомнит, а в 2 часа ночи никто не вспоминает. Данные приходят каждый день, поэтому каждый тест запускается автоматически, при каждой загрузке. Манифест Data Journey говорит прямо: избегайте ручного тестирования качества как огня.
-
4
Сначала измеряйте, потом устанавливайте стандарты
Профилируйте данные, создайте тесты, и пусть базовый уровень подскажет, какими должны быть стандарты. Комитет, который пишет их заранее, тормозит каждое следующее решение. Без результатов тестов вы просто еще один человек со своим мнением.
5-6
Люди
-
5
Начните с одного человека
Один увлеченный человек с бесплатным инструментом сильнее руководящего комитета с уставом. Найдите того, кто ворчит о качестве, и дайте ему доказательства.
-
6
Влиять и есть работа
Тот, кто находит дефект, редко владеет системой, которая его породила. Исходные данные достаточно хороши для задачи, ради которой их создавали, поэтому у их владельца нет причин что-то менять. Сделайте так, чтобы на исправление было легко согласиться.
7-9
Тесты
-
7
Пусть тесты пишет профиль
Сотни тестов на таблицу, написанных вручную, никогда не будут закончены. Генерируйте их, а свой SQL приберегите для бизнес-правил, которые знают только ваши эксперты в предметной области.
-
8
Тесты это общий ресурс
Аналитик, стюард данных, инженер и модель работают с одним и тем же правилом, и только у одного из них есть аккаунт в Git. Храните каждый тест и каждый результат в одной эталонной базе данных, доступной человеку через UI, коду через API и модели через MCP. Одна копия считается главной, и каждое изменение уходит в Git для diff, ревью и отката.
-
9
70% сегодня лучше совершенства когда-нибудь
Запустите рабочий тест уже сегодня днем. Каждый цикл чему-то учит вас о ваших данных, и с каждым из них стандарты становятся лучше.
10-13
Оценки и действия
-
10
Оценивайте то, что важно
Никто не изменит своего поведения из-за столбца с номерами факсов. Оценивайте те элементы, которые важны вашему клиенту, и стройте отдельную оценку для каждого клиента.
-
11
Каждая оценка ведет к тесту
Оценка без пути к исправлению это шум. Каждая цифра на дашборде ведет к тесту, который показывает проблему и доказывает исправление.
-
12
Упростите действие
У каждого дашборда есть конкретный клиент и конкретный человек, который может исправить данные. Передайте ему проблему, ее последствия, способ воспроизвести ее и то, что нужно изменить, в той системе заявок, которой он уже пользуется.
-
13
Держите линию тренда
Одна оценка это мнение. Полгода оценок, привязанных к KPI, за которым уже следит кто-то выше вас, это бюджет. Начните с двух цифр: ошибки в продакшене и время на выпуск изменения. Тренд это то, на что вы показываете, когда просите больше свободы.
14-19
Практика
-
14
Любите свои ошибки
Каждый дефект чему-то учит вас о ваших данных или процессе. Разбирайте их вместе в кружке качества и исправляйте шаг, который их породил. Вините шаг, а не человека.
-
15
Запишите условия поставки в тесты
Контракт данных это набор тестов, с которыми согласны обе стороны. Условия, которые можно запустить, лучше обещаний, которые запустить нельзя.
-
16
Докажите миграцию
Миграция обещает, что новая система содержит ту же правду, что и старая. Протестируйте обе стороны и докажите это, от числа строк до значений в столбцах.
-
17
Уберите шум
Оповещение, которому никто не доверяет, хуже, чем никакого оповещения. Настраивайте каждый тест, пока сбой не начнет что-то значить, и отправляйте его тому, кто может действовать. Понижайте приоритет тех, что срабатывают каждую ночь. Никогда не отключайте их.
-
18
В продакшене отвечаете вы
Развертывание это середина работы, а не конец. Кто-то должен следить за линией, и этот кто-то вы.
-
19
Тестируйте то, что написал агент
Агент выпускает трансформацию за секунды и не держит в голове ничего из пайплайна. Пусть он составит заявку на исправление и пользовательский SQL. Все остальное, к чему он прикасается, не протестировано, пока тест не скажет обратного.
20-24
Доказывайте качество в каждой точке
-
20
Тесты… у источника
Докажите, что источник годится для своей задачи, по одной таблице и одному столбцу за раз. Он не ваш, поэтому ваши доказательства должны убедить того, кому он принадлежит.
-
21
Тесты… при загрузке
Следите за каждой таблицей: свежесть, объем, изменения схемы и дрейф. Вручную за 6000 таблиц не уследить. Обнаружение аномалий справится.
-
22
Тесты… в продакшене
Поставьте сигнальную растяжку между всеми слоями и останавливайте конвейер при дефекте. Не каждый сбой заслуживает остановки, поэтому заранее решите, какие останавливают, а какие предупреждают. Продакшен остается на последних заведомо хороших данных, пока кто-то разбирается.
-
23
Тесты… в разработке
Перед развертыванием запустите сегодняшний код на клоне или срезе вчерашних данных продакшена. Переименуйте столбец, и красный сигнал должен показать, какой отчет ниже по потоку вы сломали. Ошибка, пойманная здесь, обходится в сотую часть того, во что обойдется ошибка, найденная клиентом.
-
24
Тесты… везде, всегда и автоматически
Одна проверка на null выполняет четыре задачи в четырех местах. Пропустите одну, и вы упустите этот сбой. Охватите каждую таблицу, каждый столбец, каждый инструмент и каждую цифру, которую видит ваш клиент. Никаких ручных тестов.
Начните DataOps с качества
В Манифесте DataOps 18 принципов, и никто не внедряет их все в понедельник. Начните с автоматических тестов данных. Это самый дешевый шаг, и ваш клиент почувствует его первым. Оркестрация, CI/CD и наблюдаемость зависят от того, знаете ли вы, верны ли данные.
Подпишите Манифест качества DataOps
Добавьте свое имя, если вы предпочитаете доказывать качество автоматическими тестами, а не надеяться на него.
Применяйте манифест с инструментами open source
DataOps TestGen
Profile your data and generate the quality tests automatically. Full coverage in minutes, with no hand-written rules to maintain.
Install TestGenDataOps Process Observability
Watch every tool and every run from source to the dashboards that depend on it. Catch errors, late arrivals, and bottlenecks before your customer does.
Get Process ObservabilityЧто почитать
Free Books
Free Training & Certification
Другие манифесты
The DataOps Manifesto
18 principles for delivering analytics, plus one: start with data testing.
Read the DataOps ManifestoThe Data Journey Manifesto
22 principles for observing the paths your data takes, so you find the problem before your customer does.
Read the Data Journey Manifesto