仕様とは何か

A「このパソコン、突然ブルースクリーンになったんだけど」
B「仕様です」
A「このフロア、定時過ぎると空調止まるのなんとかならん?」
B「仕様です」
A「Bのヤツ、何言っても『仕様です』としか言わないんだけど」
C「仕様です」

アイスブレイクの冗談のあとで、では本題。システムエンジニアをやっていると「世の中に市販されている製品」を扱ってシステム構築するのが一般的なのだけど、いざ製品に触ってみると予想外の不可解な挙動をすることがある。事前にその製品のマニュアルを精読して「この製品はこういう仕様なのだな」と熟知していたとしても、だ。

当然、不可解な挙動を見つけたときは、その製品の開発元に問い合わせをする。問い合わせの趣旨はこうだ、「この製品についてこれこれこういう挙動をしたのを確認しましたが、これは製品仕様通りですか

たいていの場合は不可解な挙動をしたときはシステムトラブルになるわけで、トラブルの原因がどの製品にあるのかを特定した上で、製品の挙動が開発者の意図しないバグだったのか、開発者の設計思想に沿った仕様なのかを明確にしたい、というのが問い合わせの趣旨だ。バグであれば開発者は速やかに改修に着手するし、仕様だというのであればユーザである我々が「この製品はこういう仕様だから気をつけて使おうね」と留意事項を文書化して関係者に共有することで、システムトラブルの再発を防ぐ。製品の挙動は同じでも、バグか仕様かは全く別の概念なのだ。

さて今回取り上げたいのは前述の問い合わせを受けた開発元の対応だ。実は開発元の企業ごとにどんな対応をするかは差がある。この「ユーザからの問い合わせへの対応ポリシー」は、製品を買って問い合わせをして初めて判明することもあり、大金をはたいて買い物をしたあとで「やられた!」と頭を抱えることもある。

問い合わせの趣旨を再度確認すると、聞きたいのは「製品仕様通りですか」だ。

さて開発元が日本国内が発祥の企業の場合、私の経験上ではたいていは問い合わせの趣旨に沿った対応をしてくれる。具体的には下記①~③をすべて行って、仕様かそうでないかを回答する。
①開発元で保有するテスト環境で、不可解な挙動をするか再現確認
②不可解な挙動に関連する箇所についてソースプログラムおよび設計書をチェック
③不可解な挙動に関連する箇所について実際に開発したプログラマーおよび設計者にヒアリング

開発元が海外発祥の企業だと事情が変わってくる。その企業の日本法人か、日本国内向けに販売を行う代理店がユーザからの問い合わせの窓口になるのだが、ひどい企業だと
①開発元で保有するテスト環境で、不可解な挙動をするか再現確認
を行うだけで、再現したら「動作確認したら同じような挙動になったので仕様です」と回答してくる。さらにひどい場合で代理店にありがちなのが「テスト環境を持っていないので再現確認できません」とユーザに平然と言ってくるケースだ。もっともその場合は裏で代理店が開発元に確認依頼を出すので、八方塞がりになることはないのだが。ともかく問い合わせを何度かしていると窓口の向こう側が透けて見えてくる。「この日本法人はソースプログラムが読める技術者がいない営業マンだけの組織だな、日本のマーケットを軽視しているんだな」とか。余談だけど企業によってはユーザからの問い合わせの窓口を担う部門が、片言の日本語しか使えない外国人で構成されていたりして、問い合わせの趣旨が伝わらないこともある。

話を戻すと「動作確認したら同じような挙動になったので仕様です」なんてのは論外なわけで、動かしたらそうなった、というのは仕様ではない。仕様というのは開発者が「動作するもの」をつくる前に「この製品はこのように動作することを想定する」と思い描いたものだ。その思い描いたものから製品が外れているかいないか、製品というアウトプットを開発者が完全に制御下に置いているかどうかを問いたいのだ。当然、開発者が制御しきれていない製品は早急に改修してもらわないと、怖くて使い続けることはできない。わかりやすくするために例え話をすると、レンガを積み上げて川に橋をかけた大工がいて、その大工が「なぜだかわからないけどレンガ同士が支え合って充分な強度の橋ができた。自分が渡ってみたら大丈夫だったから、みんなも渡ってみてよ」と言ってきたら、あなたはその橋を渡るかい?

この記事の読者が、ひどい開発元に振り回されないことを願う。この悲劇に遭いやすいのは決定権を持つ人が「他で扱ってないような新しい製品で斬新なシステムを構築しよう」と目を輝かせたイノベーターやアーリーアダプターである場合だ。そして実際に問い合わせて「やられた!」と頭を抱えるのは決定権を持つ人ではなく、組織の末端だ。この手の話はコスト(カネ)に現れにくいので、決定権を持つ人には問題の大きさが理解されにくい。そして組織の末端は疲弊するのだ。

投げ銭を入れるカゴはこちら。どうぞどうぞ遠慮なく。