仕様書を先に書く番人:Tech Lead
ある作業を任せたときのことです。ゴールをはっきり決めないまま「良い感じにやっておいて」と投げると、担当のAIはしばらく手を動かしたあと、同じ論点を行ったり来たりし始めました。ゴールが定まっていないので、何を選んでも「これで合っているのか」を確かめようがない。結果、答えの出ない問いをぐるぐる考え続ける状態に陥りました。ここではこれを「長考」と呼んでいます。時間をかけて考えているように見えて、実は前提が足りないまま空回りしているだけの状態です。
厄介なのは、長考が止まったあとに起きることです。判断材料が足りないまま何かを決めなければならなくなると、AIはもっともらしい理由をその場で組み立ててしまうことがあります。実際には確認していない事実を、確認したかのように語ってしまう。これを組織の中では「自作自演」と呼び、特に警戒している現象です。原因をたどると、多くはゴールと制約が事前に言葉になっていなかったことに行き着きます。
この失敗を繰り返さないために置いたのが、実装より先に仕様書を書く役、Tech Lead(技術面の設計を統括する役)です。ここでは仕様書のことをSPECと呼んでいます。SPECとは、何を作るのか(ゴール)と、やってはいけないこと・守るべき条件(制約)を、作業に取りかかる前に文章として固めたものです。分量は多くなくてかまいません。大事なのは「あとから読み返しても同じ結論に辿り着けるくらい具体的か」という一点です。
Tech Leadは、依頼が来た時点でまず立ち止まります。目的は何か、完了したと言える状態はどこか、触ってはいけない範囲はどこか。これらを先に言葉にしてから、実装や執筆に取りかかる担当へ渡します。順番が逆になっただけですが、効果は大きいものでした。ゴールが先に決まっていれば、途中で選択に迷ったときも「SPECに立ち返れば答えが出る」状態になります。堂々巡りが起きにくくなり、確認していないことをそれらしく語ってしまう場面も減りました。
見切り発車を防ぐ、という言い方もできます。作り始めてから「これで合っているのか」を探すのではなく、作り始める前に「合っているとはどういう状態か」を決めておく。地図を持たずに歩き出して迷うか、先に地図を描いてから歩くかの違いです。地図を描く作業は地味で、すぐに成果が見える種類のものではありません。それでも、迷ったときに戻れる場所があるかどうかは、後になるほど効いてきます。
もちろん、SPECを書いたからといって迷いがゼロになるわけではありません。書いてみて初めて、ゴールの詰めが甘かったと気づくこともあります。そのときは書き直します。完璧な設計図を一度で仕上げることを目指しているわけではなく、「今わかっている範囲でのゴールと制約を、一度言葉にしてから動く」という順番そのものを守ることに意味があると考えています。
この役割が担っているのは、実装の速さでも文章のうまさでもありません。動き出す前に、迷ったときの拠り所を用意しておくこと。地味ですが、記録として残しておく価値のある仕事だと感じています。