Hola, mi nombre es Dmitry Karzhitsky, trabajo como QA Lead en la startup de hardware bielorrusa Rozum Robotics. Recientemente, junto con la Universidad de Innopolis, celebramos una reunión dedicada al desarrollo de productos de hardware. A raíz de la reunión, me gustaría contarles sobre los detalles del desarrollo y la prueba de robots y sobre los detalles de la organización del trabajo en una startup de hardware.
Parece que el ámbito del hardware es menos visible que el del software, al menos en términos de número de referencias. Todo el mundo sabe que los desarrolladores de aplicaciones web y móviles escriben código en MacBooks mientras beben batidos. Y los especialistas en hardware tienen la imagen de un ingeniero barbudo clásico que puede soldar una placa y escribir un código. Si un buen programador de Java debe hacer frente a la tarea de desarrollar software de alto nivel, no se puede prescindir del hardware integrado.
El desarrollo de nuevos productos, incluido el hardware, se puede dividir en dos grandes áreas: productos comerciales (startups) e investigación y desarrollo (I + D). Los procesos y enfoques de desarrollo y prueba pueden ser similares, las tareas y el alcance difieren. El producto está desarrollado para usuarios específicos en base a la idea y la investigación que los clientes potenciales necesitan para su desarrollo. Hay más riesgos en este enfoque. Uno de los riesgos es la dificultad de escalar el producto. Es económico lanzar una nueva versión de la aplicación, y todavía es bastante difícil y costoso crear una copia del robot. Discutiré otros riesgos a continuación.
Los ejemplos del proceso de desarrollo se basarán en el brazo robótico colaborativo (cobot) de PULSE. Esta es una mano de hierro tan móvil que se puede programar para diferentes tareas.
Proceso de producción de software
— . : , API, .
:
- .
- , .
- User Story.
- .
- .
- .
- , .
- . .
, -. - - — .
, pipeline: , , , , .
— , , , (). , , . , . .
, -. , — .
. , , , , . , , .
hardware- — . , . , . , .
- , . — , , .
bus factor, . , , .
hardware . Java Python. (embedded) — C, C++, . embedded- , , . . .
Java , . , . , , 10 000 , .
. — , , , . . .
, , software. , . — . , , . .
, . , .
, . , ISO 9283. - , , : , , , , .
. , , , API, , . , , .
́ API - . , . — .
. , , . , , , .
: , , , , , — , .
hardware-
, . — , , . , , , . , . - .
, . , . . , .
, , , . , .
, hardware-. R&D « » . , hardware - .