AIで速く作れるようになった受託開発会社は、次に何を売るのか
本番で稼働しているネイティブアプリのWeb版を、コードを1行も書かずに約10時間で作った。
実装担当のエンジニアが積んだ見積もりは、フロントエンドだけで約40人日だった。
前回の記事に、その顛末を書いた。
前回の記事はこちらで読めます。
受託PM10年の自分が『人月の死』を肌で感じてしまった話
書き終えてから、ずっと考えていることがある。
実装が数十分の一の時間で終わる世界で、受託開発会社は何を売って金をもらうのか。
確定したことは何もない。
ただ、想像してみた未来の中で、消える売り物と残る売り物の区別は付き始めた。
速さは看板になるか
最初に思いついたのは、速さそのものを売ることだった。
「うちはAIで速い」を看板にすれば、しばらくは勝てるのではないか。
考えるほど、無理だと分かった。
理由は2つある。
一つめは、速さが隠せないことだ。
実装が数十分の一になるという事実は、公表された時点で拡散が始まる。
細かい手順を知らなくても、「できる」と知っただけで各社は自力でたどり着く。
道具は誰でも買えるし、必要なのは特別な才能ではなく、着手の早い遅いだけだからだ。
今日の差別化は、来年の当たり前になる。
二つめは、こちらの請求できる時間も一緒に縮むことだ。
40人日を10時間で納めれば、請求の根拠は40人日ぶん消える。
単価を3倍にしても、請求できる時間が10分の1なら受け取る金額は減る。
人月で商売していると、生産性を上げるほど収益が減る。
速さは売り物ではなく、前提になる。
では、全員が速くなった世界で、顧客は何に金を払うのか。
AIが保証しないもの
答えを探すために、あの10時間の中身を思い出してみる。
前回の案件でAIが正確に作れたのは、動いている実物のソースコードという、これ以上ない品質のインプットが最初から存在していたからだ。
AIは、渡されたものをそのまま増幅する。
インプットが実物なら正確さが増幅されるし、インプットが人間の曖昧な記憶なら、曖昧さが自信満々に増幅される。
ゴミを渡せば、ゴミが10時間で出来上がる。
遅くなるのではない。
ゴミが、速く出てくる。
つまりAIが保証するのは速さだけで、完成は保証しない。
出てきたものが、出てくるべきものだったかどうか。
それはインプットの品質で決まってしまう。
しかも、新規開発の現場にはたいてい実物がない。
あるのは顧客の頭の中と、打ち合わせでの発言と、そこから人間が起こした文書だけだ。
AIがどれだけ発展しても、打ち合わせの席に座るのは人間で、顧客の言葉を引き出すのも人間だ。
ここで拾い損ねたものは、後のどの工程でも復元されない。
以前なら、拾い損ねても救われることがあった。
手で実装するエンジニアは、書かれていない場所で手が止まるからだ。
たとえば会員登録の画面を作っていて、登録済みのメールアドレスが入力されたときの挙動が、仕様書のどこにも書いていない。
書いていなければ実装できないから、「これはどちらですか」と聞きに来る。
エンジニアが見積もった40人日の中には、この往復が何十回も含まれていた。
質問が来るたびに、決めていなかったことが一つずつ決まっていく。
実装の期間は、コードを書く時間であると同時に、仕様の抜けが見つかっていく期間でもあった。
AIは、手を止めない。
書いていなければ、それらしい挙動を自分で決めて先へ進む。
前回の案件でも、文書にしていなかった方針を、AIが自前の解釈で埋めてきた場面があった。
10時間後に届くのは、質問の束ではなく、完成品の顔をした成果物だ。
聞かれる前に、全部できてしまう。
完成を保証する作り方
だとすれば、売り物はここにある。
AIが保証しない完成を、作り方の側で保証することだ。
「我々はこういう作り方をしているので、完成するべきものが完成していることを保証できます」。
この一文を、根拠を持って言える会社になる。
自分はこれを完成保証と呼ぶことにした。
AIで速いことを売るのではなく、AIを使っても壊れないことを売る。
保証の中身は、大きく2つに分かれる。
入口では、インプットの品質を上げる。
打ち合わせで顧客の言葉を引き出すのは人間の仕事のままだが、漏らさない仕事は仕組みに任せられる。
会議の記録から、決定と未決定を仕分けさせる。
前回の決定と矛盾する発言に印を付けさせる。
決めていないことを、決めたつもりのまま先へ進ませない。
人間は引き出すことに集中し、記憶と注意力への依存を仕組みで消していく。
出口では、出てきたものを検品する。
作ったものと決めたことを機械で突き合わせ、食い違いがあれば人間の目に届く前に止める。
チェックリストを配って「気をつけましょう」と言うのではなく、ゴミが発生しづらい構造を工程そのものに埋め込む。
判定を人の注意力に預けた瞬間、保証は根拠を失うからだ。
この作り方は、腕のいい個人でも実現できる。
ただ、個人の腕は、担当した案件を一つ良くするだけだ。
それを仕組みに変えて、誰が担当しても同じ水準が出るようにすれば、会社全体の出力が底上げされる。
案件単体の利益と、全社の利益。
会社の売り物になるのは、後者の方だ。
実績10件と0件
では、この保証の良し悪しを、顧客は契約の前にどう見分けるのか。
見分けられない、というのが答えだと思う。
提案書には、どの会社でも「要件定義に強い」「品質には自信がある」と書ける。
書けてしまう以上、読んでも差は分からない。
インプットの質も、検品の仕組みも、案件が実際に走るまで外からは見えない。
見えないとき、顧客は代わりのものを見る。
それが実績だ。
スポーツ業界のアプリを作りたい会社が、その業界の実績が10件ある会社と0件の会社を並べたとする。
最後の決定は価格や提案の質や、その日の打ち合わせで決まる。
ただ、声がかかる確率が違う。
声がかからなければ、提案の質は関係ない。
10件の実績は、単なる場数ではない。
「この会社はうちの業界の言葉が分かる。だから、こちらの話を正しく拾ってくれるはずだ」という推定の根拠になっている。
顧客は、外から見えないインプットの質を、実績で代わりに測っている。
しかもこの推定は、だいたい当たっている。
10件やった業界なら、顧客が言い忘れることの一覧が手元にあるからだ。
0件の業界では、それを本番で学ぶことになる。
実績は、質が高いと思わせる材料であると同時に、実際に質を上げる蓄積でもある。
そしてこの実績は、実装が速くなっても目減りしない。
工数が数十分の一になっても、実績が10倍の速さで増えるわけではないからだ。
実績の増える速さを決めているのは開発期間ではなく、引き合いから受注までのサイクルだ。
そこはAIが速くしない。
だから、営業の順序はこうなる。
まず、いま持っている実績を数えて外に出す。
どの業界で、何件、何年、どの顧客と続いているのか。
「なんでもやります」ではなく、数字で言える領域を作って、席に着けてもらう。
最初の打ち合わせには、その業界の言葉で話せる人間を座らせて、初手で信頼を得る。
席の上で初めて、インプットとアウトプットをどう保証するかを伝えて、案件にする。
実績が席を作り、保証が案件を決める。
隠す意味はあるか
完成保証も、それを支える仕組みも、書けば伝わる程度には言葉にできる。
だったら、隠したくなる。
せっかく作った差別化を、なぜ外に出すのか。
ただ、「できる」と知られた時点で、拡散はもう始まっている。
手順を伏せたところで、遅かれ早かれ全員が同じ場所にたどり着く。
そうであるなら、手順を隠す意味はない。
どうせ全員がたどり着く場所を伏せて数ヶ月稼ぐより、最初に言った会社として知られている方が、声がかかる確率と採用の質の両方に効く。
受託の原価は人なので、採用の質はそのまま利益率になる。
それに、公開して出ていくのは仕組みの型だけだ。
型は真似できても、実績は真似できない。
この業界ではどこで転ぶか、顧客は何を言い忘れるか、という一覧は、記事に書くことはできても、読んだだけでは手に入らない。
案件を経ないと増えないからだ。
公開で配っているのは地図であって、土地ではない。
淘汰の順番
この変化がいつ来るのか、自分には言えない。
いまの変化の速さでは、時期を口にした予測はたいてい外れる。
ただ、順番なら言える。
淘汰は、変化を理解するのが遅い会社から順に来る。
そして、理解している会社はもう動き始めている。
速さを看板から下ろし、保証と実績を看板に上げる作業を、静かに進めている。
自社は何を売っている会社なのか。
この問いに、人月以外の言葉で答えられるかどうか。
答えられる会社から順に、次の時代に残っていくのだと思っている。
付録: 自分だったらこう作る
本文は考え方の話だったので、最後に自分だったらこうやるだろうなという手順を考えてみたので下記に記載します。
プライム案件の実績がある程度以上あり、議事録や課題管理や仕様変更の記録が社内に残っている会社を想定する。
自分なら、この順で作る。
1. 実績を棚卸しする。
過去の案件実績を業界別に並べ直し、件数、継続年数、リピートの有無を数える。
「なんでもやります」の中から、数字で言える領域を2つか3つ特定する。
これが看板の候補になる。
2. 過去案件を掘り起こす。
選んだ領域の案件について、議事録、仕様変更の履歴、障害報告をAIに読ませる。
抽出するのは3つ。
途中で覆った決定、後から発覚した言い忘れ、本番で踏んだ落とし穴。
これを業界別の一覧に固める。
500件の記録は、ここで営業の実績数から、仕組みの原料に変わる。
3. 入口の仕組みを作る。
打ち合わせの記録から、決定と未決定を自動で仕分けさせる。
仕分けた未決定を、2で作った一覧と突き合わせる。
「この業界なら、この時点で決まっているべきこと」が決まっていなければ、次の打ち合わせの議題として機械的に上がってくる。
顧客の言い忘れを、顧客より先に見つける状態を作る。
4. 出口の仕組みを作る。
決定の一覧と成果物を機械で突き合わせ、食い違いがあれば人の目に届く前に止める。
このとき、見つけた件数だけを成績にしない。
判定を緩めれば件数はいくらでも増えるので、誤検出の少なさとセットで管理する。
5. 人を置く。
実績が最も厚い領域に、その業界の言葉で話せる人間を一人置く。
新規の初回打ち合わせには、必ずこの人間が座る。
初手の信頼は、仕組みでは作れない。
6. 外に出す。
実績の数字と、仕組みの型を記事にして公開する。
隠して守れるものは、もともとない。
この手順で、ゼロから作るものはほとんどないと思います。
原料は過去案件としてすでに社内にあり、AIはそれを掘り起こす道具として使うことで上記のようなことは達成できるかと。
私も今席を置いている会社で実際にこのような動きをできればなと思います。
Twiiterもやっているのでできればフォローしてくださいませ!
えのもそ@enomoso