
При споре с разработчиком недостаточно показать, что программа «работает плохо». Экспертиза программного обеспечения сопоставляет фактическую работу системы с договором, техническим заданием, документацией и общепринятыми техническими требованиями.
Когда нужна экспертиза программного обеспечения
Спор о приемке
Проверяется, реализованы ли согласованные функции и можно ли использовать результат по назначению.
Ошибки и сбои
Устанавливаются проявления дефектов, условия воспроизведения и возможные технические причины.
Объем выполненных работ
Сопоставляются переданный результат, этапы, документация и условия договора.
Исходный код
Исследуются структура, компоненты, зависимости и признаки заимствования при наличии такой задачи.

Что именно сравнивает эксперт
- договор, приложения и техническое задание;
- пользовательские сценарии и фактическое поведение системы;
- требования к производительности, совместимости и безопасности;
- исходный код, сборки, репозитории и историю изменений;
- инструкции, архитектурную и эксплуатационную документацию;
- акты, переписку и сведения о выявленных ошибках.
Зафиксируйте состояние системы до изменений. Обновление, перенос на другой сервер или исправление кода способно изменить предмет исследования.
Как подготовить материалы
- Соберите договорную базуНужны все версии задания, приложения, протоколы согласования и критерии приемки.
- Опишите ошибкиУкажите последовательность действий, ожидаемый и фактический результат, дату и среду.
- Сохраните версииПередайте исследуемую сборку, код, базу данных и зависимости в зафиксированном состоянии.
- Определите вопросыКаждый вопрос должен относиться к техническому факту, а не к виновности стороны.

Примеры вопросов эксперту
- Соответствует ли программное обеспечение требованиям конкретных пунктов технического задания?
- Реализованы ли перечисленные функции и работают ли они в заявленной среде?
- Воспроизводятся ли указанные ошибки и каковы их технические причины?
- Препятствуют ли обнаруженные недостатки использованию программы по назначению?
- Какой объем работ необходим для устранения выявленных дефектов?
Типичные ошибки сторон
Часто заказчик передает только скриншоты ошибок без самой системы, а разработчик показывает уже исправленную версию. Еще одна проблема - расплывчатое техническое задание, в котором нет проверяемых критериев. В таком случае эксперт отделяет явно согласованные требования от пожеланий и описывает пределы возможного вывода.
Можно провести экспертизу без исходного кода?
Да, для части задач достаточно работающей сборки и документации. Но причины ошибок и особенности реализации без кода исследовать сложнее.
Эксперт определит стоимость разработки?
Это возможно при наличии конкретного объема работ, требований и подходящей методики расчета. Вопрос следует сформулировать отдельно.
Можно исследовать облачный сервис?
Да. Потребуются доступ, описание среды, версии компонентов и согласованный порядок фиксации состояния сервиса.
Изучим договор и техническое задание, определим объекты и вопросы экспертизы.