電気・電子装置にソフトウェアを実装し期待する動作を実現する為の開発としてどの様な分類があるだろうか? パソコン開発、サーバー開発、ミニコン開発(今では死語?)等、そして組込開発が存在すると思う。 組込開発は、CPUとバスを介して接続される各種ペリフェラルを駆動してアイテムとして期待する動作を実現するもので他の開発形態と比較しハードウェアを意識した開発が要求される。他の開発形態がメーカーにより準備されたプラットフォーム上で動作するのに比較し、組込はペリフェラルとメモリ、レジスタを駆使してTSSで動作させる。 その意味からも組込技術者は、プライドを持ち独自の開発プロセスで如何に機械語でステップ数を少なくして動作させるか、今思えば職人的スキルが必要であった。しかし、これは、ハードウェアの性能が低かった時代の話であり今の様に高性能なハードを使用する場合は、ステップ数を減らすことより如何に効率よくプログラムを書くか、の方向に変わっていった。 小谷田の40年にわたる格言は、組込開発は、「思ったように動かないが、作ったように動く」であった。 なぜ、思ったように動かないか、それは、「思ったよう」を文書化せず(頭の中で考えて)、とにかくコードを書いてくっつける(統合する、結合する)、そして試作ボード(ブレッドボードと呼んでいた)に載せて動かす・・・、こんな開発をしていたから。その様な中、プロセスと言う言葉を意識したSW-CMMに出会い、以降プロセスの信者になった。ちゃんと、Vモデルの左辺でソフトウェアであってもシーケンス図を作成しないと「思ったよう」は表現できない、等、基本に徹することが重要だ、との結論に至った。 小谷田は多くのサービスを世に送り出したが、(必ず、皆さまは小谷田の地獄開発の恩恵を受けている)口癖は、俺は失敗しない!であった。 市場バグは、官公需のインフラシステムは0であり、失敗するはずがないくらい、設計で品質を確保した。 テストで品質を確保する、と言う馬鹿なことをいう素人がいるが、品質は設計で実装する。 今の自動車業界には組込開発のプロはいない、これが小谷田の見解である。