不確実性を保ちながらソフトウェア開発を進める呪文「てみて」

私はソフトウェア開発を10年以上仕事として続けています。いつからか、どうすれば不確実性を減らして早く、要求通りのソフトウェアを開発できるかを考え始めていました。特に今年の4月に、フロントエンドチームのテックリードになってからは、フロントエンドチームが対峙する不確実性が少なくなるように考え、行動することに時間を使っています。

テックリードになってから6ヶ月経ち、反省することはたくさんありますが、プロジェクトのスケジュールに大きな遅延がなく、現時点で達成すべき水準の品質を満たしているので、ある程度の成果は出せていると自己評価しています。一方で、不確実性を下げるために考えたり行動することに少し飽きているというか、もうちょっとワクワクした気持ちで開発できないか悩んでいました。

そんな時に、庵野秀明監督が不確実性を保ったまま商業アニメーションを制作することに挑戦し、成し遂げた作品が『シン・エヴァンゲリオン劇場版』ということを知りました*1。アニメーションとソフトウェア開発は、前提となる条件が違うのでそのまま真似をすることはできませんが、チームで作ることと、締め切りがあるという共通点において参考にできることもあると思いました。

また、京都福知山の観音寺の大聖院庭園作庭工事のフィールドワークをもとに、庭のつくられ方を記録した『庭のかたちが生まれるとき*2』の中で語られていた、設計図を作らず、自然との身体的な対話を通じて「あってないような庭」を作っていく庭師の姿に、自分が求めているものを感じました。

呪文の紹介までもう少し背景の説明が続きますが、呪文は声に出すだけではただの音でしかなく、文脈や想いを込めて唱えることで魔術的な効果を生み出すことができると思うのでもう少しお待ちください。

「探る」ことで絵コンテなくアニメをつくる

庵野監督によると、大抵の商業アニメにおける不確実性は「脚本」と「絵コンテ」の2つであり、特に「絵コンテ」ができると現場は作業ができ、なんとかなるようです。ただ、庵野監督は絵コンテが出来上がった瞬間に完成画面の不確実性がゼロになり、絵コンテより面白いものにできなくなることが嫌でした。

そこで、『シン・エヴァ』では、絵コンテを無くし、バーチャルカメラとプリヴィズという手法を用いて、複数人が脚本を多様に解釈した上、カット割もカットのアングルも絵コンテのようにひとつに絞らず、良いカット割り、良いアングルを思いつくまま大量に素材として作成し、そうした多種多様で大量な素材の全てを編集上で検証し、試行錯誤しながら作られました。

この行為を庵野監督は「探り」と呼んでおり、素材の合計は79,550点以上でした。そして「探り」は永久に続けることができますが、スケジュールや予算など様々な制約があるので「ここまで」という線を決め、その時点で良いものを選択することで作品がかたち作られていきました。

そうして生まれた作品は、庵野監督の目標であった興行収入100億円に対して102.8億円を達成し、商業アニメーションとして類まれな成果を出しました。しかしながら庵野監督は「探る」という手法は波及しないと考えています。それは色々な要因がありますが、根本的には不確実性を保つことをメリットだと考える人がいないからとのことでした。庵野監督が意思決定でき、かつこのやり方にメリットがあると信じた人が集まったからできた手法と振り返っています。

また、『シン・エヴァ』で監督、脚本協力、プリヴィズバーチャルカメラマン、原画を担当した鶴巻和哉さんは「この手法でなければ得られなかった手触りを獲得することに成功しています。(中略)決め打ちで作っていく通常のアニメ制作と違って、無駄打ちになるとわかっているような作業をスタッフに強いることにもなってしまい、心苦しさを感じていました。」と振り返っています。

「てみて」を繰り返し「あってないような庭」をつくる

大聖院庭園作庭工事の庭師は設計図を用意せず、現場で石や土、周りの環境と対峙しながら「てみて」という言い回しを使いながら庭を作っていました。例えば「ちょっとそこ掘ってみてよ」というような感じです。この表現は「動詞テ形+みる」という用法で、試行を表しています。設計図がないので、すべての指示、すべての作業は「試み」でしかなく、試みの連鎖によって庭を作っています。

試みの連鎖というのは、前に進むばかりではありません。ある程度整ってきたように思えても、少し違和感を見つけたら、必要なところまで戻ってやり直す、そうした繰り返しです。

設計図を用意した庭づくりに比べると時間はかかりますが、その目的は「あってないような庭」を作るためでした。「あってないような庭」は具体的に定義されていませんが、庭師や著者の言葉から私は、人為的に作られた庭でありながら、庭の周囲の山の岩盤の一部が表出したように感じられるような庭、周囲の文脈の中に自然と現れる、存在するけれど、全体に溶け合っているような庭のことだと理解しています。

私は、この庭づくりの手法を知った時、『シン・エヴァ』の「探り」と似た態度を感じました。「探り」の手法の説明を「素材を大量に作成してみて、編集上で検証してみて、試行錯誤する」と言い換えることができると思いました。そして、私が仕事を誰かにお願いする時には「てみて」を排除するようにしていることに気づきました。

「てみて」をお願いしてみた

私は、人に仕事を依頼するときに「てみて」がないようにしていました。意識的に行っていたわけではないですが、ソフトウェア開発から不確実性を減らすために、期待する結果が明確になるまで「てみて」を自分の中で実行してから依頼をしていました。

具体的には「このユースケースを満たすためにこういう機能を実装してください」や「このユースケースを実現するためのライブラリを選定するための調査をしてください」というような言葉を使っていました。解釈が曖昧になりそうな時は図やコード例を添えて認識に齟齬が生まれないように工夫をしていたつもりです。

私は個人的に「てみて」がとても好きですが、完成したソフトウェアに含まれないコードを書くこともあります。そういった、徒労になる可能性のある仕事をお願いするのは避けるべきだと考えていました。

しかし、『シン・エヴァ』の制作チームが「探り」ながら作品を作っている姿や、大聖院庭園作庭工事の庭師たちが「てみて」を繰り返して庭を作っている姿をみて、私が「てみて」をし終えるまで仕事を依頼しないことで、フロントエンドチームのソフトウェア開発の可能性が私の能力に閉じてしまっていると感じ、やってみました。

最初に「てみて」をお願いするときはとても緊張しました。嫌な顔をされないだろうか、ちゃんとやってもらえるだろうか、私はその成果を適切に活かしていけるだろうか、さまざまな不安がありましたが、これこそやってみて、発生した状況に応じて反応するしかないと覚悟を決め、「どういう結果になるか精査できていないのですが、おそらくこうなりそうな気がするので、ちょっとやってみて欲しいです」というお願いをしました。

うまくいかない可能性も考慮して、2日ほど様子を見て危なそうなら引き返そうと準備をしていましたが、杞憂に終わりました。それを機に色々な「てみて」をお願いし始めているのですが、今のところ上手くいっています。進捗はまちまちですが、私が仕事をお願いせずに止めていた状態に比べると明らかに良いです。

「こんなことなら、もっと早くやっておけばよかった」と思うくらいの成果が出ているのですが、おそらく早くやっていたら失敗していました。それが「てみて」が呪文たる所以です。

「てみて」をお願いをできる信頼関係は簡単ではない

4月にフロントエンドチームができた時に、同じことは出来なかったでしょう。出来たとしても今のような成果にはならなかったと思います。メンバーごとに業務ドメインやコードベースの理解は異なるし、嗜好も違います。それがわからない状況で「てみて」をお願いして成果に繋げるのはとても難しいことだと思います。

フロントエンドチームでは、「バラ、とげ、つぼみ」というふり返り*3を毎週実施しており、最初はバラ(嬉しかったこと、上手くいったこと)が少なく、とげ(不安なこと、上手くいかなかったこと)が多く、つぼみ(未来への期待)は何も出ませんでした。ところが、とげは数ヶ月後バラになり、その経験がつぼみとなることが何度もありました。

開発チームの入れ替わりがなく同じメンバーで開発を進められていることに加えて、そうした積み重ねがあって、「探り」や「てみて」を知った時に、今ならお願いできるかもと思えたことはとても運が良かったと思います。

タスクを並行に遂行するだけじゃないチームの一要素

私は4月に『Scaling People』に登場する「タスクを並行に遂行するだけじゃない」チームのあり方を紹介しました*4

『Scaling People』では、そのチームの具体的な姿について述べられていなかったのですが、「てみて」をお願いするようになった今のチームはタスクを並行に遂行するだけではなくなっているような気がしています。

いつでも、どこでも使える便利な言葉ではなくて、プロジェクトやチームの状況を選び、場合によってはマイナスに作用することもある呪文だと思うのですが、ソフトウェア開発に不確実性を保つことにメリットや可能性を感じている人がいれば、使ってみる価値はあると思い、紹介させてもらいました。

*1:「不確実性を保ったまま制作することが『シン・エヴァ』でやりたかったことであり、成し遂げたことです」株式会社カラー「プロジェクト・シン・エヴァンゲリオン 実績・省察・評価・総括」 https://amzn.asia/d/3zaHe50 2023年 237ページ / この記事の中で庵野監督や『シン・エヴァンゲリオン劇場版』の制作について言及している箇所は、同書の内容をもとにしています。特に「2章 プロジェクト省察」「7章 プロジェクト総括」にまとめられているものが多いです。

*2:フィルムアート社「庭のかたちが生まれるとき 庭園の詩学と庭師の知恵」https://amzn.asia/d/2DGvucE 2023年

*3:「バラ、とげ、つぼみ」というふり返り手法については、こちらの記事で詳しく紹介しています。「バラ・とげ・つぼみ」のふり返りメソッドでチームのワクワクを育てる - ROUTE06 Tech Blog

*4:チームのアウトプットを最大化し、チームメンバーが迷いなく前向きに開発できるようにリーダーがやるべきこと - ROUTE06 Tech Blog