【PMスタイル考】第98話:ソフトウエアについて考える
バックナンバー https://mat.lekumo.biz/pmstyle/cat9747239/ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
筆者は15年くらい前までソフトウエアエンジニアリングの研究開発に従事してしましたが、昔から
日本はソフトウエアが苦手
という思いがあります。
いわゆるソフトウエア品質に関していえば国際的なレベルでいっても高いと思います。品質とは何かという議論もありますが、仕様が決まったソフトウエアを決めたとおりの仕様で作る能力は極めて高いと思います。バグの少ない高品質のソフトウエアを作ることができます。
では、なぜ、そう思っているのかということですが、ソフトウエアというものに関する認識の違いです。
◆ソフトウエアとは何か
日経BP社の谷島宣之さんが
「ソフトウエア、それが問題だ ~ Software matters」
という記事の中で、ソフトウエアの定義には広義と狭義があり、狭義のソフトウエアがコンピュータソフトウエアだと述べられていますが、著者もほぼ同じようなイメージを持っています。
つまり、ハードウエアとソフトウエアというのは相対的なものだというのが筆者の認識です。言葉のアソビが過ぎると思われる方もいらっしゃるかもしれませんが、国際政治の中で、20世紀になって、ジョセフ・ナイが「ソフト・パワー」という概念を提唱したのはそういうことです。
その点も含めて、著者のソフトウエアへの認識は
「ソフトウエア認識論」
https://mat.lekumo.biz/pmstyle/2015/01/pmstyle-column0-1657.html
に詳しく書いてありますので、興味があればこちらを読んでください。
◆ソフトウエアとは概念、ハードウエアは実体
さて、ここからはソフトウエアはコンピュータソフトウエアも含んだもっと広いものだという前提で話を進めていきます。谷島さんのいう広義のソフトウエアをソフトウエアと呼びます。
さっそく、ちゃんと定義しろという声が飛んできそうなのですので、この辺ではっきりさせておきましょう。
ソフトウエアとは何かというと、「概念」です。ハードウエアは「実体」です。その意味で、コンピュータソフトウエアがソフトウエアであるとは限りません。コンピュータソフトウエアはハードウエアとして位置づけられることもあり得ます。
この話を考えるにはファームウエアと呼ばれるものを考えてみるとよく分かりますし、コンピューターのプロセッサーの歴史を振り返っても単なる言葉の遊びではないことは分かると思います。
◆宅急便のソフトウエアとハードウエア
一つ例を考えてみましょう。みなさんもよく使われていると思いますが、ヤマト運輸が提供している宅急便という小口荷物を配送するサービスがあります。
翌日配達、当日配達、クール便、などいろいろなサービスがあって、貴重品や危険物を除く小口荷物であれば、おおよそ、どんなものでも、どこからどこへでも、1~2日で届けるというサービスです。このサービスを実現するための仕組みがあります。
その仕組みが宅急便のソフトウエアです。たとえば、配送の経路を決める仕組み、料金を決める仕組み、トラックに積載する荷物を決める仕組み、倉庫の中で荷物を仕訳する仕組み、荷物の受付をする仕組み、荷物の追跡をする仕組みなど、さまざまな仕組みがあります。
このソフトウエアを実現するために、宅急便では倉庫、トラック、コンピュータなどのハードウエアを使います。問題はコンピュータの中に入っているソフトウエアですが、これはハードウエアだと認識できるものとソフトウエアだと認識できるものがあります。
この違いは、コンピュータの中のソフトウエアが目的とする仕組みになっているものと、コンピュータソフトウエアは目的とする概念的な仕組みの手段になっているものの違いです。
たとえば、前者の例はトラッキング用のソフトウエアで、コンピュータソフトウエアそのものでユーザが荷物の番号を入れて荷物の状況を知るという仕組みを提供しています。これに対して、配送方法を決めるルールがあり、そのルールに基づく決定がコンピュータソフトウエアで行われています。
ここでルールというのは実体ではなく、概念だということに注意してください。これに対して、トラッキングシステムのコンピュータソフトウエアやコンピュータは実体です(ソフトウエアは目に見えないので実態がないと言いますが、ドキュメント、プログラムなど一式が実体です)。
◆概念的なものをうまく作れない日本人
さてここからが本題なのですが、日本はソフトウエアが苦手、もっといえば、
よいソフトウエアが創れない
と感じている理由は、ここまでで述べたようなソフトウエアをうまく創れる企業が少ないということです。
宅急便のように良質のソフトウエアを創れる企業は稀です(これに加えて、システムという観点がありますが、宅急便の場合、ソフトウエアの組み合わせで構成されるシステムも独創的なものです。これについては別の機会に議論したいと思います)。
ソフトウエアが創れないということは概念的なものをうまく開発できないということに他なりません。このことは、日本人はコンセプトが創れないという指摘につながります。
◆概念レベルでルールがつくれない日本人
その原因は何かと考えてみると、コンセプチュアルスキルの低さに他なりません。日本人のビジネスマンは具体的であることを重視することで、概念的、抽象的な思考を回避しています。これは一理あります。具体的でないといくら考えてみても実行できないし、作れないからです。
問題はだから概念的、抽象的な思考が不要かというところです。
たとえば、スポーツの世界で日本はルール変更でいつも不利を受けているという話があります。これは交渉力やロビーイングの問題だといわれていますが、著者はそもそも、ルールを作るのが苦手なのではないかと思っています。解釈することは微妙な変更はできても、コンセプトと変えるようなルールを作れないので対案が出せないで、調整で交渉をするような対応をしているのではないと思います。
ルールが作れない例でよく引き合いに出される例に1998年に行われたスキーのジャンプ競技の例があります。このルール変更は、それまで身長より80cm長いスキー板を使えるというルールだったのを、身長の146%までOKとしたルール変更でした。長くなれば浮力が高まり、遠くに飛ぶことができますが、身長の低い日本人には不利だとされ、長野オリンピックで日本選手が圧勝した後で行われたため、日本叩きでルールが変えられたと問題になりました。
この変更を考えてみるとよく分かりますが、これは概念レベルで変更をしています。言い換えると、長さを変えるという変更ではなく、ルールの構造そのものを変えているわけです。
+80cmという具体的な長さをどう変えても、一律であるかぎり相対的にみれば影響はそんなにないでしょう。しかし、その長さを身長の変数にするという構造の変更によって、身長の高い人はプラスとなり、身長の低い人はマイナスになるという影響が出てきます。つまり、概念的なレベルでルールを変えることによって具体的なところでは実現できないルール変更をしているわけです。
◆概念的思考ができないからよいソフトウエアが創れない
このアナロジーで、たとえば、ビジネスのルールであるビジネスモデルをいくら具体的なレベルでだけ考えてみても、インパクトの大きいビジネスモデルはできないだろうということは容易に想像がつきます。プロセスに毛の生えた程度のビジネスモデルしかできないからです。
もう少し掘り下げてみると、ソフトウエアをうまく作れないというのは、概念的な思考ができないことに大きな一因があるのではないかと思います。
このソフトウエアを作るという問題は日本のビジネスマンにとって非常に重要な問題だと考えているので継続的に議論していきたいと思っています。その目的で、近く、「ソフトウエアについて考える(仮題)」という連載を始める予定です。
コメント