今日は、勉強会というか打ち合わせというか、ソフトウェアテスト関係の会合。普通のプリンタを題材とした。一度プリンタ複合機が話題となったが、「ちょっと複雑だから」とのことで今回は題材から外した。
プリンタ複合機って、FAX、コピー、そしてプリント機能が一体化している機械。ネットワークでつながれ、皆で共用しているケースが多い。今やちょっとした企業でのオフィスでは、当たり前となった。
駅からの帰りで、ふと次のような事を思った。「あれっ、複合化するということは、ソフトは共有にするということ。開発の組織形態はどうすればいい?」 例えば、FAX開発部、コピー開発部、プリンタ開発部があったら、複合機のための組織はどうしたらいいかの自問自答。(あっ、とても○○部で済むような規模じゃないだろうけど。)
ある部の中の組織とするか、各機器とのインタフェースなり整合性の確認を行う部署を作るかのどちらかだろう。大なり小なりの、派生的な形態はあるにせよ。
また、ご存知のように、アナログのコピーとプリンタの感光ドラムの極性は逆。つまりアナログコピーの時は、光が当たらない所にトナーがくっつく。プリンタは逆で、光が当たった所にトナーがくっつく。コピーがデジタル化する時にはプリンタと同じ極性にする必要がある。きっとその時、喧々諤々があったと思われる。色んな所を逆化しないといけないので。その意味では、大きな技術課題を克服してきた風土があると言える。
更には、車のECU(電子制御ユニット)にも思いをはせた。レクサスのような高級車では100個程度とか。認識として重要なのは、基板(ソフト)の交換とかでは、100個の中の1つや2つが交換されるという事。また、車種ごとに全部を作り変える事はしないだろう。場合によっては、いくつかのシリーズでECUの共有化もありうるのかもしれない。
となると、ECU間のインタフェースを徹底的に規定する事になる。またそのための検証ツールにもパワーを割く。(ハード系の検証ツールなり、ECU向けの検証ツールはネットでちらほら見れる。)
こちらも横断的な組織とか、開発手法の共有化などが行われている事を示す。ソフトの再利用を叫ぶのは簡単かもしれない。が、その上での組織変更とか、共有化のインフラをどうするかの検討が必要だ。それを克服しないと実現は無理となる。プリンタ複合機や車を見たら、あの中のソフトはそれらを克服した証と意識する事にしたい。