読者です 読者をやめる 読者になる 読者になる

Always All Ways

Apologies, Glances and Messed Up Chances

ローカル・ナレッジを参照点として複雑適応系とダンスする要求開発

Requirements Development Agile Management

今朝の id:kent4989 氏のエントリにインスパイアされて、まとまりがないものの思うところを書いてみたいと思います。
元記事はこちら↓
ローカルな知としての要求開発 - 勘と経験と読経

まず最初に断っておきたいのは、氏が言わんとしていることはだいたい理解できるし、それを否定するつもりでこれを書いているわけではないということです。その上で、氏の論点が誤解されるおそれのありそうなところを自分なりに補足するとともに、自分の考えを後日見直すためにメモしておきたいといったところです。
注)本稿における「要求開発」は要求開発アライアンスが提唱するOpenthologyおよびそれをとりまくプラグインや派生する諸々を指しています。

工学的かどうかの話について

要求を工学的に扱えるかどうかとか、何をもって「工学」と称するかについては、実は私自身はあまり興味がないので、ここについてはさらりと流しておきたいと思います。(別に工学と呼ぼうが呼ぶまいが、それで世の中が良くなればそれでいいではないですか、と私なんかは思っちゃうわけです。)
ただ、ここで重要なのは、要求を扱うということがComplex Adaptive System(CAS: 複雑適応系)を扱っているということではないでしょうか。そう捉えると、id:kent4989 氏が引用している中にあるように「ビジネス活動における力学を知り、人間関係の調整能力なども身につけてゆく必要がある」というのは当たり前のことですよね。さらに言えば、ソフトウェア開発というものが人間によって行われる営みである以上、要求に関する部分だけではなくソフトウェア開発全体がCASであり、それに対してどう向き合うかということは常に考えていく必要があるのではないでしょうか。

ローカルな知

これについては、元記事を読んでから改めてさくっと調べたレベルの知識しか私にはありません。従って、間違って理解・解釈しているかもしれませんがご容赦ください。
id:kent4989 氏は、要求開発を「ローカルな知」と考えてはどうかと述べています。

人類学では「ローカルな知」というものがあるということを最近知ったのだけれども、要求開発はまさにこの「ローカルな知」にあたるのではないかと思っている。

技術者的な思考をすると、つい普遍的な方法論・メソドロジーを考えてしまいがちだ。しかし、ソフトウェアに関する企画や要件定義といった領域においてはもっと「ローカルな知」的な方式を見出していったほうが良いのではないだろうか。

ここでの氏の論旨は、要求開発が扱う対象が「ローカルな知」であるので、それを扱うには普遍的あるいは画一的な方法論では対処しきれないのではないか、ということではないかと私は勝手に理解しています。つまり、要求開発自体が「ローカルな知」ではなく、その対象とする要求そのものやその要求のソースとなる人や組織その他諸々が「ローカルな知」であるというわけです。
ただ、その「ローカルな知」と向き合うための方法が必ずしも「ローカル」であるべきかとか、だからと言って統一的・普遍的な方法論ができないかというと、そこはちょっと疑問です。
たとえば、池田光穂氏のウェブページを見ると、クリフォード・ギアーツのLocal Knowledgeについて以下のような説明が出てきています。

つまり、クリフォード・ギアツのいうローカル・ノレッジとは、決してたんじゅんに、局所的な知とか、文化相対主義的な意味での土着の知を直接示しているものではない。
ローカル・ノレッジ(という隠喩)の分析

むしろ、ローカルな知を参照点として、その知的想像力を駆使する民族誌や法の理解(=抽象化された知的システムや、一般化と個別理解のせめぎ合いが見られる知的法廷における知の操作技法をめぐる議論)のあり方と、その知的源泉としての〈事実知〉や〈具体知〉のダイナミズムについて、考えようとしているのである。
ローカル・ノレッジ(という隠喩)の分析

結局のところ、われわれはローカル・ノレッジ以上のものを必要としているといってよい。われわれはローカル・ノレッジの多様性をその相互参照性に変える、つまり一方が暗くするのを他方が照らす方法を必要としているのだ。
ローカル・ノレッジ(という隠喩)の分析

誠に付け焼刃ではあるけれども、このあたりの記述を援用すると、要求開発に関しても、「ローカルな知」としての業務やビジネスや人・組織を参照点として、その多様性を相互参照性に変えて何らかの方法を生み出すのが、要求開発あるいはOpenthologyを考える我々の使命ではないかと思うのです。

ダンスすることはできる

要求開発を含むシステム開発が複雑適応系であるならば、それに対して我々がどう立ち向かうことができるかについては、Jurgen Appeloの"How to Change the World"の中でも引用されているDonella Meadowsの言葉をここで挙げておきたいと思います。

“We can't control systems or figure them out. But we can dance with them!”
Meadows, Donella. Thinking in Systems: A Primer. White River Junction, Vt: Chelsea Green Pub, 2008.

システムをコントロールしたりそれを完全に理解することはできませんが、それとダンスすることはできるのです。こちらの動きに対してシステムがどう反応するかを観察し、それに適応していくのです。その際に、取り扱うものが複雑適応系であるということとともに、その対象がローカル・ナレッジであることを理解しておくことが重要なのです。

Complex Adaptive System

Complex Adaptive System


ローカル・ノレッジ―解釈人類学論集 (岩波モダンクラシックス)

ローカル・ノレッジ―解釈人類学論集 (岩波モダンクラシックス)


Thinking in Systems: A Primer

Thinking in Systems: A Primer