🔔 Независимая экспертиза готовности ПО: определение процента завершения, объёма недоработок

🔔 Независимая экспертиза готовности ПО: определение процента завершения, объёма недоработок

🚨 Введение: когда подрядчик не выполнил обязательства 💼

  • Ситуация, когда заказчик вложил средства в разработку программного продукта, а подрядчик сдал работу, которая явно не соответствует ожиданиям (или не сдал вовсе), к сожалению, не редкость. Спор переходит в плоскость: «Сколько процентов работы реально выполнено? Что именно не сделано? И во сколько обойдётся исправление ошибок и доработка?».
  • Ответить на эти вопросы без независимой экспертизы практически невозможно. Судья не является специалистом в программировании, а разработчик может утверждать, что «программа готова на 95%», хотя по факту — только на 30%. Независимая экспертиза программного обеспечения — единственный способ получить объективную, научно обоснованную оценку и защитить свои интересы.
  • Ниже представлен подробный разбор того, как экспертиза определяет процент готовности, выявляет недоработки и рассчитывает стоимость их устранения.

Раздел 1. Что проверяет эксперт при оценке готовности ПО 📋

Эксперт не просто «смотрит на код»; он проводит многоуровневый анализ.

1.1. Анализ технического задания (ТЗ) и проектной документации

ДокументЧто оценивается
Техническое задание (ТЗ)Перечень всех требований (функциональных и нефункциональных), их приоритет (must have – обязательно, nice to have – желательно, но не критично).
ДоговорСроки, этапы (вехи, milestones), стоимость этапов.
Акты сдачи-приёмки (промежуточные).Какие этапы были приняты заказчиком без замечаний (это может повлиять на оценку).

Если ТЗ составлено плохо (размытые формулировки), эксперт даёт заключение с оговорками и использует «обычно предъявляемые требования» (ст. 721 ГК РФ).

1.2. Анализ исходного кода и архитектуры

Что проверяетсяИнструмент / Метод
Наличие реализованных функций (сравнение с ТЗ).Эксперт вручную проверяет код, либо использует автоматическое тестирование (например, Postman для API, Selenium для UI).
Качество кода (читаемость, модульность, комментарии).Статический анализ (SonarQube, PHPStan).
Наличие тестов (unit-тесты, интеграционные тесты).Покрытие кода (coverage).
Соответствие архитектурным решениям (MVP, MVC, Clean Architecture).Ручной ревью (одобрение эксперта).

1.3. Тестирование работоспособности

Эксперт устанавливает ПО (на тестовый стенд) и проверяет:

  • Запускается ли программа.
  • Работают ли основные функции (создание документа, регистрация пользователя, импорт данных).
  • Нет ли критических ошибок (краш, потеря данных).

1.4. Анализ документации (пользовательской, технической)

  • Есть ли руководство пользователя (User Manual).
  • Описаны ли API (Application Programming Interface – интерфейс программирования приложений) endpoints.
  • Есть ли инструкция по развёртыванию (Deployment Guide).

Отсутствие документации может быть расценено как недоработка, если ТЗ это предусматривало.

Раздел 2. Как рассчитывается реальный процент готовности 📊

2.1. Метод «функциональных точек» (Function Points)

Это классический метод, используемый в программной инженерии. Каждой функции (требованию) присваивается «вес» (weight) на основе сложности.

Тип функцииВесПример
Внешний ввод (пользователь заполняет форму).4Регистрация пользователя.
Внешний вывод (формирование отчёта).5Отчёт о продажах за месяц.
Запрос (чтение).3Просмотр списка заказов.
Справочник (таблица).7Справочник контрагентов (с возможностью редактирования).

Расчёт: % готовности = (Сумма весов реализованных функций / Сумма весов всех функций по ТЗ) × 100.

Кейс № 1.

  • ТЗ содержит 10 функций с суммарным весом 100.
  • Эксперт выявил, что реализованы функции с суммарным весом 60.
  • Итог: готовность 60%.

Недостаток метода: не учитывает качество реализации (функция может быть реализована с ошибками). Эксперт может применять понижающие коэффициенты (например, если функция работает, но с ошибками, её вес умножается на 0,5).

2.2. Метод «экспертных оценок» (если ТЗ нечисловое)

Если ТЗ составлено неструктурированно, эксперт (или несколько экспертов) дают свою оценку готовности, а затем усредняют.

Кейс № 2. Три эксперта оценили готовность в 45%, 50% и 55%: (45+50+55)/3 = 50%.

2.3. Учёт выполненных этапов (milestones)

Если в договоре прописаны этапы (например, Проектирование → Разработка → Тестирование → Внедрение), эксперт проверяет, какие этапы завершены.

  • Если не завершён этап «Тестирование», то «Разработка» может быть выполнена на 100%, а общая готовность продукта к использованию – только 60% (нет гарантии, что оно работает).

Кейс № 3. Подрядчик утверждает, что разработка готова на 100%. Эксперт выявил, что нет ни одного unit-теста, а нагрузочное тестирование не проводилось. Снизил общую готовность до 70%.

Раздел 3. Выявление объёма недоработок 📝

3.1. Классификация недоработок

Тип недоработкиПримерВлияние на готовность
Полностью отсутствует функция (not implemented).Кнопка «Оплатить» не ведёт к платежному шлюзу.Значительное снижение.
Функция реализована с ошибкой (багом).Калькулятор НДС считает неверно: 120 руб. вместо 118 руб.Снижение пропорционально критичности.
Функция работает, но медленно (производительность).Отчёт грузится 5 минут (в ТЗ было 5 секунд).Частичное снижение.
Нарушена безопасность (уязвимость).SQL-инъекция, позволяющая украсть базу данных.Снижение (может быть приравнено к критической ошибке).

3.2. Документирование недоработок

Эксперт составляет таблицу (приложение к заключению):

Пункт ТЗСтатусКомментарий
2.1Регистрация пользователя (email, пароль)Реализовано с ошибкойПароль хранится в открытом виде (не хэшируется).
3.2Экспорт отчёта в ExcelОтсутствуетНе реализовано.
4.5Время ответа API < 200 мсНе соответствуетФактически 1500 мс (под нагрузкой).

Раздел 4. Расчёт стоимости устранения недоработок 💰

4.1. Методика

Стоимость устранения = Сумма по каждой недоработке (Трудозатраты_i × Ставка разработчика в час) + Дополнительные расходы (лицензии, тестирование).

Трудозатраты (человеко-часы) эксперт оценивает на основе:

  • Собственного опыта (сколько времени потребовалось бы на исправление).
  • Сравнения с аналогичными задачами (бенчмаркинг – сопоставление с отраслевыми стандартами).

Ставка разработчика в час: берётся из рыночных данных (например, для PHP-разработчика – 2000-4000 руб./час, для системного архитектора – 5000-7000 руб./час). Эксперт может использовать среднюю ставку по региону или ту, которую заказчик реально платит другому подрядчику.

4.2. Пример расчёта

НедоработкаТрудозатраты (часы)Ставка (руб./час)Стоимость (руб.)
Исправить хэширование паролей.8300024 000
Реализовать экспорт в Excel.16300048 000
Оптимизировать SQL-запрос (добавить индексы).44000 (DBA)16 000
Итого:88 000

4.3. Учёт дополнительных расходов

СтатьяПример
Покупка лицензий (если подрядчик использовал trial-версию библиотеки, которая истекает).10 000 руб.
Затраты на тестирование.30% от стоимости разработки.
Затраты на повторное развёртывание (деплой).20 000 руб.

Кейс № 4. Эксперт оценил стоимость исправления недоработок в 1,2 млн руб. (с учётом интеграционного тестирования).

Раздел 5. Практические примеры (кейсы) 📂

Кейс № 5. Интернет-магазин: готовность 30% вместо 95%

Ситуация: Подрядчик утверждал, что интернет-магазин готов на 95%. Заказчик обнаружил, что корзина не работает, оплата не проходит.

Действия эксперта: Эксперт проанализировал ТЗ (150 требований). Оказалось:

  • 50 требований выполнены (33%).
  • 70 требований выполнены с ошибками (47%).
  • 30 требований не выполнены (20%).
    С учётом критичности (корзина — must have) готовность оценена в 42%.

Результат: Суд уменьшил цену договора пропорционально (с 2 млн руб. до 840 000 руб.). Экспертиза (110 000 руб.) окупилась.

Кейс № 6. Мобильное приложение: отсутствие документации

Ситуация: По договору подрядчик должен был передать руководство пользователя (User Manual) и описание API. Не передал.

Действия эксперта: Эксперт констатировал, что документация отсутствует (акт приёма-передачи не подписан). Стоимость разработки документации оценена в 300 000 руб. (на основе трудозатрат технического писателя).

Результат: Суд обязал подрядчика либо дописать документацию, либо вернуть 300 000 руб.

Кейс № 7. Система учёта: критическая ошибка потеря данных

Ситуация: В системе учёта товаров при проведении документа «Списание» терялась информация о поставщике.

Действия эксперта: Воспроизвёл ошибку 10 раз. Признал её Критической (Critical), хотя подрядчик утверждал, что это «мелкий баг».

Результат: Суд обязал подрядчика исправить ошибку за свой счёт, а также выплатить компенсацию за убытки (некорректный учёт привёл к закупке лишних товаров на 500 000 руб.).

Раздел 6. Необходимые документы для экспертизы 📄

ДокументЗачем
1Договор на разработку ПО (с приложениями).Определить объём обязательств.
2Техническое задание (ТЗ).Сравнить реализацию с требованиями.
3Акты сдачи-приёмки (промежуточные).Зафиксировать, что было принято ранее.
4Исходный код (архив, ссылка на Git).Основной объект исследования.
5Исполняемые файлы (дистрибутив).Для тестирования.
6Переписка сторон (по изменениям ТЗ).Если ТЗ менялось в процессе.

Заключение 🎯

Независимая экспертиза ПО позволяет:

  • ✅ Объективно оценить процент готовности (методом функциональных точек или экспертных оценок), отделяя реально работающий код от «мертвых» функций.
  • ✅ Выявить все недоработки (отсутствие функций, ошибки, низкую производительность, уязвимости) и классифицировать по критичности.
  • ✅ Рассчитать стоимость устранения (трудозатраты × ставка + дополнительные расходы).

Экспертное заключение является весомым доказательством в суде (ст. 55 ГПК РФ, ст. 64 АПК РФ) и основанием для претензии к подрядчику (ст. 723 ГК РФ).

Если вы столкнулись с недобросовестным подрядчиком, не тратьте время на бесполезные переговоры — закажите независимую экспертизу.

Для получения консультации, предварительной оценки стоимости и заказа экспертизы ПО обращайтесь на официальный сайт:

👉 https://gemmex.ru/ 👈

Похожие статьи

Новые статьи

🟩 Сколько стоит экспертиза судебно-психиатрическая посмертная?

🚨 Введение: когда подрядчик не выполнил обязательства 💼 Ситуация, когда заказчик вложил средства в разработку программно…

🟩 Посмертная экспертиза при оспаривании завещания: медицинский анализ, методология и судебная практика по делам о недействительности сделок

🚨 Введение: когда подрядчик не выполнил обязательства 💼 Ситуация, когда заказчик вложил средства в разработку программно…

🟩 Посмертная судебно-психиатрическая экспертиза: клиническая практика и процессуальные аспекты ретроспективной диагностики в наследственных спорах

🚨 Введение: когда подрядчик не выполнил обязательства 💼 Ситуация, когда заказчик вложил средства в разработку программно…

🟩 Экспертиза строительной техники для обращения в суд

🚨 Введение: когда подрядчик не выполнил обязательства 💼 Ситуация, когда заказчик вложил средства в разработку программно…

🟩 Посмертная судебная экспертиза: поле битвы за наследство и научное оружие в руках правосудия

🚨 Введение: когда подрядчик не выполнил обязательства 💼 Ситуация, когда заказчик вложил средства в разработку программно…

Задавайте любые вопросы

4+10=