Пример

Что может установить анализ, когда создателей уже нет?

Вымышленная система десятилетней давности, о которой больше некого спросить. Что первый анализ может честно установить и почему основная его ценность в списке того, что установить не удалось.

Короткий ответ

Это вымышленная система. Она написана, чтобы показать, как выглядит картина 1ADK, когда людей, которые строили систему, уже нет. Первый анализ устанавливает устройство по коду: одно приложение, база данных, общая с инструментом отчётности, задачи по расписанию и импорт файла от партнёра. Многое помечено как выведенное или неизвестное, а покрытие говорит, какие части не проверялись вовсе. Ценность для владельца в коротком списке вопросов по порядку важности и в картине, которую следующий анализ может подтвердить, исправить или дополнить, а не начинать заново.

#Система

Ledgerline, система оптовых заказов Вымышленный пример, не клиент

Ledgerline принимает заказы примерно от сорока оптовых клиентов и передаёт их на склад. Её десять лет назад построило агентство, потом расширяли три фрилансера, и последний из них перестал отвечать на письма весной. Компания, которой она принадлежит, купила её вместе с бизнесом, и у нового владельца есть сервер, репозиторий и договор с хостингом. Больше ничего.

#Что устанавливает первый анализ

Устройство и то, откуда известна каждая часть Вымышленный пример, не клиент
Первый анализ Ledgerline
Часть Что записано Откуда известно
Приложение заказов Вход клиентов, ввод заказов, счета в PDF Наблюдалось в коде
База данных Заказы, клиенты, прайс-листы и набор таблиц, которые не читает никакой код из репозитория Наблюдалось для используемых таблиц, выведено для остальных
Инструмент отчётности Читает ту же базу напрямую, со своими учётными данными Выведено из настройки подключения и тех самых непрочитанных таблиц
Импорт от партнёра Каждую ночь забирает файл цен у партнёра по FTP и перезаписывает прайс-лист Наблюдалось в скрипте по расписанию
Передача на склад Отправляет подтверждённые заказы на склад письмом с вложением Наблюдалось в коде подтверждения заказа

Две строки здесь стоят больше остальных. Инструмент отчётности читает рабочую базу с учётными данными, которых нет в репозитории, поэтому изменение этой базы может без предупреждения сломать что-то у других. А прайс-лист каждую ночь перезаписывается из файла партнёра, поэтому ошибочный файл наутро переоценит каждый заказ.

#Что он не смотрел, по его собственным словам

Покрытие первого анализа Вымышленный пример, не клиент
  • Проверено полностью. Приложение заказов и скрипты по расписанию, которые есть в репозитории.
  • Проверено частично. База данных, структура которой известна, а непрочитанные таблицы не объяснены.
  • Не проверялось. Всё на сервере, чего нет в репозитории, включая сам crontab и инструмент отчётности.

Именно эта часть держит картину честной. Анализ прочитал то, что есть в репозитории. Задача, которая выполняется на сервере, но никогда не попадала в репозиторий, в картину не вошла, и картина так и говорит, а не намекает, что список задач по расписанию полный.

#Вопросы по порядку

Открытые вопросы, самые срочные первыми Вымышленный пример, не клиент
  1. Кто пользуется инструментом отчётности и что у них сломается, если база изменится?
  2. Что сервер выполняет по расписанию такого, чего нет в репозитории?
  3. Что станет с прайс-листом, если файл партнёра пустой или испорчен?
  4. Читает ли склад до сих пор заказы из писем или они приходят теперь куда-то ещё?
  5. Что это за непрочитанные таблицы и может ли кто-нибудь сказать, заполняются ли они до сих пор?

Первый и четвёртый вопросы адресованы людям, финансовому отделу и складу. На второй и пятый можно ответить, если дать следующему анализу конфигурацию сервера и посмотреть на таблицы. На третий можно ответить, внимательнее прочитав один скрипт, и именно об этом просят следующий анализ.

#Следующие два анализа

Что меняется, когда в коде ничего не меняется Вымышленный пример, не клиент

Второй анализ направлен на скрипт импорта и на конфигурацию сервера, которую владелец добавил в репозиторий. Он устанавливает, что пустой файл партнёра опустошает прайс-лист, и находит две задачи по расписанию, которые никогда не попадали в репозиторий. Устройство системы не изменилось вовсе. Всё в сравнении относится к новому знанию, и сравнение говорит именно это, а не выдаёт две задачи за только что добавленные. Третий анализ, после исправления импорта, показывает одно изменение в системе и больше ничего.

#Что с этим делает владелец

Что владелец делает дальше Вымышленный пример, не клиент

Владельцу унаследованной системы редко нужно сразу полное описание. Ему нужно знать, где система может без предупреждения ударить по бизнесу и кого спросить о частях, которые никто не может объяснить. Первый анализ даёт ему общую базу, ночную перезапись и пять вопросов по порядку. Следующие два превращают самые опасные из них в факты, и для этого не нужен никто из тех, кто строил систему.

Начните с того, что можно установить.

Анализу унаследованной системы не нужен никто из тех, кто её строил. Нужен человек с доступом к коду на пять минут, и анализ прямо говорит, чего найти не смог.

Построить карту проекта Унаследованная система