「失敗してもいいから、まずやってみよう」。そう言われても、なかなか動き出せない。必要なのは勇気なのでしょうか。『おい、とりあえず終わらせろ』の著者、nwiizo(ぬうぃぞう)氏は、失敗したときに「戻せる構造」があるかどうかに目を向けます。(構成/ダイヤモンド社書籍編集局)

おい、とりあえず終わらせろPhoto: Adobe Stock

一度の失敗で全部やり直し

 失敗は怖くない、失敗しても大丈夫、とはよく言われます。

 ただ、なかなかそれを信じられないこともあるでしょう。

 それは、言葉で「失敗OK」と言いながら、仕組みが「失敗したら全部やり直し」を強いているからです。精神論と構造が矛盾しているのです。

 私がコードの作り直しを3週間先延ばしにした理由のひとつが、これでした。

 対象のモジュールは動作確認が不十分で、触ったら何が壊れるかわからなかった。実際に壊れたら本番障害になる構造で、慎重になるのはある意味合理的だったのです。

 つまり、手が動かないのは、単に失敗を恐れているからとは限りません。

 失敗したときの影響が大きく、元に戻す方法も見えていない。

 その状態で「まずやってみよう」と言われても、踏み出しにくいのです。

勇気を出す前に、「戻せる構造」を作る

 転機は、作業用のコピーを作って、動作確認を先に書いたことでした。

 それなら、壊れたら元に戻せばいい。本番には影響しない。

 この「戻せる構造」を先に作った瞬間、着手の恐怖が消えました。

「失敗してもいい」は精神論ではない。失敗しても致命傷にならない構造を先に作ることだ。

 仕事を小さく分けるときも、「作業量が少ないか」だけでなく、「失敗したときに戻せるか」を確かめる。

 試す範囲と影響を受ける範囲を分けられれば、小さく始めることに現実味が生まれます。

「最悪のシナリオ」を3つ書き出す

 もうひとつ有効なのは、始める前に頭の中で失敗をシミュレーションしておくこと。

 私は、コードの作り直しに着手する前に、ノートに「最悪のシナリオ」を3つ書き出すようにしています。「動作確認が通らない」「依存関係が想定より深い」「レビューで設計方針ごとひっくり返される」。

 書き出してみると、最悪のシナリオはだいたい対処可能なんですよね。

 確認が通らないなら元に戻す。依存が深いなら範囲を狭める。設計がひっくり返されるなら、それは早くわかった方がいい。

「失敗したらどうしよう」と考えるだけでは、不安の輪郭は曖昧なままです。

 何が起きそうかを書き出し、それぞれに対処方法を考える。そうすると、準備すべきことも見えてきます。

 失敗を想像すると、失敗が怖くなくなります。想像できる失敗はもう「未知」じゃない。

 怖いのは失敗そのものではなく、何が起きるかわからないことです。