ハードウェア設計とソフトウェア設計の違い(1/3)

製造業にいると,機構屋さんとか電気屋さんとかソフト屋さんとか..いろんな専門分野のヒトと接する事が出来ます.
「大学時代は,ソフトをやってたんだけど,今はハードなんだぁ〜」とか,その逆のヒトなんてのも結構いたりします.

今回は,ハードウェア設計とソフトウェア設計の3つの違いについて書いてみます.
まず1つめは,試作の位置づけです.


製造業において,設計の最終工程は量産開始です.
量産が始まると,取り敢えずは設計者は一段落です.

で,その量産にたどり着く為には,試作をしないといけません.
製品の難易度にもよりますが,だいたい2〜6回ぐらいは試作品を作成します
試作品を客先に持って行く事もありますし,社内で審査会を実施するのみな場合もあります.

で,その試作の過程において,ハードウェアとソフトウェアには大きな差があります.

試作の回数をこなすにつれてハードウェアは精度を上げていきます.
試作の回数をこなすにつれてソフトウェアは機能を追加していきます.


この差が結構大きい.


ハードウェアなヒトたちは,最初に全物作ってしまいます.
そしてその後,精度・性能を高める努力をします.


一方ソフトウェアなヒトたちは,最初っから全機能は作りません.
まずは,一つの機能を実現します.次の試作にはまた別の機能を実現します.

うーん,良いたとえが思いつかないのですが,今ある手ものマウスを例にした場合.

試作1
ハードウェアなヒトはマウスの機構や電気回路を全て作ってしまいます.
でも,光学式の認識率が悪く,変な信号がPCに送られてしまいます.
でも右クリックも左クリックもホイールも,感圧式サイトボタンも付いています.


ソフトなヒトは,取り敢えずディスプレイ上でマウスの動きに連動してカーソルが動く様にします.
ただ,ハードウェアの精度の関係でカーソルがずれる事があります.
右クリックも左クリックも感圧式サイドボタンは今の段階では何もイベントを起こせません.



試作2.
ハードなヒトは,マウスの精度を高めます.
電子部品を買えて,光学式の認識率を高め,変な信号がPCに送られない様にします.
感圧式サイドボタンの反応圧力を客先の要求に近づけます.


ソフトなヒトは,機能を追加します.
左クリックで決定のイベントが発生させられるようにします.
ホイールでカーソル画面を送れる様にします.


.....


と言ったような形ですね.
この違いが何かソフトとハードの開発の足並みを揃えにくい理由の一つのような気がします.