システム開発は、人が増えても速くならない(前編)
ーーーーーーーーーーーーーーーーーーーー
今回のゲストは、株式会社ソニックガーデンの創業者で代表取締役社長の倉貫義人(くらぬき よしひと)さんです。大手システム会社に入社し、アジャイル開発を日本に普及させた第一人者です。会社では、研究開発部門の立ち上げ、社内SNSの企画と開発、オープンソース化をおこない、自ら起業すべく社内ベンチャーを創設。その社内ベンチャーを買収して株式会社ソニックガーデンを設立しました。全社員リモートワーク、本社オフィスの撤廃、管理のない会社経営などさまざまな先進的な取り組みを実践して数々の賞を受賞しています。今回は2023年6月に出版された『人が増えても速くならない〜変化を抱擁せよ~』を参考に、これからの事業の成長に欠かせない経営者の思考法について伺います。
<ポイント>
・人を増やしても納期が短くなるとは限らない?
・一度にたくさん作っても生産性は上がらない?
・新しいアイデアを早く出すには?
ーーーーーーーーーーーーーーーーーーーー
■「人が増えても速くならない」理由とは?
倉重:「倉重公太朗のこれからの『働く』を考えよう」対談コーナーです。本日は株式会社ソニックガーデンの創業者で代表取締役社長、倉貫さんにお越しいただいています。簡単に自己紹介をお願いします。
倉貫:倉貫と申します。もともとはエンジニアでサラリーマン時代12年間エンジニアを行いながら、アジャイル開発が非常に良いと気付き、日本でその啓蒙活動をしてきました。
1999年に社会人になり、翌年からアジャイル開発の日本でのエバンジェリストのような活動を行ってきました。当時はまだアジャイルという言葉すら皆が知らない状況だったので、社内では全然自分のしたい開発ができませんでした。
営業、マネジャー、管理職等をいろいろ経験しましたが、最終的に社内ベンチャーで新規事業を立ち上げ、アジャイル開発もできるようになりました。その社内ベンチャーをマネジメント・バイ・アウトすることで独立を果たして、株式会社ソニックガーデンを設立。その後はずっと経営者です。
2018年からは「北欧、暮らしの道具店」を運営する株式会社クラシコムに社外取締役として参画し、2022年のグロース市場への上場にも貢献できたかと思います。
ほぼエンジニア1人の状態から、社長の青木さんと二人三脚で社内エンジニアのチームを作ってきました。
青木さんは非常に優秀な経営者ですが、それ故にエンジニアチームがうまくいかないことがあったのです。簡単な例をあげれば、人が足りず、より生産性を上げたい時に若いエンジニアを引っ張ってきてくれました。それだけ聞くと普通のことですけれども、エンジニアが2~3人の所に若いエンジニアが入ると、逆に生産性が落ちることがあります。
倉重:なぜでしょうか? 倉貫さん自身がエンジニアでもあり経営者でもあるからこそ、見抜ける所だと思うのですが。
倉貫:経営者が良かれと思ってしたことでも、クリエーティブな仕事をしている人たちにとっては、うまくいかない原因になることがあります。私が入って意見の擦り合わせを数年間行った後、上場までいけるチームが作れたという意味では成功でした。
青木さんから「倉貫さんが言ってくれたことって、普通の経営者は知りませんよね」という話を聞き、「経営者がソフトウエアエンジニアのことをより知れば、双方にとって良いし、ビジネスもうまくいくはずだ」と思いました。
私は12年エンジニアを行い、12年経営を行ったので、両方の言葉で翻訳できるのではないかという想いでこの本を書きました。
倉重:『人が増えても速くならない』というご著書に基づいて、いろいろなお伺いたいと思います。エンジニアだけではなく経営も行いたいと思った理由は何ですか?
倉貫:「ずっとエンジニアでいたい」と20代のころは思っていたのですが、そうできる環境を作らなければエンジニアでいられないという矛盾がありました。
自分自身が1人でフリーランスになって一生エンジニアを行うよりは、エンジニアの人たちが幸せに働ける環境を作ることのほうが私にとってやりがいがあったので、今は経営者をしています。
倉重:倉貫さんならではの視点をぜひ伝えていきたいと思います。
まずはタイトルにもある『人が増えても速くならない』という話ですが、これはありがちな誤解から来ている話ですね。仮に5人で3カ月かかる仕事であれば、「10人に増やしたら1.5カ月でいけるのではないか」と考えてしまいそうです。
倉貫:それは作るものが完全に決まっている状態だったり繰り返し行う仕事だったりするときの発想です。5人いたら全員が同じ仕事をする場合ですね。
もしも人力で畑を耕すとしたら、5人より10人のほうが良いと思います。それは単純労働だからです。しかし、システム開発は単純労働ではありません。AさんとBさんがプログラムを書いていたとしても、中身は全く違うものです。掛け算をしたからたくさん作れるかというとそうではありません。
家を建てる時にも、大工さんの数を増やせば一定程度は速くなるかもしれないけれども、設計士の人を増やすと大体もめます。
倉重:「船頭多くして」ですね。
倉貫:実はエンジニアの人たちが行っているソフトウエア開発は、手を動かして単純労働をしているというよりは、設計士の仕事に近いのです。人を増やしても速くはなりません。むしろ会話のコストがかかって、混乱したりうまくいかなくなったりすることのほうが多いです。「1人の力をどのようにしてエンパワーメントするのか」と考えたほうが生産性は上がりやすくなります。
遅いパソコンを使っている人のところに、もう1人さらに遅いパソコン使う人を連れて来るよりも、パソコンを非常に良いものに変えたほうが速くなるのと考え方は同じです。
倉重:ITに対する投資も結構見落とされがちです。いまだに古いパソコンを使っている会社はたくさんあります。
倉貫:ITは今どんどん新しいものが出てきています。勤怠管理や労務管理、経費管理も全部ゼロから作る必要がないものはたくさんあり、お金を払えば何とかなるのです。ソフトウエア開発では昔から「銀の弾丸はない」と言われています。つまり特効薬はありません。
速く作ることは難しいけれども、チームを維持していくことで練度が上がり、生産性が上がることは当然あります。
よくあるのがプロジェクト開始から半年ほどたって、チームワークが良くなったにも関わらず解散してしまうことです。これは非常にもったいないです。エンジニア同士で仕事をしていくうちに、だんだん自分たちの流儀が擦り合っていきます。最初は判断をする時に「AかBか」というディスカッションが起こります。だんだん「Aのほうが良い」という共通認識が出来上がってくると速くなります。チームワークやチームビルディングの中で生産性が上がるのです。
倉重:それが共通の哲学や文化を作っていくという話ですね。
倉貫:共通の哲学があるチームは作るものが速くなります。先ほどのように設計士を急に3人連れてきても混乱してしまうけれども、大体同じことを考えている人たちが集まると速くなる可能性があります。ソフトウエアを開発すると同時にチームを育てていくと生産性の高いものが開発できるようになります。
倉重:システム開発だと当然自社の社員だけでなく業務委託で発注するという形式を取られている会社さんも多いと思います。プロジェクトが終わってしまったらそのチームはなくなるケースが結構ありますよね。
倉貫:基本的にシステム開発において、短期で人を入れたり解散することは悪手だと思っています。業務委託の人であっても、基本的には長くお付き合いしていただく前提でいたほうがいいです。せっかくうまくいってきたにもかかわらず人が入れ替わるのはもったいないことです。
倉重:メガバンクのシステム設計に大量投入という話もありました。
倉貫:一時的に大量投入して、解散したらその後は誰がシステムを見るのでしょうか? 本書の第1章「完成しても、終わりではない」に書いたとおり、今どきのシステムはずっと使い続けます。使っている最中に修正したり改善したりする必要が出てきます。
例えば、この秋にインボイス制度が始まります。多くの企業はインボイスに対応しなければなりません。システムを対応させようと思ったときに、作った人がいないと困りますよね。ですから、チームを維持し続けることが大事です。
倉重:最初の根本に立ち戻ると、チームを組む前に「その事業やプロジェクトは何のために行うのか」というレベルから擦り合わせをするのでしょうか。
倉貫:これはエンジニアの人たちの接し方にもなりますが、「これを作ると決めた。画面も機能もこのような感じで頼む」と言われるのは非常に作りにくいのです。例えば「Facebookのようなものを作ってください」と言われたとします。Facebookはどれだけお金をかけて作っているのでしょうか。それと同じことは簡単にはできません。
経営者が欲しいのはFacebookかと言うと、そうではないことが多々あります。「本当に行いたいことは何か? どのようにしたら実現できるのか」というwhyからhowの部分を一緒に考えるのがエンジニアの仕事です。実装というプログラムを組むことは、そのおまけのようなものです。
まず経営者のしたいことを聞いて「こういう方法であれば実現できる」と提案するほうがやりやすいのです。
昔あった話で、「画面に検索が欲しいので、検索できる機能を作ってください」と言われたことがあります。しかし、検索機能を作るのはデータベースの構造上非常に難しいことがあります。
もし指示通りに作らせてしまったら、ただの検索窓を何ヶ月もかけて作ってしまうかもしれません。
けれども、根本から話ができるエンジニアと経営者の会話であれば、「その検索はいつ使うのですか」「画面に出てからです」「画面に出た後コマンドFを押すとブラウザーの検索ができますが、どうですか?」「それで良い」となります。作らずに一瞬で解決できます。
倉重:エンジニアサイドも、言われたことをしているだけでは意味のない作業を行ってしまうかもしれません。発注側もよく分からないまま言っているだけの可能性もあるので、チームで打ち合わせを行い、「そもそもなぜ必要なのですか」という目的を擦り合わせることから始めるのですね
■一気にたくさん作っても生産性が高くなるわけでない
倉重:次に、「一気にたくさん作っても生産性が高くなるわけでない」という話をお願いします。
倉貫:作りたいものはたくさん出てきてしまうので、「一遍に頼むから少し割安にできませんか」と言われることがあります。紙の本を出版するときには、1,000部よりも2,000部刷るほうが割安になるという発想があります。
けれどもシステム開発の場合は全然割安になりません。なぜかというと紙や物は物理的に同じものがたくさんあるので、大量に作ると割安感が出ます。しかしソフトウエアの場合は一つひとつ違うものを作っています。家電に例えるなら、それぞれ違う規格のテレビを作っているのと同じことです。毎回全部違うものを作っているので、量が多いだけでは何の割安感も出ません。
倉重:特に自社のサービスに合ったシステムを構築する場合は、同じエンジニアであってもどういうコードを書くかで変わってくるのではありませんか?
倉貫:基本的に同じものは作れません。見た目は同じでも、中身のプログラムのコード自体はベテランが書くのか若手が書くのかで全然違います。数年後に、何か機能を追加する時に修正しやすいのが良いプログラムです。
たくさんプログラムがあれば、バージョンアップに非常にコストがかかります。機能が多くなるほど、負債が増えるようなものです。借金を増やしながら貯金するのは難しいので、なるべく負債がないように作ることが大事なポイントです。
倉重:適当にコードを書いてしまったりすると、数年後に改修したい時に困るということですね。
倉貫:3日間のキャンペーンだけで終わるようなもの、もしくは新規事業のPoCで事業検証をするためだけに使うのならば、それでも良いかもしれません。しかし、事業を成長させていく限りは絶対に機能改修が必要になってきます。1回限りで雑なものを作ってうまくいくわけはありません。
倉重:事業サイドのCTOや技術担当者は、改修しやすいかどうかくらいは分かる人でなければならないということですね。
倉貫:そこの品質チェックがなければ後になるほど生産性が落ちてきますね。
倉重:そういうリスクを見分ける力を事業側は持たなければならないのですね。
あとはチームの中でも、人によって何が美しいか、何が良い行動かという価値観や流派も違うと思います。その辺りはどのようにして擦り合わせていくのですか。
倉貫:基本的には時間をかけなければならない所です。われわれの会社で言うと、「コードレビュー」といって誰かの作ったプログラムを他の人がレビューをする仕組みがあります。
その中で「この書き方は良い・悪い」という議論を交わしていくしかありません。ルーキーがいるときは、ベテランが指導をします。正解がないので、たくさん書かせて「このコードは良い、悪い」という感覚を逐一フィードバックしながら擦り合わせていきます。
倉重:何が良いのかという方向性等は実際の行動を見ながら皆で議論していくということですね。
■プレッシャーをかけても速くならない
倉重:あとは「プレッシャーをかけても速くならない」という話もありました。私も「いつできますか? それほど難しくないですよね」と言ってしまったことがあります。
倉貫:私も恥ずかしながらあります。当たり前のことだと思いますけれども、作っているものは今まで話したとおり単純労働のルーティンワークではありません。クリエーティブな仕事で、新しいアイデアを早く出すにはどうすれば良いでしょうか。強いプレッシャーをかけられたらアイデアは早く出せますか?
倉重:絶対に余白がなければ出てきません。
倉貫:本当は速く走れる人がゆっくり走っていたら、プレッシャーをかければもう少し頑張ってくれるかもしれません。ですが、良いプログラマーはキーボードを打つよりじっと考えている時間のほうが長いのです。カメラマンで言えばシャッターを押すことが仕事ではなく、良い構図、色合い、ポージングを切り取ることが仕事です。考えることが仕事の人に「速くやれ」と言っても速くできません。
倉重:プレッシャーがある状況で良いものが生まれるわけはないという話ですね。
(つづく)
対談協力:倉貫 義人(くらぬきよしひと)
株式会社ソニックガーデン 代表取締役社長
「納品のない受託開発」という月額定額&成果契約で顧問プログラマを提供する株式会社ソニックガーデンの創業者で代表取締役社長。アジャイル開発のエヴァンジェリスト。1974年生まれ。京都府出身。大手SIerにてプログラマやマネージャとして経験を積んだのち、2011年に自ら立ち上げた社内ベンチャーのマネジメント・バイ・アウトを行い、株式会社ソニックガーデンを設立。「納品のない受託開発」という斬新なビジネスモデルは、船井財団「グレートカンパニーアワード」にてユニークビジネスモデル賞を受賞。会社経営においても、全社員リモートワーク、本社オフィスの撤廃、管理のない会社経営などさまざまな先進的な取り組みを実践。2018年には「働きがいのある会社ランキング」に初参加5位入賞と、「第3回ホワイト企業アワード」イクボス部門受賞。著書に『人が増えても速くならない』『ザッソウ 結果を出すチームの習慣』『管理ゼロで成果はあがる』『「納品」をなくせばうまくいく』がある。ブログ https://kuranuki.sonicgarden.jp/