けっこうマジメな開発コストの話

この記事は約8分で読めます。

最近の状況はというと、マウイのビーチで散々待ち続けてようやく来た非常に好ましいビッグウェーブの上で最高の大技をメイクしまくるサーファーのようです。現場主義を貫いてきましたが、心からよかったと思っています。若い頃には音を上げてしまっていたような仕事量(work physics)を余裕でこなせるようになっているのに、いま押し寄せてくるビッグウェーブの数々をひとつひとつ丁寧・迅速かつ安定してクリアするために夜更しも徹夜もいとわない状況で、こんなに楽しいことがあるかいなと喜びに打ち震えております。

使命・役割・仕事があるってほんとステキ。しかもそれが、自ら作り出したものだとサイコーの気分なんです。

そんなわたし(たち)が直面したのが、わたくしどもの主力製品の次期バージョンの開発中に起きた、とある出来事です。

その製品はPHPで作り込まれているのですが、ある要件に基づいて一部の処理を変更をする必要が出てまいりました。要件にただマッチすればよいわけではなく、将来のメンテナンス性や拡張性を考慮すると、PHPでビット演算やらバイナリ比較やらを実装するのがベストと判断したのです。

うちのCTOに23時くらいにLINEでヘルプミーって送ったら「ちょっと酒入ってるけど今からでもええで」って言われたので早速始めたわけですよ。

ところがどっこい、どんなに試しても試しても、あらゆる方向から検討してみても、なぜか期待の結果が得られない。挙句の果てには「これ、PHPのバグとか変な実装とか、そういう系じゃね?」と、PHPのせいにするしかないほど全弾出し尽くした感の朝の5時。外は明るくなってきてて、新聞配達のバイクなんてもうとっくに配達終えて帰っちゃいましたって時刻。

チュンチュンチュン。

僕は朝の7時半から仕事してて、そのあとキューブカフェでClub Alice開催して、もうすぐ24時間ぶっ通しになるわけで、さすがに僕たちもう頭がちゃんと回ってないはずだから、今日はこのくらいにしておいてやろうかなんて話してたのですけれども、そこでふと2人の脳裏をよぎったのが、

Github Copilot

せっかく契約してるんだからちょっと書かせてみようって試してみたら、ものの数分で解決されちゃった。それでわかったのが、

  • 我々が消去法で到達した予想通り、PHPのバグとか変な実装とかそういうやつであることが明らかになった。なぜならCopilotくんが書いてくれたコードはそういう前提で問題回避してくれてた。
  • Copilotくんの問題回避のやり方が斬新すぎて、ふたりとも思いつかないレベルだった。
  • Copilotくんは問題回避してくれただけでなく、それに伴って生じるであろう別の「PHPのめんどくさい性格によって起きかねない潜在的なリスク」すら回避するコードを提示した。
  • Copilotくんが提示してくれたコードは、「複数のPHPの問題」の存在を知らなければ到達できないものだった。

そのコードをテスト環境にdeployして実行するとき、わたしたちは「これで動いたらホンマ、AIすげえわ」なんて話しながら、いざテストしてみたら、期待通りに動いてしまいました。

寝不足の頭でこれ書きながら「はいAIスゲー」って話をしたいわけではないのですよ。

本題はここからです。

コストと価格

ご存知の通りソフトウェア製品には仕入れ値がありません。コンサルも提案も設計もプログラミングも、基本的に原材料の仕入れをせずに作り出すことができます。IoTな案件やインフラ込みな案件など、仕入れが発生する仕事もこなしていますが、他業種と比べてみますと圧倒的に仕入れが少なく、在庫も歩留まりもほとんど気にかける必要がありません。

そして、顧客に何かしらを作るための価格の見積を提示するときに人件費を計算する際にいくつかの方法がありますが、一般的に「工数見積」という方法が採られます。詳しく工数とは、

「時間 x 単価」

です。時間は簡単ですね。計算すれば出てきます。問題は単価のほうです。会社勤めしていた頃はこれで悩む必要はありませんでした。会社が僕の単価を勝手に決めてくれていたからですね。乱暴に言えば単価が決まっていれば僕の稼ぎも決まるので、給与も決まる寸法です。

しかし自分で単価を決めるとなるとこれが難しい。

時間あたりの仕事量を数値化するのは不可能です。コーディングだけならばかつてIT業界で多用されていた「ステップ数(書いたソースコードの行数)」が参考にはなりますが、現代だとそうもいかないです。それだけじゃすべての仕事量や仕事率を数値化するのは不可能です。

まともに計算しようとすると、僕やウチのCTOの単価は、とてもじゃないけどお客様には払えない金額になってしまうのです。ちなみにそんな金額が会社員をやっていた時代に可能だった理由はいくつかありますが、決定的なのは顧客がお金持ちの一流企業だったからです。無い袖は振れないのです。

なのでわたしたちは、かなり安い単価でも仕事をしてきたんですね。

これは現代において、経営的に喜ばしくないことであると評価されることです。

しかしここで、パラダイムシフトが起きようとしています。

次のような思考実験をしてみましょう。

  • 人間の技術者Aさんは、
    • 時間単価100ドル
    • 月あたり200時間働くことができる
    • 仕事のスピードは、一般的(経験や知識が豊富なものは早い)
  • 人間の技術者Bさんは、
    • 時間単価1,000ドル
    • 月あたり200時間働くことができる
    • 仕事のスピードにはムラがあるが、Aさんの10倍ほど(経験や知識が豊富なものは早い)
  • AIのGithub Copilotさんは、
    • 月単価10ドル
    • なんなら休まず働けるが、仕事を指示する人の限界がある
    • 仕事のスピードはムラがあるが、Bさんの1,000倍以上(経験や知識が豊富なものは早い)

どうでしょう?

AIを活用することによって、単価はどうなっていくのでしょうか。まともに計算していくと「僕自身の単価が正当化されそう」な事態になってきています。なぜならAIの仕事は「時間 x 単価」の式ではほぼノーコストですから当然、顧客にチャージできないわけです。「僕ひとり」よりも優れた成果を出すことができる「僕とAIのタッグ」によって達成された成果、プロジェクト毎に予算管理してみると、かかるコストはほぼ一緒。一方で僕は裏で(プロジェクト外で)どんどんAIに助けてもらっていろんな業務を自動処理化してしまうので、仕事量は減るわけです。最近流行りのRPAを使ってガンガン業務効率化している方々も似たようなことになっていますね。

「いろんな業務を自動処理化してしまう」と書きましたが、そこの部分が実はいちばんの価値なんです。これこそが知的財産です。ここに値段をつけるのか、つけないのか。

企業勤めをしている場合、ここに値段はつかないのが一般的ですね。それどころか、業務にかかる時間を短縮できてしまったら、だいたい他の仕事がやってきます。なので社員がとれる選択肢は「忙しいフリをしていままで通りの業務を短時間でこなして暇な時間を作る」か、「どんどん新しい業務をこなして経験の幅を広げる」に分かれることが想定できます。この分かれ目が将来の分かれ目に思えてしまいます。

それでは、マネジメントの観点で、そこに値段をつけるとしましょう。

それでもなお僕が顧客に提示する見積は競合他社よりも安くなっていきます。Copilotさんは月給たったの10ドルです。

巷でよく言われているように、Copilotさんに取って代わられる人間はたくさん出てくるでしょう。エンジニアを解雇してAIに肩代わりしてもらうことにより低減されるコストは、顧客に対するチャージに反映すべきでしょうか?

この問いに対する答えがYESかNOかはともかく、多くの企業が、きっとしないか、していないでしょうね。

でもそれは企業にとって甘えの期間です。なぜなら当社のような価値観の企業がある限り、甘いコスト観を維持しようとすれば、「いずれ淘汰されるグループ」に入ってしまいます。その危機感がなければ本当に淘汰されますが、企業規模が大きければ大きいほど、この問題に対する対処は難しく、図体のでかい組織体を維持したまま「淘汰されないグループ」にシフトするのは不可能に近いでしょう。

さて、将棋で人間がAIに勝てなくなってしばらく経ちますが、それでも将棋ファンは人間同士の勝負を見たがります。わたしたちの作るソフトウェア製品はどうでしょうか?

『AIのほうが優れた製品を安く迅速に作れるとき、顧客はあえて人間が作るほうを選択してくれるでしょうか?』

問いを少しシフトします。

『AIのほうが優れた製品を安く迅速に作れるとき、顧客が人間が作るほうを選択するとしたら、それは顧客にとって現実的にどんな状況で、どんな選択基準で、どんな価値観をもって選択されるでしょうか?』

『AIによる理論上完璧に近い成果品に対して、人間が作る成果品の価値はどこにあるのか?』

この問いの答えがないと、これからの経営は行き詰まる可能性が高いのです。

個人的にこの答えを得るには、現在のビジネスシーンで浸透しているさまざまな常識を打破する必要がありました。

価格に関する常識。組織の継続性に関する常識。企業体(会社)の扱いに関する常識。働き方・稼ぎ方に関する常識。成長に関する常識。苦労や努力に関する常識。生産に関する常識。資本や通貨の捉え方に関する常識。富の定義に関する常識。

ここで個人的な答えを書いたところで無意味なことはよく理解しているつもりです。なにしろ証明されていないわけですから。しかしその道を辿る者として言えることは、「いまのところ予測を上回る実績」が出ているという事実です。途中経過で見えている景色が僕にそれを知らしめてくれます。

新しいことに挑戦するとき、その本質を理解してくれる人はひとりもいません。

だってそうでしょう、簡単に理解されるようなことだったら、世界中に80億人もいる僕以外の誰かが思いついて、実行しているはずです。僕とおなじように、道半ばでまだ知られずにやってる人もいるでしょう。しかし世の中の趨勢に対してそれを証明した人はまだいません。世の中の流れがまだそこまで変わっていません。でも変化は少しずつ、少しずつ、確実に起きています。

コメント