見出し画像

リファクタリズム:自由と多様性、秩序の注入

はじめに

リファクタリングという、ソフトウェア開発の用語があります。

複雑なソフトウェアを最初に入念に設計してから開発すると、どうしても完成までに時間がかかります。そこで、あえて最初はとりあえず動くソフトウェアを作って、そこに機能を少しずつ付け足すことで、実際に使ってもらいながらバージョンアップさせるという考え方があります。これは、迅速な開発という意味で、アジャイル開発と呼ばれています。

アジャイル開発は、最初の頃は素早く開発できますが、機能が増えていくと、次第に機能の追加が難しくなります。無秩序に建て増しした建物と同じように複雑すぎて、既存の仕組みに悪影響が出ないようにしながら何かを足す、という事が難しくなっていくためです。

そこでソフトウェア開発者が行う作業がリファクタリングです。これは、複雑化して機能追加が難しくなったソフトウェアの作りを整理して、ある程度秩序だった形に設計しなおす作業です。この時に、積み上げてきた機能をなくしたり、動作が変わらないように注意しながら、設計を整理するという事だけを行います。このため、リファクタリングを行う前と後で、ソフトウェアを使う人から見れば、使い勝手も機能も何も変わりません。ただ、設計を整理したことで、今後の機能追加が容易に行えるようになります。これにより、ソフトウェアの価値をさらに向上させていくことができます。

このリファクタリングという考え方はソフトウェア以外にも適用できます。私がこのnoteで探求しているテーマである、生命の起源、つまり有機物から細胞が生み出されるまでの過程でも、この考え方が1つの重要なキーになっています(参照記事1)。生命の起源というテーマ以外にも、それに類する性質を持つ分野にはリファクタリングという視点は応用できます。

今日私は、このリファクタリングの考え方を再考している中で、ここに新しい地平が開かれている可能性に気が付きました。このリファクタリングに基づいた考え方で様々な対象を捉える立場を「リファクタリズム(Refactorism)」と呼ぶことにします。

リファクタリングの本質

先ほどソフトウェアにおけるリファクタリングの説明を書きましたが、これを一般化して表現してみます。

多数の要素が同時並行で活動し、その活動から新しい要素が生み出されるようなシステムについて考えます。

一般的に、多数の要素に多様性があり、自由に活動を行える方が、初期段階では新しい要素を生み出しやすいと考えられます。うまく何らかの条件が満たされていれば、このシステムの中の要素は進化していき、システム全体が発展していきます。

一方で、一定の発展を遂げるとシステムは成熟していきますが、多様性や自由に基づいた無秩序な進化や発展をしてきたことが足枷となり、それ以上の進化や発展が望めなくなります。そこへ、その進化や発展によって生み出されてきたものが失われない形で、システム内から自然発生的に、あるいは、システム外から恣意的に、秩序を注入できると、そこからまた新しい進化と発展が可能になります。

これが、一般化したリファクタリングの説明になります。

ここで見たように、リファクタリングの本質は、以下の3点です。これにより、多様性と自由の効果を生かしつつ、成熟による停滞を乗り越えて、発展していくシステムが成立できるようになります。

  • 初期段階においては多様性と自由を生かして要素の進化とシステムの発展が促進されるようにすること

  • 成熟段階において、システムに秩序を注入することで、新たな進化と発展を可能にすること

  • 秩序を注入する際に、それまでの進化と発展で生み出されたものを破壊しないこと

リファクタリズムとは何か?

リファクタリズムは、このリファクタリングという観点から様々な対象システムを分析したり、そこにある問題にアプローチしたりする立場のことです。

リファクタリズムには、いくつかの側面があります。

分析の側面(解釈面)

対象のシステムにおける進化や発展の過程を、リファクタリングの考え方に当てはめて分析することができます。細胞の発生過程、生物の進化過程、社会の発達過程、学問や文化などの発展過程など、様々な対象に適用できます。リファクタリングに沿って分析することで、何が無秩序な進化や発展であったか、そして何が秩序として注入されたのかという観点で進化と発展を分析することができます。

新しい観点で進化や発展の過程を見つめることで、今まであまり大きな出来事とは認識されてなかった変化が、大きな役割を果たしていることに気がつくことができる可能性があります。また、様々な分野で注入された秩序を列挙して分類することで、システムにおける秩序のパターンを抽出することができ、何が秩序の本質であるかを理解できるようになると考えられます。さらに、そうして抽出された秩序のパターンを分析に当てはめることで、各分野で新しい発見が出てくるでしょう。

さらに、自由度や多様度、無秩序の度合い、秩序の効果など、数値的な指標化を行って、各分野でこれまでの発達過程を詳細に分析していくと、これらの数値の間に法則を見出すことができるかもしれません。これは、その分野で未来に起き得る秩序の注入の予測を可能にしたり、どのタイミングで秩序を注入すべきかといった判断を可能にしたりするかもしれません。

設計の側面(実用面)

対象システムの問題を解決する際に、リファクタリングの考え方を取り入れることができます。特に、成熟した現代社会や現代の組織は、直接的な解決の難しい様々な課題を抱えています。リファクタリングは、こうした複雑な課題の解決のアプローチとして、既存の仕組みや中身を壊さないように、構造だけを整えるという考え方を取ります。

このアプローチは、複雑に関係者が入り組んでいる社会の仕組みや、硬直的でリスクを取りづらい組織にとっては、有効に働く可能性があります。既存の仕組みや中身を壊さない立場を取ることで、改革に反対する人を減らすことができますし、社会や組織の一時的な逆戻りも防ぐことができます。

確かに、痛みを伴う構造改革や、破壊的創造ともいえるイノベーションに比べて、手間も時間もかかり、かつ、一見するとあまり効果を出せないのではないかと思われてしまう可能性はあります。しかし有機物から細胞が生成される過程の分析で見たように、リファクタリングは既存の機能や仕組みを生かしたまま、破壊的創造にも匹敵する、あるいはそれ以上の効力を発揮する場合があります。生命の起源の分野以外にも、先に挙げた分析の側面から様々な分野でリファクタリングの効用を明らかにしていくことで、より説得力を持つでしょう。

このような背景に基づくことで、手間と時間をかけてでも、リファクタリングのアプローチで課題に取り組むことの意義を理解してもらえるはずです。そうなれば、必ずしも創造のために痛みや破壊を伴う必要がないというリファクタリングは、例え困難でも多く関係者の協力の下に推進できる可能性が高まります。

そして、そこには大事な要素があります。リファクタリングの専門家が必要になります。ソフトウェア開発者の中には、システムアーキテクトと呼ばれるエンジニアがいます。組織課題の分析、システムの構造設計、開発戦略立案、関係者との調整を含めた、問題解決とシステム開発のエキスパートです。経験を積んだシステムアーキテクトは、リファクタリングに必要となるシステム分析やそれに基づいた戦略立案に対する実践的なノウハウやスキルを蓄積しています。これは他の職業ではなかなか獲得できない専門性の高いスキルです。この能力は、ソフトウェアシステムに関わらず、システムというものを扱っている学問や研究分野、それ自体が一種のシステムである社会や組織、そうしたものにも適用できます。

様々な社会問題や組織課題に対して、システムアーキテクトの能力を適用する事で、的確で効果の高い、本質的なリファクタリングを行うことができると、私は考えています。

協働の側面(意識面)

リファクタリングは、それまでに積み上げてきた仕組みや機能、価値や関係といった「意味」を、変更したり破壊したりはせず、構造だけを整理するというアプローチです。そしてそれは消極的なアプローチではなく、先ほども示したように、破壊的な変革に匹敵するか、あるいはそれ以上の効果を発揮する可能性があります。

この事は、様々な問題や課題を抱えている人に、希望を与えます。特に様々な進化と発展の先まで来たこの現代、あるいはポスト現代と呼ばれる時代においては、シンプルなアイデアで容易に片が付くような問題は既に解決済みで、残っているのは影響が大きいけれども根が深く解決が困難あるいはほどんど不可能と思われるようなものばかりです。そうした問題を前にすると、過激な変化を求めたり、反対に一切の変化を拒んだり、ニヒリズムに陥ったり、あるいはシンプルでわかりやすいヒーローを求めたりもします。こうした傾向は、真正面から困難な課題に向き合っている人たちの体力や気力を削いでしまいます。

リファクタリズムは、こうした問題に真正面から取り組む人々に力を与えることができる潜在的な可能性を持っています。過激な変化を必要とせずに課題を解決できる手立てがあるかもしれないという可能性を訴えます。今まで築き上げてきた仕組みや機能、価値や関係をできる限り保存することを約束します。可能性は必ずあるという希望を共有できます。そして、実直で堅実な分析と構造設計の下、多くの関係者の協力を得ながら課題に向き合います。このような考え方は、きっと大きな力となり得るでしょう。

さいごに

半年ほど前に、日本のデジタル庁の中で行われている取り組みについて書かれた本を読む機会がありました。それまで私は、日本のようにデジタルに苦手意識があり新しいことに抵抗を感じる社会には、どんな手を講じてもあまりうまくいかないのではないかと考えていました。しかしその本を読んで、そこに書かれている深い洞察と戦略に基づいた取り組みの多くに、目からウロコが落ちました。

特に印象的だったのは、デジタル化を阻む要因の一つに「対面確認」「目視確認」など、アナログでやることが法律で定められている項目が、数千か所に及ぶ、という問題へのアプローチでした。

私は、新しい法律を作り、「過去の法律の、対面確認は○○と読み替えること、目視確認は○○と読み替えること」というものを一つ作れば済むと考えました。実際、欧州のどこかの国ではそのような手が打たれているそうです。しかし、日本のデジタル庁が採用したのは、その数千か所の法律を一つ一つ更新する、というやり方でした。

一見非効率には見えますが、日本の官公庁の性質を良く理解した上で、あえて選択したやり方でした。実際にデジタル化しない方が良いものがあるので丁寧に選別する必要があったという現実問題もあったようです。しかし、真の狙いは、各法律を所轄している省庁の担当者をデジタル庁に定期的に呼んで、法律の見直しの進捗を報告させるという点にありました。そうすると、各省庁、さらにはその省庁の中の各部局で、法律の見直しが行われます。その過程で省庁の中の多くの官僚が、デジタル化について考え始めます。そして、ある省庁が積極的に取り組んだり、デジタル庁に逆に提案を持ち込んだりするようになると、他の省庁の担当者のハートに火がついて、真剣さが増すという相乗効果が生まれます。そして全国2000弱の地方自治体の条例についても、同じやり方で修正を進めます。このようにして、官公庁や自治体にデジタル化の文化を根付かせようというのが、この方式を採用した戦略的な狙いだったそうです。

この本を読んだとき、こうした非合理だけど丁寧なやり方を好む日本的な価値観を生かしつつ、上手くなじむ形でデジタル化の文化を入れ込んでいくという良く練られた周到な戦略に、率直にすごいなと思いました。そして、こうして振り返ってみると、デジタル庁の戦略はリファクタリズムの考え方に似通っているように思います。摩擦や軋轢を生まないでデジタル化というものを入れ込んでいく様は、まさに既存のものを壊さずに秩序を挿入して、将来の発展の土台作りをするリファクタリングです。そして、このリファクタリングという考え方は、ソフトウェアの世界ではおそらく欧米の方で考えられた手法だと思います。しかし、それを社会や組織の問題解決に応用しようとすると、一見、地道で手間と時間のかかる非合理で非効率なやり方に見えます。そんな非合理や非効率に見えるやり方に、実は大きな価値があるのだと直感したのは、私が日本で生まれ育ち、働いてきた事と、大きく関係しているのかもしれません。

締めくくりのつもりの文が長くなってしまいましたが、こうして書き出してみた事で、リファクタリズムという考え方の根源に、文化的な背景がある可能性についても気づきを得ることができました。

参照記事一覧

参照記事1

参照記事2

この記事が参加している募集

多様性を考える

サポートも大変ありがたいですし、コメントや引用、ツイッターでのリポストをいただくことでも、大変励みになります。よろしくおねがいします!