業務ルールには境界条件の設定が重要です。
テストでも、境界値のテストは重要です。
if a < b then
処理A
else
処理B
end if
と
if a <= b then
処理A
else
処理B
end if
のロジックは別ものなので、テスト仕様も a=b の時の設定は慎重に行います。運用者も a=b の事態は認識しているはずですね。釈迦に説法ですよね。
IT以外の実業務で、境界条件のアヤフヤ体験をしました。
信号のある交差点(90度交差でなく、45度変則交差点) で信号無視車と接触されました。これ自体はとりたてて、書くことでもないのですが、
免許証取得時に「事故は速やかに警察に通報すべし」と教えられた通り通報しました。警官が数分後に来ました。事情聴取も順調に進み、「あとは当事者同士で示談してね」、というところまで進みました。再度、発生現場を確認したとき、
「管轄が違うんじゃないか」と担当者が言い出しました。よく聞いてみると、現場の交差点は、A区とB区の境界線上で、接触場所が交差点中央からの東西南北で管轄が違うそうな。
当のおまわりさんは、A区署の人で、この事案は、「うちの管轄か?」と問い合わせている模様。やがて「B区署の管轄のようなので、B署の人を呼ぶから、残ってくれ」と言われました。
やがて、B署の人が来て,A署の人から申し送りがあったようなのですが、ほとんど同じ事情聴取を受けました。
うーん!...この事務処理は納得できない。
・顧客(当事者)の担当の確定する時期がおかしい。
通報時点で発生場所を伝えているのだから、A署担当かB署担当かは受信時点で決定できるはずなのに、一方的に A署から来た。
・よしんば不明でも、事情聴取する前に、現場に到着した時点で管轄の確認すべきでは。
・管轄違いが発覚して、B署の人が来た時も、事情聴取が終了しているので、その内容は、B署員が引き継ぐべきで、再度事情聴取するのはおかしい。
・顧客は警察に依頼しているのであって、A署かB署は関係がない
・接触時に壊れたウインカーの破片等が現場に残ったままで、掃除なしに、解散になったのですが、この破片で他の車がパンク等したら、責任はどうなるんだろう。
管轄区域のセクション意識が招く弊害の一部を体験したみたいで、事故よりもそっちの方が、気になります。
これって、顧客に対してサーベイするとき、サブシステムの担当者が別々に同一担当者に同じことを聞くことと同じような感じがしました。
同じことを二度しないのは、部品の再発明防止の鉄則ですが、担当者に同じ説明を複数回させない、というのも同じように大事なことです。
(*)意図的に複数回答えさせて、真実性を高める時は例外です。