Экспертиза степени готовности программного обеспечения определяет, способен ли конкретный продукт пройти заданный технический рубеж: воспроизводимо собраться, пройти испытания, быть переданным, внедрённым или эксплуатироваться в определённой среде. Она не подсчитывает объём всех действий подрядчика и не оценивает их стоимость. Выбор направления внутри экспертизы процесса разработки ПО зависит от того, спорят ли стороны о выполненных работах или о фактической пригодности результата.
До полного исследования эксперт может изучить критерии, попытаться воспроизвести сборку и проверить несколько ключевых сценариев. Такой предварительный прогноз показывает вероятную стадию и ограничения, но не является заключением и не гарантирует конкретный процент. Для уже назначенной судебной экспертизы прогноз одной стороне не даётся.
Когда нужна оценка готовности программного продукта
Готовность исследуют перед приёмкой, запуском, сменой подрядчика или возобновлением остановленного проекта. Вопрос должен содержать рубеж, к которому проверяется продукт: абстрактное «готово или нет» не имеет единого технического смысла.
- подрядчик сообщает о готовности, но продукт не разворачивается из переданного комплекта;
- непонятно, является результат прототипом, MVP, тестовой или промышленной версией;
- нужно определить возможность передачи исходников новой команде;
- часть функций работает только в среде исполнителя;
- отсутствуют тесты, документация, миграции или инструкции;
- критические сценарии блокируются дефектами;
- нужно установить готовность на определённую дату и для определённого назначения.
Какие виды готовности важно различать
Один продукт может быть готов к демонстрации, но не к самостоятельной установке или эксплуатации. Поэтому эксперт заранее определяет целевой уровень и не смешивает его с маркетинговым названием версии.
- готовность к сборке — исходники, зависимости и инструкции позволяют получить ожидаемый результат;
- готовность к тестированию — среда, данные и интерфейсы позволяют выполнить согласованные испытания;
- готовность к передаче — комплект содержит предусмотренные код, документацию, конфигурацию и доступы;
- готовность к внедрению — выполнены технические условия развёртывания и миграции;
- готовность к эксплуатации — ключевые сценарии работают в заданной среде с необходимыми эксплуатационными средствами.
Правовая приёмка и соответствие всем обязательствам не следуют автоматически из технической готовности. Для проверки отдельных требований существует экспертиза соответствия ПО техническому заданию.
Критерии и модель оценки готовности
Предпочтительны критерии из ТЗ, программы испытаний, Definition of Done, регламента выпуска или договора передачи. Если они не заданы, эксперт может предложить техническую модель, но должен объяснить её назначение и не выдавать за условие договора.
Проверяемые критерии
Критерий должен связываться с наблюдаемым результатом и способом проверки, а не с общим впечатлением о продукте.
- полнота и воспроизводимость сборки;
- работоспособность ключевых пользовательских сценариев;
- результаты согласованных функциональных и нефункциональных испытаний;
- комплектность поставки и документации;
- управляемость конфигурации, зависимостей и миграций;
- наличие блокирующих дефектов и условий их проявления;
- возможность развёртывания в целевой среде.
Процент и уровень готовности
Процент допустим только при полной модели, известных весах и правилах обработки блокирующих зависимостей. Иногда более честен уровень или профиль: «готово к сборке, условно готово к тестированию, не готово к передаче».
Один отсутствующий компонент может блокировать выпуск при высоком проценте выполненных пунктов. Поэтому заключение раскрывает не только число, но и перечень критериев, результаты испытаний и зависимость общего уровня от критических элементов.
Объекты и материалы для исследования
Эксперт должен получить идентифицированную версию и достаточную среду для проверки. Состояние после доработок нельзя автоматически переносить на спорную дату.
Технический комплект
Материалы передаются в исходном виде или штатным экспортом, с описанием версии и контрольными суммами.
- исходный код, тег или коммит, сборочные сценарии и зависимости;
- дистрибутивы, контейнеры, образы и конфигурации;
- тесты, тестовые данные, отчёты и перечень известных дефектов;
- схемы БД, миграции, API и интеграционные стенды;
- руководства по установке, администрированию и эксплуатации.
Критерии и контекст
Документы объясняют, для какого назначения и среды проверяется готовность.
- ТЗ, спецификации, критерии приёмки и программа испытаний;
- Definition of Done, release checklist и регламент передачи;
- архитектурная и эксплуатационная документация;
- акты, отчёты, протоколы тестирования и переписка о версии;
- определение суда и предоставленный им перечень объектов.
Как проводится исследование готовности
Работа начинается с индивидуализации продукта и целевого рубежа. Затем эксперт строит матрицу критериев, воспроизводит сборку или запуск, выполняет согласованные сценарии и документирует отклонения.
- фиксация версии, состава комплекта и целевой среды;
- определение критериев и их источника;
- проверка сборки, развёртывания и зависимостей;
- выполнение ключевых испытаний с повторяемыми данными;
- классификация блокирующих и неблокирующих ограничений;
- формирование профиля или уровня готовности.
Эксперт описывает не только успешные проверки, но и непроверяемые области. Отсутствие доступа к промышленной интеграции, реальным данным или нагрузочной среде ограничивает вывод и не должно скрываться общим процентом.
Вопросы эксперту о степени готовности ПО
Формулировки задают версию, среду и целевой рубеж. Специалисты могут помочь превратить утверждение «система почти готова» в проверяемые критерии; окончательные вопросы судебной экспертизы определяет суд.
Вопрос не должен одновременно требовать процент договорных работ, стоимость и юридическую приёмку. Для объёма используется отдельная экспертиза выполненных работ.
- Возможно ли воспроизвести сборку версии … из переданного комплекта?
- Готова ли версия … к испытаниям по программе … в среде …?
- Какие критерии передачи выполнены, не выполнены или не могут быть проверены?
- Какие дефекты блокируют ключевые сценарии …?
- Достаточен ли комплект для развёртывания силами другой команды?
- Каков профиль готовности к сборке, тестированию, передаче и эксплуатации?
- Какие зависимости или доступы препятствуют достижению следующего рубежа?
- Какой уровень готовности подтверждается по указанной судом модели?
Некорректно: «ПО готово на 90 процентов?» Корректно: «Какие из критериев приложения … выполнены для версии … и какие блокирующие зависимости выявлены?»
Некорректно: «Можно ли принять работу?» Корректно: «Готов ли переданный комплект к воспроизводимой сборке и выполнению сценариев … в среде …?»
Подтверждённый технический рубеж не означает юридическую приёмку работы и не устанавливает виновность, мотивы разработчика или его намерение передать незавершённый продукт. Эти вопросы суд или орган расследования разрешает с учётом всех доказательств, а эксперт оценивает готовность только в пределах специальных знаний и заданных критериев. Правовой вывод за этой границей не аннулирует всё заключение автоматически, но позволяет проверить компетентность автора и оспаривать относимость, допустимость, достоверность и обоснованность ответа. В уголовном процессе обнаруженная некомпетентность может повлечь отвод эксперта; в иных видах процесса отвод допускается по их собственным основаниям. Возможны также допрос, дополнительная или повторная экспертиза, а при существенном процессуальном нарушении — вопрос об исключении заключения либо признании его недопустимым доказательством по правилам применимого процесса.
Предварительный прогноз и границы вывода
Пробная сборка и несколько ключевых сценариев позволяют оценить, достаточны ли объекты и какой профиль готовности вероятен. Неблагоприятный прогноз может выявить отсутствие зависимостей или невозможность идентифицировать версию до начала полного комплекса испытаний.
Прогноз может уточниться после получения полной среды, данных или других модулей. Эксперт не гарантирует отсутствие всех дефектов, соответствие законодательству, экономическую целесообразность запуска или исход судебного спора. Формат и условия предварительной работы согласуются отдельно.
Проведение экспертизы по уголовному делу
Согласно Постановлению Пленума Верховного Суда Российской Федерации от 21 декабря 2010 г. N 28 "О судебной экспертизе по уголовным делам" экспертиза по уголовному делу может быть проведена либо государственным экспертным учреждением, либо некоммерческой организацией, созданной в соответствии с Гражданским кодексом Российской Федерации и Федеральным законом "О некоммерческих организациях", осуществляющих судебно-экспертную деятельность в соответствии с принятыми ими уставами.
Коммерческие организации и лаборатории, индивидуальные предприниматели, образовательные учреждения не имеют права проводить экспертизу по уголовному делу, ровно как и некоммерческие организации, для которых экспертная деятельность не является уставной. Экспертиза, подготовленная указанными организациями в рамках уголовного процесса, может быть признана недопустимым доказательством, т.е. доказательством, полученным с нарушением требований процессуального закона.
Недопустимые доказательства не могут использоваться в процессе доказывания, в том числе, исследоваться или оглашаться в судебном заседании, и подлежат исключению из материалов уголовного дела.
Так как АНО "Судебный эксперт" является автономной некоммерческой организацией, а проведение судебных экспертиз является её основной уставной деятельностью (см. раздел "Документы организации"), то она имеет право проводить экспертизы в том числе и по уголовным делам.