It was back in '32 when times were hard
He had a Colt .45 and a deck of cards
 
-- "Stagger Lee" Nick Cave & The Bad Seeds

a deck of cards とかの deck がどうして日本語では「デッキ」という使われ方をするのか寡聞にして知らないのですが、アジャイルソフトウェア開発の世界ではその名を知らない人はいない「The Agile Samurai: How Agile Masters Deliver Great Software」という書籍に登場する inception deck は日本語の世界では一貫して「インセプションデッキ」と紹介されています。Amazonで新品を買うと何故か原書より日本語訳「アジャイルサムライ――達人開発者への道」の方が安いという怪現象に出くわしますが、どちらもまだ科学者たちがその理由を解明している最中です。

この「インセプションデッキ(inception deck)」というのは、inception(始めの、とか最初の、とかいう意味)とdeck(トランプなんかの一組)という言葉の組み合わせです。アジャイルソフトウェア開発の現場では、何かのプロジェクトを開始するにあたって、最初のコードを書くまえにきちんと方向性を合わせておくために作られるものです。

なんとなくの合意で始まったプロジェクトの場合、それぞれのメンバーがイメージしていたものとその成果物がかけ離れたものになってしまう危険があります。そもそも、言語というものの性質上、簡単な言葉でさえ私たちの頭の中のイメージは食い違います。誰もが「猫」という言葉を聞いて思い浮かべるのは同じ「猫」ではありません。もちろん私の場合は最高に可愛いうちのあずきちゃんのことですが、皆さんの頭の中の猫は違うはずです。動物の猫でさえないかもしれません。一つ一つの食い違いは小さくてもそれが積もって大きな違いになるのは、倦怠期を迎えたカップルだけの専売特許ではないのです。

確かに究極的には何をしたところで私たちの頭の中のイメージは一致しないのですが、それでもインセプションデッキのような念入りな合意を形成することは、あなたを含めたプロジェクトの成員がみんな揃って筋金入りのお馬鹿さんでなければ、貧しい人々のための無料食堂を作ろうとしてうっかりドレスコードを設定してしまうような大きな間違いを回避するための重要な道標になります。また、絶えず揺れ動くソフトウェア開発のようなプロジェクトにおいて、常に立ち戻って自分たちがやっていることを検証する土台を用意することで、短絡的な思いつきに頼って迷走してしまう愚を避けるというさらに重要な役割を果たしてくれることもあります。

面白いことに、このインセプションデッキを含めたプロジェクト進行のプロセスというのは、必ずしもソフトウェア開発にだけ有効なものではありません。またアジャイルソフトウェア開発のチームでなければいけないわけでもなく、さらにはインセプションデッキを用意するといった形式も必ずしも必要なわけではありません。世の中には専門的にアジャイルソフトウェア開発を学んだことなどなくても同じような効果をあげているプロジェクトだってちゃんとあります。

弊社はこれまでに幾つかのNPO団体の皆さんの活動を支えるソフトウェアを開発・提供してきましたが、その打ち合わせの場で、とある団体の方々がとてもユニークな議論の仕方をしていることに気づきました。筆者自身はソフトウェア開発が専門なので、例えば誰かに何か困っていることがある、こういうことをやってみたいという話を聞くと、ではこれとこれを作れば解決ですね、さあやっちゃいましょう、ソフトウェアは世界を動かすのです、ワッハッハ、という発想と行動にどうしても偏りがちになります。その日も御多分に洩れずそんなことを話していたのですが、彼女たちがよくある企業のソフトウェア開発プロジェクトと異なるのは、だからといってすぐに、そうなんですね!それは素晴らしい!じゃあお願いします!となどと目の前のソリューションに簡単に飛びつかないのです。その代わりに、機能の詳細を煮詰めていく中で少しでも引っ掛かる部分があると、それが自分たちが使うのに相応しいものであるかどうか、そもそも自分たちは何をするための団体で、それは自分たちのやるべきことなのかどうか、という議論が誰からともなく始まり、意思決定のプロセスが必ず同じ道筋を辿るのです。結局この日の打ち合わせの結論は、なんとこの機能の実装は取りやめにしようというものでした。私は事前の技術的な調査も完璧にこなしていて、なんなら動作するデモまで用意して臨んでいたのですが、そしてそれらが全部無駄足に終わった時の気持ちはプログラミングの仕事を経験した人なら誰でもご理解いただけると思うのですが、それでも彼女たちの出した結論には両手をあげて賛成してしまいました。彼女たちは誰もアジャイルソフトウェア開発のことなんか知らないのに、それでも意思決定の際にはインセプションデッキに黄金の文字で刻まれた約束事にごく自然に立ち返り、プロジェクトの方向性についてぶれない指針を手に進んでいるのです。そりゃもちろん、時間や労力を使ってしまったことを取りやめるのは最高なことではないかもしれません。でも、何事も不変ではなく標的は常に動いています。そして何よりも優先するべきなのは自分たちのプロジェクトの存在意義であり、サンクコストに迷うことなく決断できるというのは並大抵のことではありません。

目の前の簡単な解決に飛びつくのは、丸投げするのと大した違いはありません。でも、あなたのプロジェクトは、丸投げで済ませてしまっていいような、そんな程度のものなのでしょうか。もちろん、たまにはそういうこともあるでしょうけど、もしそんなプロジェクトしかないのなら、アジャイルとかなんとかいう話にはなんの意味もないし、波風立たない人生の中で余計なことに煩わされる必要はないでしょう。

インセプションデッキというのは、明文化された集団のアイデンティティでもあります。普通、われわれ人間は脆くあやふやで、なんのために生まれて何をして生きるのか、さしたる指標もないままに過ごします。生まれることを選んだ覚えもありません。でも、プロジェクトという集団的な擬似人格を作り上げて何かを成し遂げようとするとき、運が良ければ私たちはそれを通して何者かになることができます。つまらないプロジェクトに関わってつまらない人間になることも可能です。意義深いプロジェクトの一部となって人生の意義を感じる機会を得ることもまた可能です。どれもあなたという人間を説明する一つの手がかりとなることでしょう。

そういうもんなんじゃよ、お若いの。