テセウスの船とは、ある船が時間の経過と共に、部品の入れ替えを行い、ある時完全に全ての部品が入れ替わる。この時、交換された部品を全て集めると、もう一隻船ができる。この時、どちらが本当のテセウスの船かと言う問題。これに対して1000年アーキテクチャーの観点から考えると答えは前者となる。システムとは人がシステムを使って人に価値を提供する。また、システムの構成部品は交換可能、と言う考え方から、ある船の船員、乗客、運搬物と言うことに価値があって船そのものはなんでもよい(代替え可能)となる。仮に、同じ部品で船だけを作ったとしても、優秀な船員がいなければ船は運行できない。乗客や運搬物がなければ運行する価値もない。つまり、システムの価値は、システムとシステムに関わる人の両方が組合わさってできるものであって、人のいないシステムはガラクタも同然ではないか。と考えた。
設計工程について考えてみたいと思う。設計工程は各アウトプットを分かりやすくするためにウォーターフォールモデルでの開発を想定して考える。
基本設計工程について考えてみる。この工程ではシステムの外部から見た形を明確にする必要がある。システムの構成要素や、要素間のつながりを明確にする。通常の設計では、採用する製品の機能を軸に、システムの作りを具体化していくのではないかと思う。1000年アーキテクチャーでは、人に着目してシステムの作りを具体化する。要件定義工程で明確にした、システムの利用者がシステムを通して受けている価値と、システムの提供者が生み出している価値がシステムの機能とどのように結び付いているのかを具体化する。こうすることで、システムの自身の価値と製品に求める役割を明確にできる。すると、システムに採用した製品で利用すべき機能と不要な機能の選定が容易となる。そうすることによって、利用目的の不明な機能や、ほとんど使われない機能の実装を抑制し、無駄の削減できるのではないかと思う。また、製品に求める要求が具体的になることから、製品の入れ替えが可能となる。その結果、システムのアーキテクチャーや価値を損なうことなく、製品(物理機器)は変更可能となる。アーキテクチャーと言う考え方が製品や物理機器から独立し、製品や物理機器を入れ替え(新陳代謝)ながら運用できるシステムとすることで、製品や物理機器のライフサイクルに依存しない長期間生存するシステム設計が可能となる。
設計工程について考えてみたいと思う。設計工程は各アウトプットを分かりやすくするためにウォーターフォールモデルでの開発を想定して考える。
工程の定義は色々あるが、細かいいことは気にせず、要件定義工程について考えてみる。
要件定義工程では、機能要件と非機能要件を定義する工程で機能要件では、システムが何するものなのかを定義し、非機能要件では、性能、稼働率、セキュリティなどシステムの堅牢性を定義する。ここまで1000年アーキテクチャーでは、システムを使う人、システムの提供する人、システムを作る(または改修)人に注目するとことを考えてきた。この要素をこの工程に追加する(と言うか比重をおく)と、以下のようになるのではないか。
システムを使う人は、どのような欲求があるのか、システムを利用することでどのような価値を得られるか。
システムを提供する人は、どのような能力を持ち、どのような価値をシステムを通して提供するのか。
システムを作る人はどのような対応が、どの程度の頻度で発生するのか。
これらを事前に定義しておくことで、システムのTCOも予想しやすくなりそうだ。また、システムを提供する人がシステムを通して提供する価値をSDGsと結びつけておくと、システムの存在意義の説明がしやすくなるかもしれない。
これまで2つの例を用いて1000年続くものは何かを考えてきた。これからのシステム設計の考え方に投影していくに当たり、今の時点の理解を一度まとめたい。コトガラに対して、コトを提供する人、コトを利用する人、コトガラの仕組みを作り維持する人が存在する。これらの人の関わりが続くとこによってコトガラが活き続けているのではないだろうか。システム設計で考えると、サービスを提供する人、サービスを受ける人、システムを構築・修繕する人がいて、それらの人とシステムの関わりを中心に考えることで、活き続ける(スクラップ化しない)システムを定義することができないだろうか。そして技術は時代に合わせて変わっていく。そのためシステムで採用される技術はその時代に合わせて置き換えられるものと考えておく。こうすることでテクノロジーの流行りに翻弄されることなく、時代に合わせてブラッシュアップできるシステムが作れるのではないかと考えた。僕たちSEは、最新のテクノロジーを勉強し、(メーカーの推奨する)テクノロジーの効果的な活用方法を常に考え、実装することが価値提供するだと思っていた。しかし、これでは技術の流行り翻弄され、時間と共に老朽化していくシステムの更改に疲弊してしまう。システムの中心を最新テクノロジーの活用におくのではなく、人とシステムの関わりかにおくことで、価値が残り維持できるシステムを作ることができるのではないかと思った。
これこそ鎌倉殿をみて思ったことだが、東海道についてである。1000年近く前でも京都と関東の間で人の移動があったというのは興味深い。距離が離れたところに人がいて、移動する人がいて、ものを運ぶ人がいて、伝令を伝える人がいて。本件についても、また人との関わりで整理してみたいと思う。移動する人に注目すると、途中では船の渡しのような場所があり、川があると船があって、船頭がいて、乗る人がいて、船を作る人がいる。これは前のお寺の話と同じだ。しかし今は、高速道路ができて、新幹線ができて、移動手段は技術と共にかわっている。つまり渡し船を作る仕事はなくなり、車を作ったり、電車を作ったりとテクノロジーの変化により乗り物を作る仕事は変化している。また江戸時代の東海道53継ぎの宿場町も、テクノロジーの変化により役割がなくなっている。移動が高速化したことにより、中継地点で宿泊する必要はなくなってしまった。しかしながら今でも東海道を自分の足で歩く旅行者がいることについては別途考察してみたい。今回は、テクノロジーの変化により変わらない欲求(移動)はあるにもかかわらず、代わってしまう仕事があることに気づいた。この点では前回の寺の例と逆なのかもしれない。ただよりものを作る仕事と視野を広げて捉えることはできそうだ。