Технократический аудит
Стоимость нашего аудита достаточно высока в силу проектности деятельности и системного подхода. Однако хотелось бы поделится, как сделать аудит собственными силами.
Заодно посмотрите, как это делаем мы.
Для начала напомню - у нас это отдельная услуга, (открыть в новом окне ссылку-описание). Описание услуги сделано в формулировках бизнеса - так сделано специально, чтобы обозначить бизнес-эффекты. Но что там под капотом - мы рассказываем при личном контакте. Такой принцип.
на самом деле аудит своей 1С конфигурации можно сделать и самому
Для этого надо вспомнить теорию СУБД
В теории баз данных есть 3 составляющих самой БД, а также сам процесс производства - то есть четыре точки аудита
Просто вспомните, что создавая базу данных (в случае с 1С - это информационная система), вы проектируете концептуальную модель, затем логику сущностей, а потом физическую работу движка СУБД. Таким образом применительно к 1С вам нужно понять при аудите:
  • что с концептом
  • что с логикой
  • что с физикой
  • и что с командой, которая всем этим владеет.
И как вы понимаете - такой процесс должен быть автоматическим.
Code Check
Как понять что с концептуальной моделью ?
Концепт
Фактически нужно просто проверить качество кода 1С, запросов 1С. У нас есть свой собственный инструмент - он называется SonarQube:1C:Plugin и он платный. Но если хотите бесплатно - можно взять Автоматизированную проверку конфигураций http://v8.1c.ru/acc/ и проверить свой CF файл. Главное сгруппировать объем получившихся ошибок и замечаний по объектам метаданных.
MSSQL Check
Как понять что с физической моделью базы ?
Физика
Формально - нужно посмотреть что показывают системы мониторинга на вашей системе, с точки зрения СУБД. Для MSSQL есть бесплатные скрипты AskBrent. https://github.com/BrentOzarULTD/SQL-Server-First-Responder-Kit. Получившиеся результаты (проблемы) необходимо также сгруппировать по метаданным 1С, для преобразования имён использовать самые лучшие в мире Инструменты разработчика 1C http://devtool1c.ucoz.ru/
Normalyze
Как понять что с логической моделью ?
Логика
Это самый сложный этап для понимания, потому что требует знаний в теории множеств... Но есть лайфхак - нужно преобразовать метаданные 1С в IDEF и запустить проверку нормализации. Лучше всего это описано на infostart.ru в этой старой статье https://infostart.ru/public/269803/. Получившиеся результаты стоит сгруппировать опять по метаданным 1С. Мы для этого используем инструмент чуть сложней - он считает замыкания модели данных. Почти как ERWin
первый этап закончен
На выходе получившиеся результаты группируются в формат:
  • Метаданное1С
  • Объем проблемы концепта
  • Объем проблемы логики
  • Объем проблемы физики
Метаданное 1С, которое имеет совокупно больший объем и является самым главным кандидатом на рефакторинг.

НО это только первый этап
теперь надо разобраться с командой - четвертой точкой аудита
Как так получилось что у вас такое количество проблем ?
Для начала важно признать, что проблемы появляются только из-за команды производства - это не означает что команда плохая, это означает, что процесс организован таким образом, что приводит к такому количеству проблем.

Поэтому теперь стоит проаудировать саму команду - вам придется это сделать
И какие вопросы задавать ?
И опять же делимся лайфхаком. Есть такая концепция Agile - называется большой Agile (SAFe). Всё конечно чуть сложней, но для начала пусть будет называться большим Agile.
В этой концепции есть способы оценки команды "самой себя":
http://www.scaledagileframework.com/metrics/#T4

Не торопитесь переходить по ссылке, дело в том, что для команд 1С мы сделали перевод данного листа оценки. Ссылка на google disk - https://goo.gl/ogaQo7
Заполнив анкету, собрав мнение руководства и эксперта со стороны (например бизнес-заказчика), вы сможете понять - где у вас проблема и какую сторону процесса необходимо изменить. А менять придется - иначе даже отрефакторив метаданые, которые вы нашли на первом этапе, через год всё повторится.

В итоге вы получаете проблемы и системы и команды
все точки аудита пройдены и что дальше ?
план мероприятий
нужно составить план действий
Фактически - какие метаданные отрефакторить и что изменить в процессе работы команды
Какие патерны рефакторинга есть ?
Напомню - в 1С можно уводить пользователей на "рабочие столы", то есть отказаться от автоматических форм которые генерирует платформа. Таблицы разделять - то есть использовать связанные регистры сведений и планы видов характеристик. Часть обработок проведений делать отложенными, А также менять отчёты на диаграммы и панели показателей. Но здесь уже стоит обращаться к нам как архитекторам и это платно ;-)
Как читать радар SAFe
Там 5 сущностей - блоков процесса. Посмотрите где вы получили минимальное количество процентов. Возьмите это блок работ (процесса) и сделайте так чтобы ответы на вопросы через 2-4 недели были на бал больше.

Как обосновать перед руководством затраты
Самая сложная часть. Придется взять на себя обязательства - например: "Мы исправим вот это и ... сократится время разработки, ускорится вот этот функционал". На сколько? Это определяется только эмпирически. Мы, например, знаем что в разы, но вы же нам не доверяете, раз читаете эти строки ;-), поэтому используйте свой опыт и ссылки на инструментарий.
Собственно - в рамках аудита 1С системы мы и выполняем все вышеуказанные действия. Но если вы грамотный ведущий разработчик (архитектор) вы можете сделать это сами, ну а ваш руководитель на основе полученных данных может спланировать проект по наведению порядка и без нас ;-).
Поделиться
Не забывай что есть возможноcть обсудить статью на форуме
Форум xDrivenDevelopment