Développement de produits matériels - quoi et comment ça marche

Bonjour, je m'appelle Dmitry Karzhitsky, je travaille en tant que responsable QA dans la startup de matériel biélorusse Rozum Robotics. Récemment, en collaboration avec l'Université Innopolis, nous avons organisé une rencontre dédiée au développement de produits matériels. Dans la foulée du meetup, je souhaite vous parler des spécificités du développement et du test de robots et des spécificités de l'organisation du travail dans une startup hardware.



Il semble que le domaine du matériel soit moins visible que celui du logiciel, du moins en termes de nombre de références. Nous entendons tous parler de développeurs d'applications Web et mobiles écrivant du code sur MacBook tout en buvant des smoothies. Et les spécialistes du matériel ont l'image d'un ingénieur barbu classique qui peut souder une carte et écrire un code. Si un bon programmeur Java doit faire face à la tâche de développement de logiciels de haut niveau, alors en embarqué on ne peut pas se passer de comprendre le matériel.



Le développement de nouveaux produits, y compris dans le matériel, peut être divisé en deux grands domaines: les produits commerciaux (startups) et la recherche et développement (R&D). Les processus et approches de développement et de test peuvent être similaires, les tâches et la portée diffèrent. Le produit est développé pour des utilisateurs spécifiques sur la base de l'idée et de la recherche que les clients potentiels ont besoin de votre développement. Il y a plus de risques dans cette approche. L'un des risques est la difficulté de mise à l'échelle du produit. Il est peu coûteux de publier une nouvelle version de l'application, et il est encore assez difficile et coûteux de créer une copie du robot. Je discuterai des autres risques ci-dessous.



Des exemples issus du processus de développement seront basés sur le bras robotique collaboratif PULSE (cobot). Il s'agit d'une main en fer mobile qui peut être programmée pour différentes tâches.





Processus de production de logiciels



— . : , API, .



:



  1. .
  2. , .
  3. User Story.
  4. .
  5. .
  6. .
  7. , .
  8. . .


, -. - - — .



, pipeline: , , , , .



— , , , (). , , . , . .



, -. , — .



. , , , , . , , .





hardware- — . , . , . , .



- , . — , , .



bus factor, . , , .





hardware . Java Python. (embedded) — C, C++, . embedded- , , . . .



Java , . , . , , 10 000 , .



. — , , , . . .



, , software. , . — . , , . .









, . , .



, . , ISO 9283. - , , : , , , , .



. , , , API, , . , , .



́ API - . , . — .



. , , . , , , .



: , , , , , — , .



hardware-



, . — , , . , , , . , . - .



, . , . . , .



, , , . , .






, hardware-. R&D « » . , hardware - .



It is hard



All Articles