なぜソフトウエア後進国の日本でRubyは成功したのか?~ソフトウェアの成功の秘訣はコミュニティ、そしてコンウェイの法則にある
なぜソフトウエア後進国の日本で、Rubyは成功したのか? 生みの親・まつもとゆきひろが語った五つのポイントの記事がとても心に残った。
ラフなメモ。
【参考】
なぜソフトウエア後進国の日本で、Rubyは成功したのか? 生みの親・まつもとゆきひろが語った五つのポイント - エンジニアtype | 転職type
この記事で僕の心に響いたのは下記の文章だった。
(引用開始)
ソフトウエアの成功にとっては、コミュニティーやポリシーなど、意外とテクノロジーではない部分が重要だというのが、私の経験から言えることです。
(引用終了)
ソフトウェアは、プログラマが書いて生まれる。
しかし、永続的に存続していくには、ソフトウェアを囲むエコロジーが必要だ。
それは、開発者コミュニティやユーザコミュニティだ。
熱心なユーザや開発者がいるからこそ、ソフトウェアのバグがあってもユーザが見つけてくれて、開発者がパッチを即座に当ててくれる。
高品質なソフトウェア、永続するソフトウェアは、熱心なユーザや開発者がバグ修正したり、新たなアイデアに基づく機能改善によって成長していく。
オープンソースのコミュニティの存在意義と知的財産権: プログラマの思索
柔軟なソフトウェア設計はOSSコミュニティを活発化させる~OSSソフトウェアとOSSコミュニティの密接な関係: プログラマの思索
次の文章もすごく心に残った。
(引用開始)
最初に申し上げた通り、日本の大企業的なやり方はソフトウエアづくりの面ではうまくいきません。21世紀のソフトウエアビジネスをしようと思ったら、コミュニティーの存在が不可欠なのではないかと思います。
(引用終了)
日本の大企業的なやり方とは、製造業に基づく大量生産かつ高品質な生産プロセスとのことだ。
製造業の高品質な生産方式は、規模の経済を活かしやすい特徴がある。
しかし、ソフトウェアは規模の経済が効きにくいのが最大の特徴だ。
大人数で開発するほどソフトウェアの品質は悪くなるのはよく知られている。
少人数のチームの方がソフトウェアの品質は高いという経験則: プログラマの思索
ソフトウェア開発のチームは人数が増えるとプロジェクトは失敗する経験則がある: プログラマの思索
その理由は、人月の法則、リーマンの法則によるものだ。
コミュニケーションロスが、ソフトウェア開発の生産性を大きく落とす。
ソフトウェアの複雑性は本質的な性質であって偶有的なものではない: プログラマの思索
リーマンの法則~ソフトウェアもエントロピー増大の法則を避けられない: プログラマの思索
その背後には、Conwayの法則がある。
1つのコンパイラを4チームが作ったら、4つのインターフェイスに分割されて、無駄に複雑なアーキテクチャになってしまった、という逸話を思い出す。
つまり、「アーキテクチャは組織構造に従う」。
だからこそ、逆に、組織をアーキテクチャに合わせるように、組織をフラットに少人数なチームへ編成し直す戦略が必要になる。
これが、逆コンウェイ戦略。
今、「DXとは組織論である」という風潮が流れているが、その背景には、ソフトウェアに基づくビジネスモデルを構築したいならば、従来の重厚長大な階層型組織ではなく、ソフトウェア開発に向いたフラットで少人数のチームへ編成し直すべき、というメッセージが込められているのだろうと思う。
Conwayの法則~アーキテクチャは組織にしたがう: プログラマの思索
逆コンウェイ戦略のメモ~望ましいアーキテクチャを促進するためにチームと組織構造を進化させる: プログラマの思索
| 固定リンク
「ビジネス・歴史・経営・法律」カテゴリの記事
- 戦前の日本人の気質はまだ成熟していない青年期と同じだった(2022.06.14)
- 「大人の学びパターン・ランゲージ」の感想~知識と経験を行ったり来たりするタイミングを大切にする(2022.06.05)
- 経済学や心理学の実験で得られた理論は再現性があるのか?~内的妥当性と外的妥当性の問題点がある(2022.06.04)
- 中国人の価値観の考え方(2022.05.08)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
「コミュニティ」カテゴリの記事
- 第22回東京Redmine勉強会の感想 #redmineT(2022.05.29)
- 『ものづくりの数学』の感想 #もの数(2022.04.10)
- RedmineJapan vol.2が開催されました #RedmineJapan(2022.02.25)
- 第21回東京Redmine勉強会の感想 #redmineT ~Redmineは業務も組織も包み込む柔軟性がある(2021.11.28)
- なぜソフトウエア後進国の日本でRubyは成功したのか?~ソフトウェアの成功の秘訣はコミュニティ、そしてコンウェイの法則にある(2021.11.09)
「ソフトウェア工学」カテゴリの記事
- プロセス設計はどの範囲を指すのか?~プロマネの仕事はテーラリングにある(2022.06.19)
- 「大人の学びパターン・ランゲージ」の感想~知識と経験を行ったり来たりするタイミングを大切にする(2022.06.05)
- 「コーディングを支える技術」は良い本だ(2022.05.26)
- ソフトウェアテスト技法練習帳はテストケースの切り方に困っている人向けにおすすめの本だ(2022.05.14)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
「Agile」カテゴリの記事
- プロセス設計はどの範囲を指すのか?~プロマネの仕事はテーラリングにある(2022.06.19)
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 超高速開発でアジャイル開発を実現する話に違和感がある(2022.05.06)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- プロジェクト管理の基本はテーラリング、Redmineはプロセスをテーラリングするツール(2022.04.21)
コメント