Pengembangan produk perangkat keras - apa dan bagaimana cara kerjanya

Hai, nama saya Dmitry Karzhitsky, saya bekerja sebagai Pimpinan QA di startup perangkat keras Belarusia Rozum Robotics. Baru-baru ini, bersama Universitas Innopolis, kami mengadakan pertemuan yang didedikasikan untuk pengembangan produk perangkat keras. Dalam jejak pertemuan, saya ingin memberi tahu Anda tentang spesifikasi pengembangan dan pengujian robot dan tentang spesifikasi pengorganisasian pekerjaan dalam startup perangkat keras.



Nampaknya ranah hardware kurang terlihat dibanding software, setidaknya dari segi jumlah referensinya. Semua orang tahu tentang pengembang web dan seluler yang menulis kode di MacBook sambil minum smoothie. Dan spesialis perangkat keras memiliki citra insinyur berjanggut klasik yang dapat menyolder papan dan menulis kode. Jika seorang programmer Java yang baik harus mengatasi tugas mengembangkan perangkat lunak tingkat atas, maka tertanam tidak dapat dilakukan tanpa memahami perangkat keras.



Pengembangan produk baru, termasuk dalam perangkat keras, dapat dibagi menjadi dua area besar: produk komersial (startup) dan penelitian dan pengembangan (R&D). Proses dan pendekatan pengembangan dan pengujian bisa serupa, tugas dan cakupannya berbeda. Produk dikembangkan untuk pengguna tertentu berdasarkan ide dan penelitian bahwa calon pelanggan membutuhkan pengembangan Anda. Ada lebih banyak risiko dalam pendekatan ini. Salah satu risikonya adalah sulitnya menskalakan produk. Tidak mahal untuk merilis versi baru dari aplikasi, dan masih cukup sulit dan mahal untuk membuat salinan robot tersebut. Saya akan membahas risiko lainnya di bawah ini.



Contoh dari proses pengembangan akan didasarkan pada lengan robotik kolaboratif PULSA (cobot). Ini adalah tangan besi yang dapat digerakkan yang dapat diprogram untuk berbagai tugas.





Proses produksi perangkat lunak



— . : , 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