Исследования и экспериментальная разработка ПО
Проверка технической реализуемости, прототипы, обработка измерений и низкоуровневая оптимизация. Отвечаем на вопрос «получится ли» до того, как вы вложитесь в полноценную разработку.
Когда нужен R&D
R&D нужен, когда готового ответа нет: неясно, хватит ли точности, производительности или данных, а ошибка в выборе подхода дорого обойдётся.
Проверить, решается ли задача на ваших данных
Сравнить технологии и подходы на реальных ограничениях
Обработать данные измерений и оборудования
Ускорить вычисления на C, C++ или Rust
Написать ПО вокруг существующего оборудования: протоколы, драйверы, интеграции
Подготовить прототип перед промышленной разработкой
Примеры работы
HarvesterLib
Библиотека на C++20 для измерений лесозаготовительных харвестеров: разбор и проверка данных, выравнивание по регулярной сетке и экстраполяция.
Как проходит исследование
Вопрос и критерии
Формулируем проверяемую гипотезу, метрики и критерии успеха.
Данные и среда
Собираем характерные данные и тестовый контур с реальными ограничениями оборудования.
Эксперименты
Начинаем с простой исходной реализации и сравниваем подходы измеримо.
Прототип
Делаем минимальную систему, достаточную для проверки решения.
Вывод
Передаём код, измерения, отклонённые подходы и рекомендацию следующего шага.
Что вы получаете
Обоснованное решение: делать, как делать или не делать. Отрицательный результат тоже экономит деньги.
Технический отчёт с измерениями
Код прототипа
Сравнение рассмотренных подходов
Риски и ограничения решения
Рекомендацию по следующему этапу
Частые вопросы
Вы гарантируете результат исследования?
Мы гарантируем честный ответ, а не заданную точность: исследование может показать, что подход не работает, и это тоже результат.
Разрабатываете ли вы электронику?
Нет. Мы отвечаем за программную часть и данные, а оборудование, доступ к нему и техническую документацию предоставляет заказчик.
Что происходит после прототипа?
Если решение подтвердилось, переходим к промышленной разработке в NDDev.Dev или передаём результат вашей команде.
На чём вы пишете?
Вычислительную и низкоуровневую часть — на C, C++ и Rust; инструменты анализа выбираем под задачу.
Расскажите о гипотезе
Опишите задачу, данные и оборудование — предложим, как проверить идею быстро и измеримо.