00:01
はい、こんにちは、Kojimaです。
えー、今日はですね、ちょっとモヤっとした話をします。
えーっとね、ニコニコ動画を3日で作った人っていうのが、なんかテレビに出てたらしいんですよね。
そこで、これ僕画像を見ただけで、文脈とか何も見てないし、番組自体も見てないので、
まあ僕が言うことはきっと的外れなんですけど、
彼がそこで言ってたのは、ソフトウェアは人数が少ない方が早く作れるんだって言ってたらしいんですよね。
いやちょっと待って、いつの時代だよと。今令和だぞって思うわけですよ。
まあ、なんとなくリプライとかついてる引用コメントとか見てると、
割と肯定的な意見が多い。
いや、令和だぞ?今令和なのに何をお前らは言ってるんだって僕は思ったんだけど、どうやらそうではないらしい。
うーん、そうなのか。
まあこんなポッドキャッツで喋っても、そこの人たちには誰一人として届かないと思うんですけど、
なんかそれはちょっとモヤっとするなと思ったので、喋ります。
僕もね、いついかなる時も人を増やせば良いとは思わないわけですよ。
一つの機能を実装していて、例えば3ヶ月かけて実装しましょうみたいなプロジェクトがあった時に一人でやってますと、
一人でやっている時に、
すいませんと2ヶ月半経ってちょっとあと2週間で終わりそうにないのでもう1ヶ月かかりますっていう時に、
じゃあ人を入れたら2週間以内に終わるよねとは思わないわけですよ。
それはそうです。
それは人と付き合う果敢ではないって有名な人間説の神話にも書いてあることで、
プロジェクトの状況とか遺憾によっては、人を増やしたところでかえってコースが重むだけ、
コストが重むだけ、スケジュールが遅れるだけだっていうのはそれはそうだなと僕も思う。
んですけど、
だからじゃあ人を増やさない、人を増やすっていうことがソフトウェア
作りでは常に悪手だから、少数性のプログラマーの方が生産性が高いんだっていうような
主張っていうのは実は一足飛びには繋がらない。
一足飛びじゃないですね。
直接は繋がらないはずなんですよね。
つまりどういうことかっていうと、実は人月の神話っていう本をちゃんと読んだことがあればわかると思うんですが、
人月の神話には少数性プログラマーよりも
規模がでかいプロジェクトの場合は大人数でかかった方が圧倒的に早いこともあるっていうことも実はちゃんと書いてあるんですね。
03:07
人月の神話、今は家にないけど、前は家にあったんですけど、
そこにですね、僕この話すごい好きですごい印象的なので覚えてるんですけど、
人月の神話に書いてあることに、数千人で1年かけて一つのプロジェクトを終えたっていうエピソードが載ってて、
1970年代とかの本なので、昔のOSを作りましょうっていうプロジェクト。
そこに数千人かけて1年で終わらせましたみたいな。確かそんな感じの内容。
でその人月の神話の作者の人は、このプロジェクトをもし10人でやったらどうなるのか、どれぐらい時間かかるのかっていうのを試算するわけですね。
でもちろん、その見積もりを人月でやっちゃうと、人月でやってしまうとコミュニケーションコストが数千人だから当然かかってるでしょうとか、
そういう余分にかかっているコストっていうのもあるはずっていうのはそれはわかっているので、
10人の方にはものすごい下手をはかせましょうと。
その10人はすごい優秀なので、1000人の時よりも何倍の速さでコードが書けますとか、
1000人の時よりもコミュニケーションコストは異常に少ないので、こんだけ倍生産性が上がりますみたいなものすごい下手をはかせるんですね。
でものすごい下手をはかせた結果、最終的に出た試算は10年かかるって試算だったんですよ。
数千人だと1年で10人だと10年かかる。
でまあ今もそうですけど、10年ソフトウェアプロジェクトかかってたら、それはもう市場なり何なりがすべて変わってしまっているので意味ないんですよね。
結局、10人で作れるっていうのは幻想だっていう話なんですよ。
いやちょっと待ってと、見積もりが足りない?おかしいんじゃないかと思う人もいるかもしれないんで、
それは人月の神話を読んでちょっと詳細を確認してほしいんですけど、僕が読む限りはものすごい10人側の方に
生産性10倍、生産性5倍みたいな感じで適当にすごい生産性かませていたので、
まああんながちおかしなことでもないかなと思っていますと、それでも10年かかるっていうのであれば、
数千人かけないとできないソフトウェアっていうのはあるよねっていうのは、まあ50年前からわかっていることなわけですね。
でまあ多分この背景にあるのは、
少数精鋭プログラマーの方が生産性が高い、少数精鋭っていう風に考える背景にあるのは、やっぱ少人数のハッカー、
06:01
それこそポールグレアムだったり、リチャードストールマンだったり、リーナストーバルズだったりっていう、まあ今も生きている天才みたいな人がいてですね、
そういう人が社会を変えた、世界を作ったんだっていう風に、
なんかそういうわかりやすいサクセスストーリーみたいなものへの進行があると思うんですよ。
でもですね、 現実に
Emacsをここまで大きくしたのは誰なのかっていうと、まあEmacs作った人はリチャードストールマンで間違いないですけど、
別にメンテナーからは結構前からしりぞいてますし、 リーナストーバルズも30年ぐらい前にリナックスを作ったわけですけど、
今のリナックスになるまで大きくなったのは、
Linusがコードを書いていたからではなくて、Linusが世界中から来るパッチだったり、世界中から来る質問やコメントだったり、
ありとあらゆるものに対して、これは受け入れる、これは受け入れないみたいな意思決定をメーリングリストをさばいてやっているっていうことですよね。
まあなので、そういう少数のハッカーっていうのが確かにいたし、
それがゼロイチをやることによってその後の世界がどんどん広がっていくっていうのは事実としてあるんですけど、
その世界を広げていった人たちっていうのも関わってはいるかもしれないけど、その人たちがプレイヤーであるかっていうとそうではないし、
まあそうである例を僕は知らない。
作者が開発に関わり続けるっていうのはあると思いますけど、
作者が一人でずっと何十年もメンテナンスをし続けているっていうソフトウェアはおそらく僕が知る限りない。
有名なものだったり、世界中に価値をもたらしているものだったりでそういうものはないです。
実際にニコニコ動画自体も、まあその人は3日で作ったんでしょう。
でも3日で作った後に運用したり、機能を追加したりっていうのは一人ではやってないはずなんですよね。
承認数っていうのは、例えば製造業に比べたら承認数かもしれません。
製造業は1台の車を作るのに本当に何人関わるんだっていうぐらい人が関わるわけなので、
まあ常にそういう状況だし、それで恋を生んでっていうところもあるでしょう。
だけどIT業界はそうではないから人は少ない方が良い、一部の天才に任せた方が良いっていう考え方はちょっと偏りすぎてるんじゃないかなって思うんですよ。
まあちょっと言いたいことをまとめますと、一人で早く作ることが上手い人、そしてそれをやることはその人のパフォーマンスが一番出るっていうタイプの人っていうのは実際いると思うんですね。
そしてそういう人っていうのは起業するときとかにすごく重宝されると思います。
09:04
何もないところから秩序と言いますか、そのプロダクトと言いますか、コアと言いますか、一点を集中してその
機能、その本当のコアとなる価値っていうものを提供できるようにする。
それは誰にでもできることではないですし、それが上手い人っていうのはすごく重宝されると思います。
まあでも、それが3日で終わるにせよ、1ヶ月で終わるにせよ、半年で終わるにせよ、何にせよ、
作って終わりっていうソフトウェアは今の時代ほぼありません。
僕がいるサース業界なんてまさにその典型で、成長し続けるっていうことがある種当たり前と言いますか、
プロダクトっていうのは機能は追加され続けて当たり前だし、そうしないと強豪が現れて
市場奪われていったり
負けていってしまう、成長しないイコール対価っていう世界
っていうのが今のソフトウェアの時代です。 そんな時代に
人数が少ない方が早く作れるんですよっていうのは、
まあ本当のPMFする前のスタートアップとかそういうフェーズの時でしか言えないんじゃないかな
っていうのが僕の感触です。 ほとんどのソフトウェアは
人数が少ない方が、まあ
リリースはできると思います。 ベータ版リリースみたいなのは人数が少ない方が早くできると思います。
が、結局グロースはしないだろうなっていうところですね。
まあそれで言うと人数が少ない方が早く作れるんでしょうね。 僕は彼の、その人のその切り取りしか見てないですけど
まあその主張自体は否定するものでもないなって思う。 ただ
早く作れるのは
早く作れるものを早く作っているだけだろうなと思うし、 その早く作れたもので提供できる価値っていうのは長く時間かけて作ったものよりも
圧倒的に少ないだろうなっていうふうに思いました。 今回も最後まで聞いていただきありがとうございました。
そうですね。 いつも言っていることですがアプリでのフォロー、あるいは
Google フォームでのお便りなど何かあればお知らせください。 そうですね。
12:06
まあせっかく
ソフトウェアエンジニアリングやっているんで 一人で喋るときはもうちょっとソフトウェアの話でもしようかなっていうふうに今更ですけど
思い始めています。雑談している時はね、その人と合わせていろんな話しましょうよっていうふうに思うんですけど
まあ そうですね。こんな感じでまたソフトウェアの話とか
プログラミングの話とかもしたり、そういうことをするゲストも呼んだりっていうこともやっていきたいなっていうのが
最近のお気持ちです。 はい、ではではまた次回お会いしましょう