はじめに

タイトルはパロディ. パターン, Wiki, XP ~時を超えた創造の原則 - 江渡 浩一郎.

最近, エクストリーム・プログラミング(以下, XP)に興味を持ち, いろいろ調べた.

パターンやWiki, Zettelkastenに絡めた, 自己分析の方法について考えたことのUpdateをしたい.

食い物をくれ!

エクストリームとはすべてが自由なときどうするかという思考実験

わたしはXPについてなんとなく知っていただけで, 今まであまり興味がなかったが, エクストリームの語源について知り, びっくりした.

プリンジ・ヌガク - 食いものをくれ

リソースが豊かならば人々の活動は生産的になり, 過酷な環境だと生産的でなくなる. これは人類学者コリン・ターンブルのフィールドワークからのインサイトらしいが, それをソフトウェア開発に置き換えると, 時間, 人, モノ, 金がすべて自由につかえるとき, ソフトウェア開発者としてどう振る舞うか?という思考実験.

飢餓と貧困の生き地獄において, 人間は思考を停止する.

;; https://www.amazon.co.jp/dp/B000J9GLQ4 ;; https://twitter.com/takeshi_mochida/status/1016276877793562625

60年代当時にこの地域を襲った旱魃による大飢饉の中で、人間性が破綻して、善性を喪失し、冷酷無慈悲な個人主義に支配された「もはやいいところなどなにひとつも残っていない」滅びゆく部族として、このイク族を描いた。

さらに想像を掻き立てるのならば, 去年たまたまYoutubeで流れてきた現代のアフガニスタンの生き地獄の動画.

橋の下に広がるのは・・・ドラッグと絶望がはびこる“地獄”の光景 タリバン統治から1年 アフガニスタンにまん延するドラッグと貧困の実態【須賀川記者リポート】|TBS NEWS DIG - YouTube

無期限の暫定的存在における2つの選択肢

ヴィクトール・フランクルの「夜と霧」, ナチス強制収容所に閉じ込められた心理学者が, このいつまで続くかわからない特殊な状況を無期限の暫定的存在と定義した. そして, そこにおける心理戦略を2つのパターンに分類した.

  • 未来の楽観的なイメージに頼る方法
  • 今の自分自身に価値を見出す方法

未来のポジティブなイメージを作り上げ, いつか必ずそこにたどり着くという信念をもって生き抜く方法. 辛く苦しくても悲惨な運命であったとしても, 今2つとないあり方として存在している自分自身を肯定する, 今の自分自身に価値を見出す方法.

強制収容所において, 前者の楽観的イメージ戦略はうまく機能しなかった. 収容所において, クリスマスを超えると何かが起こるという根拠のないの奇跡を信じた人々は, クリスマスのあとに次々と死んでいった.

つらい現実を生き抜いたのは, 今の自分に価値を見出す心理戦略だった.

地獄のデスマーチにおけるプログラマの生存戦略

工数をくれ, とは食いをくれ!と言い換えることができる. ソフトウェア開発においてリソースが足りない時, それでもソフトウェア開発者がメンタルを病んで倒れないためには, 未来の楽観的なイメージではなく, ソフトウェア開発者としての価値にフォーカスしてイキイキと開発することが必要.

価値は, リソースが潤沢にあるときは楽しさのほうが優先されて, そもそも意識しなくてもいいかもしれない. 価値が大切になってくるのは, つらく苦しいときだ. つらい現実が内省的な気分を呼び起こし, なぜコードを書くのか?というプログラマとしてのあり方を付きつける.

そこから生まれたのがエクストリームプログラミング, と解釈した.

価値観のパターンをZettelkastenの方法論で収集する

Wikiとは人の行動のプログラムするコミュニケーション・パターンの記述

以前, WikiとXPを扱った書籍を読んだことがあるなと思い, 振り返ってみた.

Wikiの起源は, コミュニケーションパターンの記述であり, それはコーディング規約のようなものである. そしてWikiと同時期にケント・ベックとウォード・カニンガムによって生み出されたものがXPであり, それはコーディング規約を拡張してソフトウェア開発におけるベストプラクティスをカタログ化したものだった.

Zettelkastenを自己分析につかうことで自分の価値観のWikiを作成している

Zettelkastenは思考をまとめあげるための方法論で, それは応用次第でなんでもできるものだが, わたしは現在Zettelkastenをつかって自己分析をしようとしていて, ここにおける作業を深堀してみる.

現在, Zettelkastenを通じて, 自分の価値を明確化したいという野望を元に作業を進めている(1年前の記事だが今も継続中… ).

ここでやろうとしていることは, 過去の出来事, それに対する解釈をひとつずつPermanent Noteに起こしていき, それらをグループ化したり抽象具体で整理して, 自分の価値観を明確化しようとしている.

いろんな出来事やそこから考えたことも, その背後には価値のパターンがある. それらをさらにメタなZettelkastenでまとめていく. 今やろうとしていることは, 価値観のパターンWikiの作成と言えるだろう.

価値にフォーカスしてプラクティスに落とし込む

XPとは価値をプラクティスに落とし込むためのソフトウェア開発手法

XPで面白いなと思ったのは, 価値とプラクティスが原則を通じて一貫しているところ. しかし, XPはソフトウェア開発に特化しているフレームワークだ.

これを普段の日常生活に応用できないだろうか?価値を価値観, プラクティスを習慣, 原則を規律のように.

価値にフォーカスして生きるための心理療法ACT

価値にフォーカスしていきるための心理療法としてアクセプタンス & コミットメントセラビー(ACT)というものがある.

これは, 実用主義を元にしたプラクティカルなアプローチで, 価値観を日々の生活に落とし込んで生活をすることを目指すためのフレームワーク.

このACTという考え方はXPは似ている. どちらも, 価値にフォーカスしてそれを日々のプラクティスに落とし込むにはどうすればいいのか?という問題を解決しようとしている.

XPとWikiは他者との対話パターンでありZettelkastenとACTは自己との対話パターン

XPとACTが似ている, またWikiとZettelkastenも似ている. しかし両者が決定的に異なるポイント, それはXPやWikiが他者とのコミュニケーションパターンであるのに対して, ZettelkastenとACTは他者の介在しない, 自己とのコミュニケーションパターンである.

自己と他者, 同じパターン収集でも, これは両者の決定的な違いと言える. 面白い.

Zettelkastenで価値をパターンとして集めACTとXPで価値をプラクティスに落とし込む

XPの価値とは, ソフトウェア開発における価値だ. もっといえば, ソフトウェア開発においてケント・ベックが大事だと考える価値かもしれない. 経験則なのか? ケント・ベックはシャイで西部の孤独を愛する男だがそれでも対話を最重要の価値としていると, どこかの動画できいた. なにかほっこりするものを感じる. ケント・ベックは, その価値をどうやって見出したのか? また, 価値にフォーカスして開発しようとする時, どうやってその価値を明確化すればいいのか?

話を戻すと, エクストリームとは, 時間やお金や人の制限がないとき, プログラマとしてどのように振る舞うかという価値観を軸にしている. そのような価値観を明確化するためのトリガーとなる質問に, ACTの価値を明確化するアプローチが役に立つ.

また, ACTの価値のワークで提供するのは価値に気づくワークであり, それらをグループ化したりまとめるために, パターンやZettelkastenの方法論がつかえるかもしれない. (Wikiというのがコミュニケーションパターンという本来の姿から発展してWikipediaのような確立された知識を収集する意味合いになってしまったところがややこしい).

さらにさらに, XPのプラクティスや原則を真似るようにして, 自分自身の価値に従った習慣を定義して行動に落とし込む. XPのソフトウェア開発の具体例はわかりやすい. プラクティスとはよい習慣である. 筋トレ, 冷水シャワー, GTD週次レビュー, if-thenプランニング…

たとえば, Zettelkatenで収集したわたしの価値観のなかに, 平穏という価値がある. これをプラクティスレベルの習慣に落とし込むと, 瞑想だったり, コーヒー休憩の習慣だったりに落とし込める. そしてそれらを支える原則をいろいろと列挙する. 原則とは, 個人的な体験もあるが, 科学的根拠に基づく法則のようなものだと理解している. たとえば, 瞑想はうつに効果がある, のようなもの.

パターン, Wiki, Zettelkasten, XP, ACTこれらには共通点があり, しかし相違点もある. だが, 自己分析をするとき, それらの美味しい部分をすべてつまみ食いしながらうまくできる気がしている.