ТЗ на нормализацию НСИ и приёмка результата: чек-лист
ТЗ на нормализацию НСИ описывает пять вещей: что считать одной позицией, в каком виде исполнитель получает и возвращает справочник, кто решает спорные случаи, как измеряется качество и что происходит с новыми строками после сдачи. Приёмку строят на трёх цифрах: доля строк, решённых без вопросов к заказчику, точность на этих строках и число позиций на листе спорных. Проверяют их выборкой и заранее согласованными контрольными парами. Ниже чек-лист для того, кто пишет ТЗ или принимает работу субподрядчика.
Что должно быть в ТЗ
Большинство споров при сдаче проекта нормализации возникает из пунктов, которых в ТЗ не было. Исполнитель склеил гайки по ГОСТ и по DIN, заказчик ждал раздельных карточек. Исполнитель вернул новый файл со своими кодами, а 1С-специалисту нужен исходный код каждой строки. Таблица ниже собирает разделы, без которых ТЗ оставляет такие вопросы открытыми. Что вообще входит в нормализацию и из каких этапов она состоит, описано в статье о нормализации НСИ.
| Раздел ТЗ | Что писать | Типичный пропуск |
|---|---|---|
| Объём | Число строк, дата выгрузки, какие группы входят | Не указано, что делать со строками, заведёнными во время проекта |
| Состав работ | Дубли, класс, единое наименование, характеристики: что из этого нужно | «Нормализация» без расшифровки |
| Правило одной позиции | Какие признаки делают позиции разными, список исключений | Нет решения по стандарту, производителю, фасовке |
| Шаблон наименования | Порядок слов и характеристик по классам, примеры | Шаблон дан для двух классов из двадцати |
| Классификатор | Какой классификатор, до какого уровня | Классификатор меняется во время проекта |
| Формат входа и выхода | Колонки, кодировка, неизменный код строки | Исполнитель возвращает файл без исходных кодов |
| Спорные позиции | Где их собирают, кто и в какой срок отвечает | Исполнитель решает спорное сам |
| Приёмка | Метрики, размер выборки, контрольные пары | «Качество должно быть высоким» |
| Новые строки после сдачи | Как и с какой частотой их проверяют | Раздела нет совсем |
| Данные | Можно ли обезличить выгрузку, NDA, где хранится файл | Выгрузку отправляют до подписания NDA |
Правило «одна позиция» и список исключений
Это главный раздел ТЗ. Без него исполнитель решает сам, и каждый специалист решает по-своему. Запишите правило в два слоя.
Общее правило. Две строки описывают одну позицию, если совпадают все характеристики, которые влияют на применение: тип, размер, исполнение, материал, давление, класс прочности. Различие хотя бы в одной из них делает позиции разными.
Исключения по вашей методике. Здесь заказчик решает сам, и решение надо записать явно:
- одна ли позиция крепёж по ГОСТ и по DIN с теми же размерами, этот спор разобран в статье про ГОСТ и DIN в одной карточке;
- выделяется ли производитель в отдельную карточку;
- одна ли позиция товар в разной фасовке или таре;
- как поступать со старыми и новыми обозначениями одного изделия.
Рядом с правилом дайте контрольные пары. Это пары строк, решение по которым известно заранее. Исполнитель обязан разделить 6205-2RS и 6205-2Z: у первого резиновые уплотнения, у второго металлические шайбы. Задвижки Ру16 и Ру25 остаются разными позициями. Кабель ВВГнг(А)-LS и ВВГнг(А) тоже разные. А строки «Подш. 180205» и «Подшипник 6205-2RS» исполнитель должен связать: это одно изделие в старом и международном обозначении. Двадцать-тридцать таких пар из вашего справочника работают лучше любой формулировки.
Шаблон наименования оформляется отдельным приложением с примерами по каждому классу. Как его составить, описано в статье о правилах наименования номенклатуры.
Формат входа и выхода
Формат кажется технической мелочью. На деле от него зависит, загрузится ли результат обратно в 1С без ручной работы.
Вход. Excel или CSV, одна строка на карточку. Минимальный набор колонок: код, наименование, артикул, единица измерения, группа. Если характеристики хранятся в отдельных реквизитах, их тоже нужно выгрузить, иначе исполнитель не увидит разницу между позициями с одинаковым наименованием. Укажите, можно ли передавать данные обезличенными.
Выход. Требуйте тот же файл с теми же строками и тем же кодом, плюс новые колонки. Удобный набор:
- группа дублей, общий номер для всех строк одной позиции;
- представитель группы, код карточки, которая останется;
- нормализованное наименование;
- класс по классификатору;
- уверенность по строке;
- статус: решено или передано на вопрос.
Отдельный лист со спорными позициями. Каждая позиция на нём идёт со всеми написаниями и причиной, по которой исполнитель не принял решение сам. С таким файлом 1С-специалист собирает группы для объединения по кодам, и ничего не приходится сопоставлять заново.
Спорные позиции: кто решает
Спорная позиция появляется там, где ответ зависит от методики заказчика и в правилах его нет. Например, в справочнике одна и та же эмаль заведена в двух тарах, а про фасовку в ТЗ ничего не сказано.
Решает заказчик. Исполнитель отвечает за то, чтобы вопрос был понятен без звонка: все написания, что именно отличается, какой вариант решения он видит. В ТЗ стоит закрепить три пункта.
- Исполнитель спорное не решает наугад. Если правила нет, строка уходит на лист вопросов со статусом «передано на вопрос».
- Срок ответа заказчика. Пока ответа нет, позиции висят, а сроки проекта двигаются. Запишите, на чьей стороне эта задержка.
- Ответ становится правилом. Решение по одной паре применяется ко всем похожим строкам справочника и дописывается в список исключений.
Число спорных позиций само по себе метрика. Если их почти нет на справочнике с тысячами похожих позиций, исполнитель, скорее всего, решал сам. Если их очень много, правила в ТЗ слишком общие.
Как принимать: выборка, контрольные пары
Перепроверить весь справочник при приёмке нельзя: это та же работа второй раз. Приёмку строят из нескольких проверок, каждая ловит свой тип ошибки.
Сначала договоритесь, что считается. Доля автоматически решённых строк равна числу строк со статусом «решено», делённому на все строки. Точность считается только по решённым строкам: доля строк, которые попали в правильную группу. Ошибочная склейка, когда разные позиции оказались в одной группе, считается ошибкой. Пропущенный дубль, когда одна позиция осталась в двух группах, тоже ошибка, но другого вида, и её удобнее считать отдельно.
| Проверка | Как делать | Что ловит |
|---|---|---|
| Формат файла | Число строк и коды совпадают с исходной выгрузкой | Потерянные и задвоенные строки |
| Контрольные пары | Найти каждую пару из ТЗ и посмотреть решение | Склейку разных позиций по похожему обозначению |
| Случайная выборка решённых строк | Несколько сотен строк, проверить группу и наименование | Общий уровень ошибок |
| Крупные группы | Группы с наибольшим числом строк проверить целиком | Ошибку, которая затронет много карточек сразу |
| Лист вопросов | У каждой позиции есть причина и все написания | Вопросы, на которые нельзя ответить без звонка |
| Шаблон наименования | По 10–20 строк из каждого класса | Отступления от шаблона |
| Классы | Строки из выборки сверить с классификатором | Позиции в чужом классе |
Крупные группы стоит смотреть целиком. Ошибка в группе из сорока строк после объединения в 1С сведёт остатки сорока карточек в одну. Ошибка в группе из двух строк затронет две.
Критерии, которые нельзя проверить, и как их заменить
Часть привычных формулировок в ТЗ звучит строго, но при приёмке их нечем измерить.
- «Все дубли найдены». Чтобы это проверить, нужно знать все дубли заранее. Замена: заказчик до старта сам размечает несколько контрольных групп, и при приёмке смотрят, собраны ли они полностью.
- «Ошибок нет». Выборка не докажет отсутствие ошибок. Если в 300 случайных строках не нашлось ни одной ошибки, это значит лишь, что их доля, скорее всего, ниже 1%. Замена: записать порог для выборки заданного размера и порядок действий, если он превышен.
- «Наименования соответствуют стандарту». Без шаблона по классам это вопрос вкуса. Замена: приложение с шаблонами и примерами, проверка по 10–20 строк из класса.
- «Высокое качество». Замена: три цифры из раздела выше и результат по контрольным парам.
Конкретный порог точности в ТЗ лучше ставить после пробы на ваших данных. Тогда видно, какая точность достижима на этом справочнике и сколько позиций уйдёт на вопросы. Порог, взятый из чужого проекта, может оказаться и слишком мягким, и невыполнимым.
Повторная проверка после изменений
В день сдачи справочник чистый. На следующий день в нём появляются новые карточки: кладовщик заводит позицию из счёта, закупка копирует наименование из прайса. Если в ТЗ нет раздела про новые строки, через год чистку придётся заказывать снова.
Запишите в ТЗ:
- как часто проверяются новые и изменённые строки: раз в день, раз в неделю, перед закрытием месяца;
- по тем же ли правилам и с тем же списком исключений, что и основной проект;
- куда уходят найденные дубли и спорные позиции и кто их разбирает;
- что проверяется только изменившееся, без повторного разбора всего справочника.
Кто заводит карточки и кто их утверждает, лучше описать отдельным документом. Пример структуры есть в статье о регламенте ведения НСИ.
Предполагаю, что вы сейчас пишете ТЗ или принимаете работу и не знаете, какой порог точности реален для вашего справочника. Так ли это? Пришлите 5–10 тысяч строк на бесплатную пробу. Вернём файл в формате, описанном выше: группы дублей, представитель группы, наименование, класс, уверенность и статус по каждой строке плюс лист «Вопросы к вам» с причинами. По нему можно проверить свои критерии приёмки до того, как вписывать их в договор.
Вопросы про ТЗ и приёмку
- Какой процент ошибок допустим?
- Общей нормы нет. Порог зависит от справочника и от того, во что обходится ошибка: склейка двух подшипников дороже пропущенного дубля канцтоваров. Ставьте порог после пробы на своих данных и указывайте вместе с размером выборки, на которой его проверяют.
- Кто отвечает за спорные позиции?
- Решение принимает заказчик, потому что оно зависит от его методики. Исполнитель отвечает за то, чтобы спорное не решалось наугад и попадало на отдельный лист с причиной и всеми написаниями. Срок ответа заказчика стоит записать в ТЗ.
- Что приёмщик проверяет глазами?
- Контрольные пары, самые крупные группы дублей, случайную выборку решённых строк и лист спорных позиций. Остальное проверяется формулами: число строк, коды, заполненность колонок.
- Нужно ли ТЗ на пробу?
- Полное ТЗ не нужно. Достаточно выгрузки, состава работ и известных правил одной позиции, если они есть. Проба как раз показывает, каких правил не хватает: их список приходит в виде вопросов.
Проверим ваши критерии приёмки на пробе
Пришлите 5–10 тыс строк справочника номенклатуры в Excel или CSV, можно обезличенных. В течение дня вернём файл с группами дублей, единым наименованием, классом, уверенностью и статусом. Бесплатно.
Прислать строки на пробу