6月9日から3日間にわたりソフトウェア・シンポジウム2014に参加した。会場の秋田までは、東北新幹線「こまち」で東京から4時間弱の電車の旅である。学生時代以来の秋田で、とてもよい経験をした。
このシンポジウムは、自主的なワークショップの場がたくさんある。私が、参加したワークショップは、「ソフトウェアの遺言」と題して様々なソフトウェアの有識者・経験者が実感している、後世に残す「ソフトウェアとは何か?」「ソフトウェアの本質とは何か?」を披露しあって、ソフトウェアに関して深く考え、意見を出し合う場であった。
ソフトウェアの認知と利用はここ30年間に大きく進んだ。利用分野は、どんどん広がり、複雑化、多様化も急速に進んだ。一方、本質的な理解がなされないために、多くの間違った行動が、関係者に大きな不利益を生じさせている。さらには、昨今のクラウド化、ビッグデータの活用など、様々なサービスの進展により、IT組織はビジョンや戦略を明確にできず、迷走状況にある。どんなIT人材が必要なのか、それすらも確信が持てないようだ。
製品やサービス以前に、ソフトウェアとはどのような性質のもので、何がほかの製品やサービスと異なるのか基本的なことを考えてみた。ソフトウェアの本質を私は次のように理解している。
それは、ソフトウェアとは「持続成長可能で、実行可能な知識」であり、使えば使うほど価値が向上し持続成長可能であるということだ。例えば、多くの製品は使えば使うほど劣化したり消耗したりして寿命が来るが、ソフトウェアは、上手に改善すれば、継続的に価値向上が期待できる。
また、何か対象に関する知恵とアイデアがあれば、繰り返し実行可能な体系化された知識になる。人の考えは、無限であり、アイデアさえあれば、そこには無限の可能性がある。
ソフトウェアには知恵を使う(考え抜く)ということと、状況により変化するという特徴が備わっている。このことを、ソフトウェアの仕事に従事する人は、忘れてはならないと私は主張したい。知恵を絞ること、変化することの本質的な理解が重要であり、この事実に反したITに関わるマネジメントは必ず失敗する。
価値は、考え抜くことで実現できる。また、ソフトウェアの構造は、変化に耐えられるようにしなければならない。また、持続的に改善することにより、さらなる価値を得ることができる。ソフトウェアの何が変化して何が変わらないものかを見抜かなければならない。このことが分かれば、ソフトウェアの構造の問題も保守やドキュメントの問題も、どのようにすればよいか分かるはずだ。
今再びEA(エンタープライズ・アーキテクチャ)への取り組みが必要になってきている。EAとは「企業全体で整合性を確保しながら変化を実現できるメカニズムを提供するもの」である。ソフトウェアが、世の中に深く進展していくのであるから、EAは、必要、必然といえる。
今また、ソフトウェアの本質についてシンプルに考えてみよう。