エンジニアにおける「失敗」考

2023年3月7日。国産の新型ロケットであるH3型ロケットが打ち上げに失敗した。

www3.nhk.or.jp

ロケット自体に興味はないが、打ち上げに失敗したことに対する評価や論評論説に対してはすごく忸怩たる思いを持っている。

これは「失敗」なのか

3/7の打ち上げに関しては、結果としてロケット打ち上げの目的である人工衛星のデリバリーができなかったのだから、「失敗」である。また、その数週間前である2023/2/17の「打ち上げ中止」にしても、本来その日にデリバリーすべきものができていなかったのだから、これも「失敗」ととらえていいはずだ。

「失敗を未然に防ぐための中止」であり、失敗ではない、という論調も見られるが、目的を達成できなかったのであればそれは失敗だし、失敗でないという言い方は詭弁のようにも見える。

更にうがった見方をするなら、最初の「失敗」でロケットの打ち上げは行われず、2度目の打ち上げまでに時間はあったのだから、再度すべてのシステムを点検することもおそらくはできたかもしれず*1、2度目の「失敗」は不可避ではなかったとは言い切れないだろう。

失敗を認めない「不寛容」さ

あくまでも私見、というより私自身のマインドセットではあるが、「失敗してもいいじゃないか」という寛容さを他者に対して持つべきか、と聞かれれば、必ずしもそうではない、と思っている。

どちらかと言えば私は、失敗に対して、私自身にも他者に対しても、あまり寛容にはなれないし、特に自分自身に対しては「失敗なんてとんでもない」と思っている。他者に対しては自分自身に対する感情(厳格さ)に比べればかなり寛容だが、それでも失敗は失敗だ、と他者にはきちんと認めてもらいたい。

昨今は、特にSNS上で失敗に対するヒステリックな糾弾に代表される不寛容さに対しての非難が多くなり、失敗に対する擁護の声も上がるようになってきているが、それとてやりすぎというか、そこまで「相手に寄り添」わなくても、とおもうのだ。

なぜ世の中が失敗に対して不寛容になったのか、一説には今の時代が、あまりにも性急に「正しい」結果を求め、それに応えることに慣れすぎたからだ、と言われている。

Googleに聞けば答えをすぐに教えてくれる」ようになってもう何年も経つ。老若男女誰もがスマホを持ち、スマホに向かって「アレなんだっけ?」と聞くだけで正解が得られる。だから間違えることなんて考えられないのだ。

他にも要因はいろいろあるのだろうが、社会が失敗を許さない方向に向かっているのは事実だし、それによって窮屈な世の中になっていると感じている人たちも多くなってきているのだろう。

だから、SNSを中心に、失敗に対してもっと寛容になるべきだ、ただ糾弾するだけでなく、相手をねぎらうべきだ、という声が上がってきているのだろう、と推測する。

「寛容」と「寄り添い」

相手をねぎらい、相手に寄り添って、というのが今のスタイル、と言うか、世の人たち*2が好ましいと思う態度なのかな、と思っている。

が、私にはそれが、少なくとも失敗に対する「寛容さ」とはかけ離れているようにも映る。

私自身のことを考えると、失敗は失敗であり、求められていたものをデリバリーできなかった、という点では弁明の余地はないし、次に考えるべきことは(次こそは)成功するためにできることを探すことであり、そこに今までの苦労やそこに至るまでの気持ち、主観的な情報を振り返る必要はない。

『心中察するに余りある』と言われたところで、失敗が成功になるわけでなし、慰めの言葉をかけることが失敗を帳消しにするわけでもない。もちろん、失敗をした人のその時の感情は「へこんでいる」が、だから慰めるのが普通だ、と言いたいのだろうが、感情としてへこんでいるのと、失敗をリカバリーすることは全く別の次元にある(どちらが次元が高いとかそういうことではなく、単に違う世界の話)。

部外者や門外漢からすれば、その失敗の原因も、なんなら失敗なのかどうかすら分からないし、それをどうすれば成功に導くことができるのかすらわからないだろうから、できることと言えばねぎらい・寄り添い、と言ったところなのだろうが、だったらそれだけでいい。へこんでいる感情を逆撫でしないためにできることはそれだけだろう。

でも、その部外者や門外漢が、失敗の原因を知りたい、と言うのであれば、ねぎらいや寄り添いは不要なのではないか、と思う。

「失敗」の先に「成功」はあるのか

さて、これも考え方かな、とは思うのだが、これもまたネット内の議論の中で、

  • 「失敗」か「成功」か、の二択
  • 「失敗」の先に「成功」がある

という『二択』の考え方があって、エンジニアはより後者に近い考え方であり、非エンジニアは前者、という論調があったのだが、私自身はどちらも違う、と言うかどちらの考え方も違和感がある。

失敗の先に成功がある?

まずエンジニアとしての私の中に、失敗を続ければいつの日か成功する、という考え方はない。エンジニアとして、だけでなく、いち事業者(≒商売人)としての考え方の方が強いのかもしれないが、少なくとも失敗を続けることで成功に一歩ずつ近づくという考えは、正直言えば「先の見通しが甘すぎる」と思っている。

例えば今回のロケット開発という観点で考えると、一度失敗をしたことにより、いくばくかの損害を出しているはずなのだ。いくばくか、とあいまいに書いているが、損害は金銭的にもそうだが時間のロスもそうだし、ある程度データが残っているとはいえ、打ち上げた(そして失敗した)ロケット本体が爆破措置により四散していることも、問題点を洗い出す上での障壁にはなりうる。

実際に今回のケースでは残されたデータのみで原因が判明してはいるが、ほかにあった問題個所があったとしても、それが露見されないままとなっているという可能性もあるだろう。

「だから失敗を積み重ねて成功に導くのだ」というのは少し乱暴が過ぎるだろう。もちろん、失敗を何度も繰り返し、トライアンドエラーで成功すればよし、と、特にエンジニアは考えがちだが、ロケットを無事に打ち上げることだけが成功の要因ではなく、今回のH3ロケットで言えば、いかにコストをかけずに打ち上げることが可能になるのか、という点で、失敗の繰り返しはコストオーバーにつながることも忘れてはいけない。

失敗を続けていては、開発を中止しない限りいつまでたってもロケットは打ちあがらないままお金だけが減っていくのだ。湯水のごとく金をつぎ込めば、いつかは成功するかもしれないが、それまでにお金を出資してくれる人たちがもつかどうか。

だから失敗続きのプロジェクトは打ち切りになるケースもあるわけだし、実際に作っている本人たちは「次こそは」とチャレンジをしているのだろうが、成果もあげられずに費用ばかりかさむことに対して現場も何も言い返すことはできないはずだ。

失敗か成功かの二択?

だからと言って、失敗したからもう終わり、と言うのは、いくら寛容さが欠けているとしてもあまりにもひどすぎるだろう。

コストと言う話で言うなら、そこまでかけてきたコストを「一度失敗しただけで」なかったことにすることにもなる。何のためにここまで準備してお金をつぎ込んだのかが全く意味がわからない。

もっとも、高いコストをかけて準備してきたプロジェクトに対して、単純にそのコストだけを見て、「そんなことをやるくらいなら〇〇にお金を回した方がよい」という論点をずらす輩が多々いるようにも思うし、そういう人たちの方が「成功しなかったのだからもう止めてしまえ」と心無い意見を述べているような気もしなくもない。

そもそも「失敗」と「成功」は違う

「失敗」と「成功」は二律背反する概念では決してないし、かと言って高次元化するような概念でもない*3

極論を言えば、プロジェクトは「本来成功すべき」であり、成功してこそ初めてプロジェクトとして成立する。失敗は、プロジェクトを成立(≒成功)させるための阻害要因の一つであり、排除されなければいけない要因と言うことになる、と私は考えている。

プログラムにおける「バグ」と同じだ、とは言いすぎかもしれないが、プログラムは「動作してなんぼ」であり、それ(動作)を阻害するのがバグだ。バグは当然排除しなくてはならないし、それこそテストを何度繰り返しても出る時は出る*4

「失敗」とは

そう。エンジニアにとって「失敗」は避けなければいけないものであり、しかし「成功」に向けての道のりにおいては避けられないものであり、何とかして「失敗」を避けながら日々邁進していかなければならないものなのだ、と思う。

とか言いながら、実はこの記事を書いているこの瞬間に(この記事に対してではなく、実際の業務上で)一つ失敗を「やらかして」おり、若干へこんでいるところではある。

リカバリをせねば...。

*1:JAXAや三菱のエンジニアがこの期間サボっていたというつもりはないし、むしろ点検に点検を重ねていたはずだと私は思うが

*2:特に若年層に多い気もするが、別に年寄りはそうじゃない、ということでもないので

*3:「レベルアップすれば成功する」という話ではない

*4:バグがあることを容認したくはないが、現実としてバグが残っているのだから傍目から見ればバグは「ある」