Q. プロト作っていきなり結合テストやるなんてレベルが低すぎですか? 〜リスク共有のやり方〜

投稿者: | 8月 16, 2021

リスクのある開発あるある

実際のところ、こういう状況って開発あるあるです。が、皆心を痛めながらやっています。

単体テストを十分にやった上で結合テストに進めなければならない。常識です。
3Dプリントで評価してから切削品を作る。常識です。
セルフマージ禁止。常識です。

しかし開発の全てがそのようにテンプレートどおりにいかないことを皆知っています。

念のため、どのようなケースで「テンプレートどおりにいかない事態」に陥るかというと、一般にはスケジュールが厳しい状況が考えられます。
原因は様々ですが、例えば部品の入荷遅れで基板実装後の検証日程が圧迫されたとか、他のプロジェクトとの兼ね合いでスタッフが確保できずに進捗が思わしくなかったとか、仕様がなかなか決まらなくてプロトタイプ作成への着手が遅れたとか、そもそも元々の計画自体が無謀だったとか。
いずれにせよ十分な時間が確保できず、

「日程を遅らせるか?このままエイヤで結合テストに進めるか?」

という選択を迫られます。
非常に困った危機的状況です。あってはならない状況です。

しかしこのような状況を頭ごなしに「計画性が足りない」「調整不足」と非難する方は少々開発経験が不足しているかも知れません。あるいはこれまでとても恵まれた環境でしか仕事をしてきていないのかも知れません。
きっと多くの開発者たちがこの状況に「あるある」と頷いてくれているものと思います。

特にスタートアップなどでは、とあるひとつのイベント、それが展示会であれ投資家へのプレゼンであれパートナーへのデモであれ、それを逃すことが即会社が傾くことに繋がるというようなシチュエーションが少なくありません。

例えば有名なエピソードでは、Appleが初期に開発したプロダクト『Apple II』の製品発表会の、実は当日まで試作品がきちんと起動する確率は五分五分以下だったという逸話があります。しかし見事当日のデモを乗り切りその後の未来、つまり現在の時価総額トップ争いをする大企業という未来へ可能性を繋ぐことに成功しました。

しかし現実はAppleのように良い例ばかりではありません。
日程を急いだ結果、手酷い失敗をしたケースなどいくらでもあります。
むしろそちらの方が多いです。

だから先ほど、開発者はあるあると頷いてくれるだろう、と言ったわけです。

あるあるなら対策をしよう

結合テストだけに限らず、テンプレとは違う無茶を通す場合に気を付けるべき重要なポイントをここで伝授します。

とにかく周囲に伝えて理解させることです。

なんのことかと思うかも知れませんが私が特に重要だと思うのはこの一点です。

リスクについて理解させる

無茶を通すケースでは当然失敗する可能性があります。
失敗することで素直に元々のプロセス通りに進行してスケジュールを順次スライドさせるよりも、むしろ余計に全体のスケジュールが遅れるということも当然あり得ます。
十分な検証を行わなかったが故に見落としたバグが、いよいよ出荷、となった頃に発見されることもあります。

そしてそのリスクを配慮した上での判断だということについて。
誰の判断かという責任のなすりつけのような話ではありません。
そんな悠長な状況ではありません。
「我々は」ここでアクセルを踏む判断をしたんだ、ということをきちんとステークホルダー全体で理解しておく必要があります。

「一度言ったから伝わったはず」とか「ドキュメントに書いておいたので大丈夫」というのは非常に甘い考え方です。
何度も何度も伝える必要があるのです。それもできれば口頭で。
何度も何度も伝えることで、聞いている人自体が「自分がした判断」だと錯覚するくらい、彼らの身体に細胞レベルで馴染むまで伝えておく必要があります。

それは何故か。
最悪なケースは「聞いてないよ」と言われてしまうケースです。

例えば開発チームのミーティングで結合テストの決行を判断したとして、スケジュール上のボトルネックが営業先での上顧客へのデモだったとします。
開発チームのリーダーは当然この判断は自分ごとですがそれをリーダー同士の定例でサラッと報告したとします。
営業チームのリーダーはそれに出席していますが「(えーと、とにかく、スケジュール通りでいいんだよな)」くらいの認識だったとします。

デモ当日になって「A機能は動くけどB機能は動きません」と開発チームのメンバーから営業チームのメンバーに伝えられた時に炎上が起こります。
営業チームのメンバーが言います。
「そんなこと聞いてないよ」と。
開発チームのメンバーが答えます。「いや、そのリスクについては開発チーム内では話題になってたし、リーダー会議で報告されてるはず」
営業メンバーが返します。「マジかよ、それだったら1週間予定送らせてもよかったのに」など。
「言った・言わない」ほど不毛なやり取りはありません。
必要なことはどちらが悪いかではなく、デモを成功させて営業を取ってくることだというのに。

またよくある例は「そこまでリスクがあるとは思っていなかった」と言われるケースです。
何事も部門が違えば理解度合いに偏りが生じます。専門性が異なるので当たり前です。
しかしリスクについては部門横断的に共通理解を持っておく必要があります。

一般に現場が最もリスクについては深刻に最悪のケースまで含めて考えています。
しかし管理者になると現場に任せている分いくらか楽観的な眼鏡で見るようになります。
部門を跨げばより一層楽観的に捉えるようになります。「(最終的にはどうにかするだろう)」と。
統括をする立場の上役になれば「君たちから報告を受けたことが全てだ」と自らの想像力すら働かせていないことがほとんどです。これは彼らを責めることはできません。上の立場の方はいくつも他の案件や課題について考えを巡らし全てを俯瞰で見る必要があるからです。

このようなギャップが一回のミーティングや一枚の報告書でひっくり返るとは私には思えませんし、このようなギャップがきっかけで後々越えることができない海溝が発生する現場を何度も見ました。
何度も。
そう、色々なところで繰り返し発生している極めて典型的な過ちなのです。

解消する方法は、伝えるしかありません。とにかく何度も何度もしつこいくらい。