More Effective Agile/Steve McConnell

あの「Code Complete」のマコネルさんの、アジャイル指南・・・というよりも2010年代を通過してソフトウェア開発の手法はどのように進化してきていて、マコネルさんのコンサル会社がどのようなケースを見聞きして、その結果として彼が考える「現代のソフトウェア開発のベストプラクティス」とは何かということを語った本です。

2000年代には、それまで軽量プロセスとかイテレーショナル開発とかいろいろな呼ばれ方をしていた知見を「アジャイル」という言葉の元に束ねて、アジャイルとはいかなるものかの試行錯誤が行われました。その頃には、従来の手法とは別にアジャイルという新しい手法が生まれた様に見えていましたし、案件の性質によって使い分けようというような動きもありました。しかし、2010年代には従来のソフトウェア開発の手法の問題を克服するために生まれた次の手法がアジャイルだということがはっきり示され、それ以外の手法で使うための新たなメソッドやツールを生み出す動きが潰えました。つまり、「ソフトウェア開発のベストプラクティス」とは、イコールとしてアジャイル開発のことであり、結果としてこの本はアジャイルの本といって過言ではないです。タイトルに偽りなし。

ただし、この本が「アジャイルという新しい考え方を説明し、普及する」という視点ではなく、あくまで2010年を通過して今あるソフトウェア開発の手法のベストについて語るという本であることは重要で、つまりはアジャイルが正道となった世界で、我々はどうしていくのかという本です。

もちろん、私たちみんながアジャイル開発をやっているわけじゃないし、「正しい」アジャイル開発を出来ているわけでもありません。それは20世紀に誰しもが「正しい」ウォーターフォール開発を出来ていなかったのと同じです。どちらにしろ、開発手法を理解し、そこで起きうる問題を把握し、対処し、その手法の目指すところを体現できているかどうかというのは、ものすごーくムツカシイことです。

というわけで、なんか新しいことが書いてあるわけでもなんでもないですが、短いページ数(日本語版でも300ページ未満です)にエッセンスがぎちっと詰まっていて、取り上げたい知見や、引用したい名言に満ちた本です。すべからく読むべき。特に、アジャイル開発におけるリーダーの役割についての言及が素晴らしい。まあ、書いていることがソフトウェア開発手法で、それはつまり「管理手法」なんだから当然なんですが、もう、耳が痛いことがびっちり書いてあります。知識の整理にはぴったりだし、アジャイルを開始するとっかかりとしても良い本。私も「ちゃんとしたスクラムができた」と感じたプロジェクトはまだ出来てないんで、ちゃんとしたいですね。なかなか状況が許しませんが。

というわけで、以下は読み終わった本のページをめくりながら、面白いなと思ったところをピックアップしておきます。

Cynefin

3章。聞いたことがない概念がでてきて、意外とこの本の最後まで使われます。IBMにいた人が作ったフレームワークで、「クネビン」と読むそうです。

Cynefin_as_of_1st_june_2014

図の通り、5つのドメイン(系)があって、問題はどこかに分類されると。で、分類された位置によって異なるアプローチがされるべき、とCynefinでは言ってます。詳しくはWikipediaでも。

で、はしょりますが、ソフトウェア開発で相手にすべきなのは図の上の2つ。「複雑(Complex)」と「煩雑(Complicated)」だと。カオスはソフトウェアで解決しようとすんなと(笑)。では、上の2つに対してどうアプローチすべきかというと、

複雑:調査(probe)-把握(sense)-対処(respond)

煩雑:把握(sense)-分析(analyze)-対処(respond)

はい、ピンときましたね。アジャイルにおいて最も重要なことはリリース間隔が短いことなわけですが(「LeanとDevOpsの科学-Accelarate」を読んでね)、それはつまり複雑なドメインに対するアプローチだからです。短い間隔でリリースして、フィードバックを得る。そしてそれに対して次のリリースで対応する。「調査-把握-対処」ですね。

それに対して従来のソフトウェア開発手法、この本ではシーケンシャル開発と呼んでますが、それでは、様々な要求をかき集めてきて、それを分析して、モデリングして、アーキテクチャリングして、ソリューションを作り上げている。つまり、煩雑系に対してアプローチしているわけです。

で、ソフトウェアで解決しようとしている問題があって、その多くは複雑なのか煩雑なのか。複雑だと思ってたら煩雑だったことがわかった場合、「とりあえず、やってみようぜ」とトライして行った調査・実験はムダだったということになります。ちょっとショック。しかし、煩雑だと思ってたら複雑だった場合、プロジェクト終盤に「あれ、やろうとしてたこと間違ってね?」となる。これは致命的なショック。なので、ソフトウェア開発は、まずは対象を複雑系だと考えてアジャイルに取り組み、煩雑系だとわかったらそれに対処する(その部分に対しては、きっちり問題を分析して組み立てるシーケンシャルな開発へシフトする)方がよい。だから、アジャイルなんだよーと言ってます。なるほどね。

スクラムから始める

アジャイルやりてーなと思ったら、とりあえず、スクラムをやれ。アジャイルうまくいかねーなと思ったら、とりあえず、きっちりスクラムをやれ。スクラムから取捨選択をするな。なぜなら、アジャイルには膨大なプラクティスが存在するが、そこから最小限のプロセスを使って作られたフレームワークがスクラムだから。これ以上省くことは許さぬぞ、とマコネル先生の教えです。ワカル。

スクラムがダメっていう奴はだいたいちゃんとやってない奴なんだよねーということで、4章ではスクラムの様々な失敗モードが紹介されてます。「無能なプロダクトオーナー」とかいう節があって、読むと心が痛い。ちなみに、今までみたダメスクラム傑作例は

「スクラムを検討してみたが、そのプラクティスのほとんどは私たちの組織ではうまくいかないようだった。私たちはスクラムを実践しているが、主に導入しているのはデイリースタンドアップで、毎週金曜日に行っている

だそうです。ウケル。

チーム文化

6章はチーム文化に関する章です。文化の問題はものすごく大事で、これこそがチームの生産性の要なんだけど、わかってないリーダーが多すぎ。マコネル先生曰く「企業は事実上、人々の脳内のスペースを借り上げ、企業が従業員に考えさせたいことを考えて貰うために賃金を支払う。外的モチベーションがうまくいかないのは、何かについて考えることを人に強制させるのは無理だからだ。あなたに出来るのは、企業の問題について自主的に考えたくなるような状況を整えることくらいである。」

まったくその通りなんだけど、やって欲しいことが「考えること」ではなくて「作業」だと思ってるクズリーダーが多すぎる。そのくせ、「作業」の結果上がってきたアプトプットの品質が低いと怒るわけですが、やってることがソフトウェア開発なんだからそこに「考えること」が含まれてなければ品質が低いのは当たり前なわけです。では、「考えること」のために何をやっているかというと、モチベーションを削ぐことしかやってない・・・みたいなね。

では、内的モチベーションの向上には・・・ということについては、当たり前だけど大事なことが本に書いてあるので是非読んで下さい。

分散チーム

はい、リモートワークの話です。で、おわかりの通り、チームのロケーションを分散させることはダメだよと書いてあります。まあ、その通りですな。ここで面白かったのは、以下の部分

ここで重要になるのは、定期的に直接会ってコミュニケーションを取ることである。あるグローバル企業の最高幹部は、「信頼の半減期は6週間だ」と言っていた。ミスが増えてきたと感じたら、メンバーを飛行機に乗せ、一緒にゲームをさせ、一緒に食事をさせることで、信頼関係が築かれるようにしよう。

6週間かー。つまり、緊急事態宣言でリモートワークになって本当にうまくいく仕組みが作れているかどうか、勝負は6週間経ったあとって事です。確かにねー。

個人および対話

アジャイルはこれまでプロセスの話に注力しすぎて、個人の能力開発にはあまり取り組んできてません。これは従来の開発プロセスでも同様で、個人が仕事を通じて成長することを求められているのはどこの組織でも同じだと思いますが、それが個人を受け入れるプロジェクト側では基本的に何も考慮されておらず、必要な知識やスキルを身につけられるかどうかは個人の(プロジェクト外での)努力と運に左右されているというのが現状です。しかし、アジャイルが必要とする「自律したチーム」は個人の能力に大きく影響を受けるんですから、個人の能力開発に注力するのは当然。8章はこのことに大きく記述が割かれてます。

ま、とにかく個人の成長に対して組織はもっと投資をしないといけないって事です。こんなインターネットミームが引用されてます。

CFO: メンバーに投資して、彼らが辞めてしまったらどうするんだ。

CEO: メンバーに投資せずにいて、彼らがいつまでも辞めなかったらどうするんだ。

ウケル。でも、これは自社の社員に対してはその通りでしょうが、現状、我々は外部の人員を含めてプロジェクトをしていて、これが社外の人間(つまり、長くてもプロジェクト終了時点でいなくなる人)に対しても同じように対応するべきなのかは疑問。ここは大きくやり方を変える必要があるところです。

また、開発者に求められる対話の能力やチーム内の対話の重要性にも触れられてます。これは自分がどうかというよりも、リーダーとしてメンバーをどう向上させるかという観点に立つとより重要です。ここをケアしているリーダーはまれですが、とにかく重要なんですよねぇ。

バーンアウトの回避

リリース間隔を短く保ち、スプリントを繰り返して成果を出すアジャイル開発のリズムは基本的にはいいものだけども、「締め切り前に頑張って、締め切りが過ぎたらリラックスする」という起伏がないことによって、かえってバーンアウトを誘発することがあるといいます。なるほど。確かにぱつぱつのスクラムしんどい。

そこで著者は6×2+1パターンなど、一定じゃないリズムを使うことも提案してます。2週間スプリントを6回やったら、1週のスプリントを1度はさみ、そこでは技術的負債の返済やツールの見直し、研修、チームビルディング、ハッカソン、日々の改善などをやると。これ良いですね。

要求の改善

シーケンシャルな開発手法では、最初に要件定義をしてしまい、その要件定義の品質が後々まで影響します。要求管理は非常に大事。ただ、私の感覚としてはシーケンシャルな開発においては、失敗の原因を要件定義フェーズの品質に求めすぎている気がしますけどね。要件定義が不明確だったが為に、後続のフェーズで時間がかかったり、手戻りが発生したとして、ではそれを要件定義もっとリソースをかけて回避すべきだったかどうかは疑問です。だって、後続のフェーズで必要となったリソースを前のフェーズで使ったとして、それはリソースの総量の削減になっているかどうかはわからないから。ただし、要件定義フェーズでのアウトプットを元に後続フェーズで必要となるリソース総量を見積もって、それが間違っていてエラいことになったということはあるかもしれないですが、それは単に契約形態の問題で、プロジェクト全体から見たら本質的な問題じゃないからね。

アジャイルの最も重要な点は、リリースサイクルを小さくして、一度に必要とする要求の量も小さくして、コントロールしやすくできることにあります。ただし、プロジェクト全体のリスクとしてはそれで改善されているけども、1つ1つのフィーチャーについて要求の品質が高いか低いかが出来上がるフィーチャーそのものの品質に直結することはシーケンシャル開発だろうがアジャイル開発だろうが同じ事です。ここまでユルユルでいいと誤解してアジャイルを捉えている人が実に多い。それは間違いです。

で、要求について、アジャイルだからシーケンシャルだからというのは無くて、むしろ、アジャイルは要求管理の改善の1手法であるわけです。従来の要求管理の手法には改善が必要なことは誰しもわかっているわけで、その連続的な改善の取り組みの1つがアジャイルであり、バックログ管理のようなアジャイルのプラクティスだと。

で、この分野は大変ホットなので、この20年で様々な取り組みがなされてきてて、下のリストに上がってる単語を聞いて「何それ」と思ったら勉強不足だから補えよとマコネル先生は仰ってます。はーい。

  • 受入テスト駆動開発(ATDD)
  • ビヘイビア駆動開発
  • チェックリスト
  • コンテキスト図
  • エレベーターピッチ
  • エクストリームキャラクター
  • 5つのなぜ(five whys)
  • ハッスルマップ
  • インパクトマッピング
  • インタビュー
  • ラダリング法による質問
  • リーンキャンバス
  • MVP
  • ペルソナ
  • Planguage 言語
  • プレスリリース
  • プロダクトビジョン
  • プロトタイプ
  • シナリオ
  • ストーリーマッピング
  • ユーザーストーリー

 ふぅ、いっぱいあんね。

リーダーシップ

16章ではリーダーシップについて。この本を通じて何度も出てくる原則は「スクラムチームをブラックボックスとして扱う」ということ。マイクロマネージメントを避け、インプットとアウトプットだけを管理しないと自律したチームは作れません。リーダーに出来るのは仕事の仕方をあれこれ指図することじゃなくて、せいぜいメンバーのモチベーションを上げることぐらいなわけです。辛い。「チームの生産性をどうやって上げれば良いか決めるのもチームなので、メンバーの1人が1日休めばチームの生産性が最も良くなる可能性があるとしたら、チームがその決定を下すのは自由である」とも書いてあり、リーダーはせいぜいその可能性を指摘したり、チームの決定を尊重したりとかしか出来んわけです。

もうひとつ、リーダーが大事なこととして「司令官の意図」を伝えること。これはアメリカ軍の概念で、司令部と部隊の間の連絡や協議の機会を失った状態で、部隊が意思決定を出来るようにしておかないといけないっちゅうことですね。「人にやり方を教えてはいけない。何をするのかを伝え、その結果であなたを驚かせるように仕向けるのだ」というジョージ・S・パットンの言葉が引用されてます。しみるね。まあ、この本はリーダー向けの本なので、16章は短いながら重要なことがたくさん書いてあります。

間違いを犯す

アジャイルの短いリリース間隔に期待することは素早いフィードバックであって、それはつまり、やってたことが間違ってたということが早くわかると言うこと。必然的に間違いを許す組織文化が必要になります。で、せっかく間違いによって得られた知見なので活かさないといけない。というわけで、以下の様なことが重要

  • 直すのが大変にならないうちに正す
  • エスカレーションを許す
  • 心理的安全性を高めておく
  • 知見を共有するプラクティスコミュニティ(例えば、スクラムマスターのコミュニティなど)を確立する

心理的安全性は一種のバズワードのようになりましたが、これは全てのリーダーが考えねばならぬこと。文化大事ですよ。ほんとに。

生産性の向上

このことがあんまりプロジェクトで真面目に考えられているところを見たことがないけれども、チームの生産性向上はとても大事。だいたいは、「今週は進捗よくないです。でも、作業に慣れてきたので、今後は大丈夫だと思います」的なところでいい加減に語られてしまいがちだけれども、まあ、それはそもそも生産性を測定していないんだからしょうがない。まずは測定が大事です。チームのベロシティはちゃんと測りましょう。

その上で、プロセスの改善をする。ツールを変えたり、バックログリファインメントの精度を上げたり、必要なメンバーを追加したり・・・それをちゃんとスプリントごとに改善することが大事です。

面白かったのは、「チームの生産性が向上すると何が可能になるか」という項目。引用します。

短いスプリントは、プロセスを実験的に変更し、それらの変更の結果を追跡し、うまくいく変更を足がかりにする機会を頻繁に提供する。このようにして改善がどんどん蓄積されていく。私たちはこれまで、チームの生産性が2倍かそれ以上になるのを実際に見てきた。

このことには思いもよらない意味合いもある。というのも、パフォーマンスが悪いことを理由に「問題のあるチームメンバーを多数決で締めだそう」とする場面を何度か目撃したことがあるからだ。どの場合も、事の顛末はだいたい同じである。「あのメンバーを異動させたら同じベロシティを保つことを確約できるか」とマネージャーが尋ねると、チームはこう答える。「あの人が足を引っ張っていた分、ベロシティがよくなることを確約しますよ」

もう1つの例は、チームが2つの拠点(サイト)に分散しているデジタルコンテンツ会社と仕事をしていたときのことである。1つ目のチームは15人のメンバーで構成され、2つ目のチームは45人のメンバーで構成されていた。ベロシティを厳格に追跡し、作業の進捗を監視し、その待ち状態を分析したところ、1つ目のチームが2つ目のチームとの連携に費やしていた時間と作業量だけで、2つ目のチームの作業量を超えているという結論が下された。そこで、2つ目のチームを別プロジェクトに回したところ、1つ目のたった15人のチームだけで元のプロジェクトの総生産量が増加した。1つ目のチームはアジャイルの生産性の指標をきちんと使用することで、生産性を実質的に4倍に増やした。

ツラい。でも、わかるなー。1つ目の話も、2つ目の話も、なんとなく実感があります。うーむ。

予測可能性

20章は見積の話。アジャイルは見積が出来ないと考えている人がたまにいるんですが、全然そんなことはなくて、プロジェクトの開始前でもシーケンシャル開発と同程度の「不確かな見積」は可能です。つまり、どちらの手法もある程度の仮定、つまり不確かさを認めてしまうなら、その不確かさを含んだ予測はできるわけです。だって、タスクを見積もって積み上げるだけならどっちだって出来ますよ、そりゃ。

アジャイルでそれがあまり重視されないのは、いくらかのスプリントを経ればその不確かさをすぐに小さくできるから。であれば、その不確かな見積になんか意味あるの?となると。で、通常はもの凄く意味はあって、不確かな見積が無ければプロジェクトはスタートしないんで、プロジェクト開始後に得られるより正確な見積に意味なんかないわけです(笑)。

マコネル先生はプラクティカルな人なので、もっと予測可能性が求められるときにはどーしたらいいのかという議論をきっちりやってます。見積の不確かさの管理方法はもちろん、

  • エピックを予算として扱う
  • 予測可能な範囲を考慮してアジャイルの境界を移動させる

など、言われてみればもっともだし、部分的にはやってるようなことをきっちり手法にしてあるので、エラいですね。

また、プロジェクトのスケジュールの管理のためにはポートフォリオの管理が凄い重要で、WSJF(Weighted Shortest Job First)の手法が紹介されてます。これ、有名らしいけど、知らなかった。フィーチャーそれぞれについて、それがないと発生するコストを見積もって、その合計が最小になるようにフィーチャーの優先順位を管理する方法です。これはそのまま自分たちで使えるかどうかはわからないけど(例えば、発注機能のこのフィーチャーがないとユーザーはどのぐらい時間を損するんですかって聞いて回っても、すぐに有効な数字が貰えるわけではないだろうし)、でも重要な視点だな。


| | Comments (0)

読書で離婚を考えた。/ 円城塔・田辺青蛙

円城塔と言えばガチガチの理学博士であり、ゴリゴリの研究者でありながら、研究では飯が食えず芥川賞を取った(はしょりすぎ)という、研究者としての道に挫折しCSもロクに囓ること無く安易にSEとして糊口を凌ぎ、ちょっと愉快な手順書を作って同僚を笑かしてはかすかなエゴを満足させて生きている私から見れば、羨むばかりの才能に溢れまくっている人です。「Self Reference ENGINE」と「Boy's Surface」はほんっとに面白かった。もうね、嫉妬しかないです。でも、最近の作品は私もいまいち理解できないときが・・。

そんな円城塔さんが奥様と共同で書評の連載をしたそうですと。ほほう・・・どのような本を・・・。目次を眺めてみたんですが・・・なんだこれは・・・どうして料理のレシピ本とか折り紙の本とかVOW(懐かしい)とかが入っているんだ・・・。

なんでも、本の趣味がまったく違う2人が「その人の本棚をみれば(略)」という格言よろしく相手に読ませて感想を聞くことにより相互理解を深めるためにお題を出し合ったという連載なんだそうです。迷走している感が目次だけでありありとわかる(笑)。なるほど、それでこのタイトルなんですね。

で、円城さんの方はきっちりしているので、ちゃんと最初のお題に絡めて本を選ぶ。奥様の田辺さんは、割とそのテーマを忘れがち。自由奔放・大らかに連載を進めて楽しそう。そんな奥様と円城さんは自然現象に相対するかのような半ば諦めの境地で着地点を探す。そんな噛み合ってんだか、噛み合ってないんだかよくわからないけどなんだか仲の良さそうな関係性を楽しむ、そんな本です。んー、だって紹介されてる本で「あ、読んでみようかな」ってなる本ないんだよ、この本は(笑)。まあでも、割と楽しく読みました。だって、もう完全に円城さんには共感しかないんだもの。

あ、でも私はたまになら嫁が料理してくれてもいいと思ってますよ(笑)


| | Comments (0)

天冥の標が日本SF大賞を受賞

おめでとーございまーす!

というわけで、2/23(日)に青山ブックセンターで開催された「飛浩隆・小川一水トークイベント」に行って参りました。

この日はまさに日本SF大賞の選考日でして、イベントの冒頭で「天冥の標」の大賞受賞、そして、「零號琴」が受賞を逃したことが発表になったのでした。悲喜こもごもでございます。

まあ、「天冥の標」はもう、1巻が出て、そしてこれが10巻で完結すると聞いた時点で読者全員が「うん、完結したらSF大賞決定だな」と確信するという、初っぱなからそんな完成度の作品だったわけですが、小川さんが「10年がかりで17冊も書かないと大賞が貰えないとは辛い。作者はちょっとずつご褒美が欲しいのです」と受賞の弁で愚痴るのもわかる(笑)。この10年、天冥の新刊が出るたびにむさぼるように読んでいた読者としては、ずっと「リアルタイムでこの作品と対峙できるのは幸運以外の何物でも無いんだから、とにかく読め」とみんなに言っていた一方で、「ホントにいつ完結するんだ・・・」と遠い目になったこともしばしば。1巻の感想をこのブログに10年前に書いていますが、そこでいきなし「完結は何年後なんだー」って書いてますからね(笑)。

いや、それにしてもホントに凄い小説もあったものです。太陽系外の植民惑星の破滅が1巻で書かれて、「どうなっちゃうんだー」とどっきどきで2巻を待ち、2巻を読んでみたらいきなり現代でパンデミックものという。今、まさにCOVID-19のパンデミックが間近に迫っているのが小説世界とリンクしてどっきどきです。まあ、肺炎は冥王斑みたいな致死率ではないものの・・・SFの想像力が人間を強くするということはあると思いますね。この1巻のラストから2巻を読んだときの衝撃と等しいレベルの衝撃が、10巻までに・・・3度はあったかな。「えええっっっ」っていうのが。それが無くても十分に面白いSFの満漢全席みたいな本なんだけども。いや、書かない方がいいな。とにかく

まだ読んでないなら、
絶対に読め!

としか言いようがない。悲劇も喜劇も、冒険も浪漫もエロティシズムも、差別も殺戮も飢餓も貧困も、異世界も異星人も超知性体も、愛も友情も孤独も連帯も、すべてがここにあるすさまじい小説なので(ないのは時間SFぐらいだな)、これを読んでない人生なんてあり得ないんで、読んで下さい。

いやー、しかし、小川一水さんはほぼ同年代なんだよな。これを10年前に構想して書き上げたわけでしょう、同年代の人が。凄すぎるよ。

というわけで、トークショーなんですが、内容はまあ、そんな大した話はありませんでした。とりあえず酉島伝法と伴名練は(買ってあるんだから)とっとと読もうと思いました。てへぺろ。

| | Comments (0)

キリン解剖記/郡司芽久

冬ごもり2冊目は、世界で一番キリンを解剖している学者こと、郡司芽久さんの研究の日々。いたって学術的な真面目な本ですけど、キリンが大好きな女の子が学位論文を取ってキリン博士になるまでの話なんで、なんか凄い業績とか、人類の英知に関わる何かとか、そういうものはありません。

そういうものは無いわけですけど、おそらく日本の学者の卵が学位を取るまでの研究の日々って、どの人の話も同じぐらい面白いと思うんです。郡司さんはなんせ文章が上手いし(つか、日本の博物学系の学者はみんな話が面白いよな)、ネタが日本人なら誰でも知っているキリンなんで本に出来るぐらい一般性があるわけですが、私が大学院にいたときの経験からして、博士課程までいって学位を取ろうというのは人生におけるかなり致命的な決断であり、そんなことになってしまう人は、人生のどこかで一般的な幸せを棒に振ってもいいぞと思えるぐらいの面白いものに出会ってしまっているわけだから、そりゃ面白いに決まってるんです。でもしかでDr取る奴はいないし、取れないしね。

というわけで、郡司さんの話も面白い。そもそも、キリン博士ってなりたいと思ってなれるものじゃありません。というか、日本にキリン博士は1人いれば十分で、別にいなくてもいいわけだから、なりかたが誰もわからないわけです(笑)。私も、日本にいるキリン博士はどういう人かイマイチわからない。それは動物園の飼育員とか、獣医ではなくキリンの研究者とは何をしているのか。

郡司さんも東大に入ってすぐに、先生方に聞いてみる。「キリンの研究者にはどうやったらなれますか?」。でも、だれも知らない。しかし、ある先生との出会いが彼女を変えます。それは解剖学の先生でした。「キリン?キリンの遺体は結構手に入るから、解剖のチャンスは多いよ。機会があったら連絡するね」。実は、日本には100頭以上のキリンがいるので、ちょいちょいお亡くなりになるんですな。

そして、彼女は大学1年生にして、「日本の動物園でキリンが死んだら声がかかる人」というポジションへの足がかりを得て、早くも最初の解剖をしてしまうのでした。なるほど、キリンの研究者になるとはそういうことか・・・。もちろん、行動学や遺伝進化学からキリンをテーマにすることも出来るでしょうが、キリンメインの解剖学者は強いポジションですね。というわけで、どうしたらいいのか誰もわからないテーマの世界では「あたし、キリンがやりたい」とあっちこっちでアピールしとくというのは超重要って事ですね。

という、キリン(だけ解剖するわけじゃないけども)の死体だらけの研究生活は、なんだか微笑ましい。D論書くというのは、まあもの凄く辛いことですし、そもそも頑張ったからといって成果が出るものでもないし、キリンが死ななければ成果は出ないし、死体解剖は破壊検査なので常に緊張の連続だし。でも、そうやって辛い研究の話も、所詮は好きでやっている話。楽しくアピールして、我々は楽しく聞いて、税金払って、世界の知の総体の拡大に貢献して、それでよいってことです。というわけで、この本はすべからく読むべし。そして、学者たるもの、こういう文書はちゃんと書いて世に問うべしと、そう思いますね。

 

 

| | Comments (0)

サーバント・リーダー/ジェームズ・ハンター

いろいろと年末にバタバタしたので、年末年始の休みに入ってまず、ゆっくりと本屋にいくことにしました。Milueと2人で日本橋の丸善を1階から順にぐるっとブラウズ。至福の時間です。二人で17冊、28,000円ほど買い込みました。まあ、こんなに読めるはず無いし、そもそも積ん読もたくさんあるんですけども、買うのが楽しい。

で、普段あまり行かない経営とかそういうところにあったこの本もその一冊。開発チームのリーダー、例えばスクラムマスターなどは「サーバント・リーダー」が望ましいと言う話は良く言われることではあります。ビジョンを示して、ぐいぐいと引っ張っていくリーダーではなく、メンバーが自律的に活動する組織において、メンバーの能力を最大限引き出すために活動するリーダーを指して言うことですね。

で、「サーバント・リーダー」という言葉自体はよく聞くんですが、きちっとそれについて論じている本というのは知りません。どのぐらい前からある言葉なんでしょうか。と、いう興味もあって、このタイトルのを見て手に取りました。

んで、中を見たらサーバント・リーダーについて論じてある本じゃ無くて、仕事や家庭に問題を抱えている男が修道院に行って、リーダーのなんたるかを学ぶというストーリー仕立ての組み立てでした。いや、私、この手の本に弱いんですよね。「もしドラ」もそうだし、「嫌われる勇気」もそうじゃないですか。薄いからすぐ読めちゃいそうだし。というわけで、買ってきて、スキャンもしないでそのまま読んじゃいました。この本は2000年頃の本なんですが、そもそも「サーバント・リーダー」という言葉を作ったのは全然違う人で、その人が書いたいわゆる「バイブル」的な本は70年代に出ているんだそうです。ほー。

で、読みました。小説風だけど、うまく整理されてまとまっています。書かれてることは、まあ、ソウダネってことなんですけど、じゃあ、出来ているかというとさにあらず・・・という事なんで、こういう読みやすい形で時々読み直して自己を省みるというのは良いことだし、そのためにはこういう本が大事なんじゃないかなーと思います。

後は、サーバント・リーダーが機能するためにはチーム作りが大事。そもそも組織やチームが目的を持って作られているというのは一種当たり前の事なんだけども、その当たり前がない組織というのもあるわけです。日本では特にありがち。その場合にはリーダーは共有すべきビジョンを掲げるということも必要になります。ビジョンの輝きが権威となり、そこからリーダーシップを作ることもできるんで、その観点は忘れちゃダメだぞってのは付け加えておくべきかな。

ま、こういう本を読むと、私はつくづくリーダーの器じゃないなとは思いますけども。他人に興味がなさすぎるから。


| | Comments (0)

スレイヤーズ17 遙かなる帰路

スレイヤーズの新刊が出てしましました。すぺしゃるじゃないほうね。本編の方。2019年は変な年だなあ。

実は去年、富士見ファンタジア文庫30周年記念ということで「スレイヤーズ16 アテッサの邂逅」は出ているんですけど、こっちはまあ、同窓会的というかお祭り的な1冊で、流石にもう新シリーズをやることはないと思っていたんですけど、やっぱり出してみると反響も大きいし、それだけに「本編」を期待していた読者からの「コレジャナイ」っていう感想も多かったみたいだし。ということで、いっちょもう一回やってみるかということになったみたいです。

「スレイヤーズ」と言えば、泣く子も黙るライトノベル界の金字塔で、おおよそ誰もが頭に思い浮かべる「ライトノベル中のライトノベル」です。ゲームっぽいファンタジー世界をデータベース的に使っている点や、典型的な俺TUEEEな主人公設定である点など、やっていることは現在のライトノベルの直系のご先祖様といっていいんですが・・・なんだろう、この健康的な感じ(笑)。むしろ、ラノベの棚に並んでいると違和感があるという。

それにしたってスレイヤーズ本編の事実上の最終刊だった「スレイヤーズ15 デモン・スレイヤーズ」が出たのが2000年。まさかの・・・あの頃は作者も読者も若かった(笑)。

そんでもって、感想ですけど・・・いやー、スレイヤーズですねぇ。楽しいなあ。

ま、必要があるかどうかは別として、一応、ネタバレ線をここに張っときますね。

 

 

 

さて。スレイヤーズはメディアミックスしてますんで、アニメやコミックでは別のストーリーが語られてますし、まあ、終わってからはや20年近く経って、いろいろと整合性の調整が要りそうなこともいろいろとあるのでしょう。それらをまるっとすっ飛ばすために、今回、舞台はスレイヤーズの世界を飛び出しました。

というのも、スレイヤーズの設定では、リナたちの生きている世界の方が閉じ込められたエリアなんですね。ただ、神様レベルの話なんで、閉じ込められた世界といっても十分に広く、特に誰も不自由していないし疑問も抱いていないわけですが、その世界からすこっと外に飛び出しました。そんなことが出来るのは魔族ぐらいなわけで、当然のことながらまた高位魔族と遭遇しちゃってます。しかしながら、名探偵が訪ねると殺人事件が起きるのと同様、リナ=インバースが行くところに悪巧みをする高位魔族がいて、魔族にとってはまったくの迷惑。もう、関わりたくない!とばかりに世界の外に追いやってしまいましたとさ。

リナ=インバースが世界の外に出てしまうということは、これまで結界によって不可能だった神々の力を借りた呪文を習得できるようになるわけで・・・というか、スィーフィード・ナイトの妹がスィーフィードの分身である3つの竜王の力に接触するってことなんですけど、えらいことしちゃったんじゃないの魔族。大丈夫かな?

ともあれ、外の世界に出てきてしまったのでこれまでの登場人物はもちろん、国や組織も今後まったく出てくることはない。面白い設定です。しかも、外の世界の人にとってはいきなり魔王シャブラニグドゥの力を借りた呪文をぼんぼんぶっ放す危ない人間がいきなり現れたわけで、これはもう危険が危ない(笑)。世界の危機です。うはは。

というわけで、あの世界の外では何が起きているのか。魔族の結界に閉じ込められた水竜王を他の神々の分身はどうしようとしているのか。結界の外では魔族は自由に活動できるのか。あ、あの謎神官さんは間違いなく登場可能ですね。しかも、「あなたたちがここにいるとろくでもないですねぇ。グラウシェラー様には秘密ですよ?」の一言でリナを元に戻してこの話を終わらせられるな(笑)。などなど、世界の秘密や動きも楽しみですし、そこに「魔族もまたいで通る」ことリナ=インバースが関わることでどうなるのか、楽しみは尽きません。しかし、40も大分過ぎてまだスレイヤーズの新作読めるとは思わなかったなあ。神坂先生も50すぎてまた書くと思ってなかっただろうけども。読者も著者も長生きが必要ですねぇ。

ちなみに、今回の設定はスタートレックファンならもちろん「アレ」を思い起こします。デルタ宇宙域に吹っ飛ばされるアレね。で、アレこと「スタートレック ヴォイジャー」の記念すべき第1話の日本語タイトルは「遙かなる地球へ」。はい、もちろん神坂先生もわかっててこのタイトルつけてるはずですね(笑)。

 


 

| | Comments (0)

零號琴/飛浩隆

飛浩隆さんは寡作な作家さんで、作品が出たら品質は保証済み。

寡作で有名な作家さんってのは、すぐにいっぱしのファンを気取って話題に参加できるという、怠惰な本読みには大変にありがたい存在です。私も飛浩隆は「グラン・ヴァカンス」の2冊しか読んでませんけど、「おお、飛浩隆の新刊出るんだー。大森望さんも池澤春菜さんも褒めてるのかー。そりゃ読まなきゃなー」ぐらいの感じでいっぱしのファン面で読んでます。

いや、ハードSFなんで全然そんな感じじゃ読めないんですけどね。全然人には勧められません(笑)

飛さん的には全然そんなつもり無いと思うんですよ?中では思いっきり「プリキュア」の話してますし(というか、もうプリキュアがテーマといってもいいぐらいだよ)、誰もが熱中できる手に汗握る大スペクタクル、大冒険小説を書いてるつもりだと思うんです。

いや、でもね・・・そうはいってもですよ。

まず、厚い。600ページある。鈍器ですよ、鈍器。まあ、自炊してタブレットで読んでるから重いとか嵩張るとかそういうことは無いんだけども、逆にめくってもめくっても終わんない。600ページもあるのに、主人公トロムボノクの過去の活躍とか、相棒シェリバンとの出会いとか、そういう面白そうな設定やエピソードが匂わされるだけでさっぱり語られてない。気になって仕方ないって。

次に、読みづらい。主人公と相棒はカタカナだけど、舞台の星、美縟の人や造語が難しい漢字で、すぐに読めなくなるんです。そも、「美縟」って字が難しい。登場人物も「咩鷺」、「菜綵」あたりの読み方をすぐ忘れる。最重要キーワードは「梦卑」なんだけど、なひ?のひ?むひ?どれだっけ?。プリキュアはお話の中では「旋妓婀」です(笑)。終始、こんな感じ。まあ、音を忘れても読めるっちゃ読めるんだけど、頭に入ってこない感じが大分あります。

さらに、お話が初っぱなからぶっ飛んでて良くわからない。特殊楽器技芸士?第四類改変態?野外音楽堂が二千人の人間を巻き込んで大惨事?それって何?観たこともないシーンの連続なので、描写をきっちりと読まないと頭の中にイメージが成立しない。それでも作者や他の読者と描写のイメージを共有出来ているのか、甚だ心もとない。大丈夫かな。私、何か勘違いして読み進めてやないでしょうか?

そんな感じで噛み応えたっぷり。かなりの咀嚼力っつーか、顎の力がないと600ページを読み切るのは難しいです。よほどの本好きにしか勧めらんない。

ただ、まあ、噛んだときに迸る肉汁の旨いこと、旨いこと。

トロムボノクとシェリバンの巻き込まれた惑星をあげての大イベント「大假劇」、そしてそこで演奏される「零號琴」とは何なのか。そこに関わる人々の思惑、そして世界の秘密とは。物語は最初からこの最終幕に向けて進みますが、もうね、唖然とするような結末です。

で、この作品って、ある意味では「ラギッド・ガール」と同じモチーフなんですよ。

ある意味、この上の1行が強烈なネタバレなんですけど、読んでるうちにそんなこと忘れちゃうと思うんでどうでもいいんです(笑)。現実とフィクション世界が重なり、フィクションに自分が乗っ取られていく、AR的というか、VR的というかそんな感じの假劇のあり方からして、人間が訪れることがなくなった仮想空間でのAI達を書いた「ラギット・ガール」によく似てますが、そんななんだか良くわからない世界の崩壊に至るラストの展開ってのが、また、ものすごくてですね。かつ、手触りが似てるんですよね。いやー、凄い話。強烈です。

そして、文章が、また美しい。最後まで読み終えた上で、最初の「アヴァンタイトル」を読み直すと、「ほぅ」とため息をつくほどの美しい文章です。最初に読んだときにはまったく意味わからないんですけど。

「本を読んだー」っていうたっぷりした実感が得られる逸品。覚悟を決めて読んで下さい。


 

| | Comments (0) | TrackBack (0)

ホモ・デウス/ユヴァル・ノア・ハラリ

ベストセラー「サピエンス全史」のユヴァル・ノア・ハラリ先生の「ホモ・デウス」が売れてます。どういうわけか、会社で公開読書会なんて開かれたりしてます。最近、うちの会社、ちょっと変。

「サピエンス全史」は切り口が面白いものの、基本的には歴史の本でした。その「サピエンス全史」が切り取った歴史観の元に、人類の未来を見通すのが本作「ホモ・デウス」です。こっちはかなり過激な書物です。

さて、この本、ちょっと見通しが悪いです。なぜかというと、2つのことが主張されているからです。2つは密接に関連しているのですが、私にはあくまで2つのことのように思えます。

1つ目は、この本の本題に入る前の1章(この本は第1部が2章から始まります)で語られます。

人類は、長らく「飢餓」「疫病」「戦争」の3つの解決不可能な問題で苦しめられ、神に祈ってきました。ところが、ふと後ろを振り返ってみると、この3つは解決不可能ではなくなってます。現代において人が飢えて死ぬのは国際紛争や内政の致命的な誤りのような間違ったことが起きているからです。現代において疫病が流行して人がバタバタ死ぬのは封じ込めに失敗したからで、これも誤りが起きたことを意味して、誰かが責められます。戦争は今や際限なく拡大したら地球が滅びるレベルの問題なので、各国は協調してその発生を制御しています。

というわけで、人類は自らの生存を脅かす問題を解決できる目処がついてしまったので、次なる困難に立ち向かっています。これは好むと好まざるとに関わらない人類の性のようなものなので、止められません。そして、ハラリ先生の見るところ、人間は「死ななくて、幸せになって、神のようなものになる」ことを目指すそうです。そして、それらは今のところちょっと目処はついていないけども、テクノロジーがそれを可能にするターゲットに入っているように思えます。そのようにアップグレードされた人間は、もはやホモ・サピエンスではなく「ホモ・デウス」と呼ぶべきだと思えるというのが、1つ目の話です。これが、タイトルの意味です。

さて、この主張を前置きとしてから、本書は2つ目の主張についてのながーい説明に入ります。様々なトピックが語られ、それらが全部面白いんでわっくわくしながら読めばいいんですが、お話の流れを見失ってしまった人、あるいは、こんな長い本、読んでいられんわという人のために、超かいつまんで話の流れを説明すると、こんな感じです。

まず、ホモ・サピエンスと呼ばれる猿が歴史に登場してから数万年後、今から7万年前に突如として世界の支配者になるための資質を身につけます。それを、ハラリ先生は「認知革命」と呼んでます。「サピエンス全史」を読んだ方にはお馴染みですが、あの話がもっかい出てきます。

どーゆーことかと言いますと、サピエンスはなぜか突如として群れを拡大する方法を手にしたんですね。それが「宗教」の発明です。いや、発明というか、進化ですね。自分の群れ以外の同族と共通のイメージとか物語を共有することにより、同じ目的のために行動できるようになったんです。そういう能力を今のサピエンスは生まれながらにして持っている。それが、ネアンデルタールや他の高い知能を持っている動物と、サピエンスの違いになりました。なにしろ、同じファラオを神と崇めることにより、車輪も発明していないのにピラミッドを作ることができるようになったんです。これにより、サピエンスは他の動物に比べて圧倒的な力を手にして、世界中に広まりました。農耕の発明や、文明の芽吹き、産業革命などのイベントよりもっと昔に、サピエンスは決定的な力を手にしたわけです。

このように宗教は、サピエンスの力の源泉です。もちろん、ここでいう宗教はかなり広い意味です。私たちが帰属する集団の一員であることを理由として、理屈を抜きに善悪や正誤の判断をしていることがあれば、それはすべて宗教です。そういう価値判断を生来のものとして受け入れることができ、そのために自己の命を犠牲にすることもできるということが、サピエンスのサピエンスたる所以です。そして、有史以来、紙に書いた聖典を持つ宗教によってサピエンスがその集団を維持し、活動してきた時代がかなりあったわけです。聖書とか、コーランとか、お経とかね。

ところが、科学技術の発展により、神の存在は危うくなります。どうも人類は神が作ったんじゃなくて猿から分かれてきたみたいだし、聖書が書かれたのは神がそれを記したっていう伝承より何百年も後みたいだし、神の教えをどう解釈しても免罪符では救われなさそうだし。というわけで、ルネサンス以降、誰かが「神は死んだ」とか言ったり言わなかったりして何百年か経ち、それが全員ではないからトランプが大統領になったりしているものの、「どうも神様はいないっぽい」ということがサピエンスのコンセンサスになりました。

となると、それに神に変わる何かが善悪や正義についての価値判断をする必要があります。国家主義や帝国主義、資本主義、社会主義、共産主義などなどいろんな宗教がその地位を占めてきたわけですが、現在の流行は自由主義。またの名を人間至上主義です。

人間は個人として自由意志を持ち、己の幸せを追求する権利を持つ。従って、自分が幸せになれることが良いもの。それを阻害するのは良くないもの。ただし、個人の欲求がぶつかるときには、その調整が必要。例えば、男同士がイチャイチャしてる。キリスト教の神が健在であれば、これは聖書にダメって書いているからダメなこと。ところが、人間至上主義では、「彼らがそれで幸せで、誰の幸せも妨げていないのなら邪魔しちゃだめでしょ」が価値判断となります。もちろん、人類が衰退して男女が5人ずつしか生き残っていないというシチュエーションなら「いいから女とセックスしろ」ということになるかもしれないわけで、公共というものは存在はしているわけだけども、それが最優先ではない。そこで「生産性が」とか言い出すと社会的に殺されるという世界を我々はいま生きていて、特に疑問にも思ってません。で、自由意志を持たないもの、例えば人類以外の生命体とか、国家、企業などの法人格よりも、自由意志を持つ個人が尊重されるというのが人間「至上」主義ということの意味です。我々が家畜をヒドい扱いにしている根拠もここにあると。

ところが、科学技術が神の存在を疑問視したのと同じように、科学技術、ことに最近の脳神経科学や心理学、計算機科学の発展は、「自由意志」の存在と価値をも疑問視するようになり始めました。

例えばイーグルマンの「意識は傍観者である」(文庫版のタイトルは「あなたの知らない脳」)はこの辺りを詳しく伝えているスリリングな本です。受動意識仮説と呼ばれますが、私たちは本能的に行動したことをその後で意識的にしたと自分自身を騙すようなことをします。あるいは、人間の行動や情動は並行プロセスですが、それをコントロールする「メインプロセス」が存在すればそれをその人の「自由意志」と呼べるかもしれませんが、どうもそういうものでもないようです。考えてみれば、そのようなモノシリックな構造で素早い行動を取るのは非効率ですものね。ということは、その集合体を「自由意志」と捉えることは可能なのでしょうか。

あるいは、これはちょっと古い説(1970年代に書かれた本です)なのですが、ジェインズの「神々の沈黙」という本があります。この本でジェインズは「二分心」というものを提唱していて、今から3000年ぐらい前までは人類には意識がなかったと言ってます。意識がないと言っても、「意識不明の重体」というような時に使う意識がないということじゃなくて、自意識がないってことです。自分の情動や感情、思考を自分自身のものと捉えていなかったのではないか、つまり「自分」という概念そのものが無かったのではないかということです。これを古代文学(ホメロスとか)を研究することにより思いついちゃったんですね。

古代人は内なる情動を自分とは別の人格だと捉えていたため、古代の文学には「私は怒った」という表現がなく、その代わりに神の存在が身近で、その声を常に捉えていた。つまり、「あいつに騙されて、腹が立ったので殺した」ではなく「あいつは騙しを行った。そこで神は罰せよと私に告げた。そこであいつを殺した」という思考プロセスになっていると。で、そもそもこれは人類の通常の生理学的なプロセスだったんだけども、二つの人格、その原因は右脳と左脳の相同部位なのではないかと考えているんですが、それを統合して扱うことができるという肉体的な変化が人類に起こります。統合された自意識を持つことが生存に有利だったために、3000年経った現代では二分心を持つ人はものすごく少数派になり(シャーマンとか巫女みたいな人は二分心を持ったままの人と考えられます)、つまり人類は新しい形質を備え、進化したという説です。これ、誰も何も証明していないただの説なんですが、あまりに面白いのでみんな気になっている・・・みたいな扱いらしいです。

で、まあ、自意識なんてその程度のもので、サピエンスが効率的に行動するための機能の1つに過ぎず、統合された人格とか、個々人の自由意志なんて仮想的だけ存在するものなんじゃないの、というのが現在の科学の説明するところなわけです。あるいは、人間の幸せなんて、つまるところ脳内に良い感じの化学物質があるっていうことに過ぎないよなんてことは、みんな大好きグレッグ・イーガンの初期作品で散々扱われていること。となると、自由意志と個人の幸せに最も大きな価値観を持つ人間至上主義は、その中心概念を否定されることによって衰退していくのは仕方が無いことです。

読書会でも、人間至上主義、つまりヒューマニズムを否定することは是か非かみたいなテーマが語られて、割と保守的な立場を取る人が多かったみたいです。ところが、人間至上主義の世界から「神至上主義」と言っても良いような中世ヨーロッパみたいな世界を眺めると「いや、社会的機能があることは認めるけども、神なんてあるんだかないんだかよくわからないようなものを価値判断の基準にすると、いろいろと不都合が起きるに決まってるじゃんよ」と思うわけで、どう考えても未来の人類から人間至上主義の世界を眺めたらイケてないに決まってます。デカルト、ベーコン以降の近代哲学がずっと合理的思考や科学的現実と神の折り合いを必死こいて付けてきて、最終的には「いらんだろ、神」というところまで行く歴史をみるにつけ、人間至上主義の行く末も、恐らくは同じようなことになります。「えええ、そんな個人としての人間が尊重されない世界とか、ディストピアじゃん」という暗い気持ちになるのもわからんでもないんですが、「神様が実在しないとか、そんな世の中で生きている価値あるの・・・」と絶望する人に感情移入できないだろうし、つい100年前はバリバリの全体主義国家だった日本人が何言っての的な話ではあるわけです。

さて、問題は人間至上主義の次の宗教はなんだべさ・・・というのがこの本の最後の章になりますが、それはズバリ「データ教」です。ちょっと前まではAIは人間を超えないと思われてました。なぜなら、AIは「意識」を扱えないから。「意識」がない知性では人間には敵わないんじゃないかと思われていたわけです。ところが、どうもそんなことないぞと。つか、人間の「意識」の存在の方が怪しいぞと。意識抜きの知性がゴリゴリ発展して、アルゴリズムとデータで人類総体の幸せを実現してしまうのなら、それが良いんではないか。

ちゅか、人間の活動も、社会も経済も、森羅万象、アルゴリズムによるデータ処理なんだから、それが上手く処理出来ていればそれが善だろう。社会主義に資本主義が勝ったのは、資本主義が人間の個々人の幸せや自由に紐づいていて優れた思想だったからではなく、単に効率的な処理プロセスでうまく全体を最適化できたからだろう・・・という価値判断に基づくのがデータ教です。そして、そのためにはすべての情報はオープンになって誰しもが利用できなくてはならないというのが、その教義です。私は自由で幸せだと内的に認識するのではなく、「私は自由。そして幸せ」とSNSにつぶやいてデータフローの一部になり、世界と一体化することが善ということです。

ピンときませんか。きませんね。うん、まあ我々は旧人類ですからね(笑)。ただ、今私は現実にブログ記事を書いて、「本を読んで感想を日記帳に付けるよりも、ブログに書いてオープンにすることの方が、自分にとっても、世の中に対しても良い行動だ」と漠然と思っているわけですよ。その理由はいろいろあるんですけども、総じて言えば「なんか、世の中そういうことになってきてるらしいよ」ってことに過ぎません。うーん、確かにデータ教の信者かもしれん。

そして、このデータ教、データ至上主義の世界は個人を軽んじます。人類はデータとアルゴリズムに基づいて、ベストな選択と幸せを与えられてまどろんだまま家畜になって行きかねない。ホモ・サピエンスが他のすべての動物にしてきたことを、データ至上主義はホモサピエンスにしかねません。

いや、これまでの宗教も、ファラオが、法王が、資本家が、独裁者がしてきたことを考えるとデータ至上主義がすっごい悪い未来かはなかなかなんとも言えないわけです。人間至上主義の世界で破壊された地球環境を、データ至上主義が取り戻したとしたら?。そして、そもそも好むと好まざるとに関わらず、データ教に従わないと生きていけない世界は来てしまうかもしれません。個人をないがしろにすることは良くないなあと思いながら、そうじゃないと競争に勝てないもんなあとGPS付きのスマホを営業部員に配って行動を収集し、アルゴリズムで最適化しようとしている経営者を責められるんかいという話です。

さて、そんな世の中きてますねーという観測と思考の末に、ハラリ先生はこの新しい宗教の元での社会や政治や日常生活はどーなんでしょうね。考えてみてね、と言って2つ目の話が終わり、この本も終わりです。あれ、ホモ・デウスどこいった。

でも、まあ、繋がってますわな。データ教の世界で、ホモ・デウスとホモ・サピエンスが共存することになるわけですが・・・一方がもう一方を支配するというような単純な世界でもないですよね。ホモ・デウスの方がデータ教の世界に最適化された種になるということは、えーっと・・・うらやましくない感じは拭えないぞ、となりますし。うーん、それぞれ2つが難しいテーマであるだけでなく、関連まで考えたらだいぶグラグラくる話だな、これは。

というわけで、メインのお話もかなりスリリングで危険思想ですが、枝葉の話もものすごく豊富で面白いので是非読んでみてください。話がモリモリに突っ込まれまくっているんで、今、何の話なのかわかりづらいところもあります。章ごとに整理してくれるので読みづらくはないんですが、見失うことがないとも言えないです。なので、今私が書いたメインストーリーラインを飲み込んで、そっちに行くのねーと思いながら読むといいかもしれないです。


| | Comments (0) | TrackBack (0)

Clean Architecture/Robert C. Martin

アンクル・ボブの「Clean」シリーズ第3弾。「クリーン・アーキテクチャ」については、 ずいぶん前に記事が書かれていて、ググるとそれなりにたくさんの言及があります。

私はこれ、知らなかったです。というか、もしかしたら絵を見たことぐらいはあったのかもしれないですが、この絵を見てもここに何か自分の認識を改めるようなエッセンスがあるかどうかって全然わからないので、特に興味を惹かれなかったんだと思います。

で、この本の結論としては、この記事に出ているこの同心円の図がゴールよってことなんですが、そこに至るまでの道のりが丁寧にきっちり書いてあるので、なんかすごく楽しく、納得もしました。

Clean_architecture_2 そもそもこれが同心円になっている理由なんですが、恐らくは古典的なWebの3層モデルとか、MVCアーキテクチャみたいなものがあったとして、その両端、つまりGUIとDBがいずれも最も外側のレイヤーに来るよというようなイメージから来ているんだと思います。

GUIもDBもI/Oなんだから、それが一番下層であり、上から下への1次元のレイヤー構造で書き表すことももちろんできると思うんですが、わざわざ同心円にしているのはその対比のせいですよね。で、この一番外側GUIやDBが来るのはいいんですが、フレームワークも実装の詳細なんだから、一番外にいるべきだと。むしろ、そうさせないフレームワーク(本書の中では「結婚を迫る」というような言われ方をしますが)はよろしくないと。

それらがぜーんぶ一番外の層に来た上での、上の図のCtrlの中を3つのレイヤーにするぜという話で、じゃあ、そこにアプリケーションがどんなビジネスを体現するかに依らないソフトウエアアーキテクチャとしての3つのレイヤーがあるんですよと言われると、「ほう、それはちょっとすぐには思いつかないっすな」って感じじゃないですか。

で、一番内側はエンティティ。ぱっと考えるとエンティティってデータのことなんで一番内側もデータで、一番外側もデータ。どーすんのって思います。

もちろん、ボブおじさんのいうエンティティは、最も高次元のビジネスルールとそれを体現するデータ構造のことなので、RDBのスキーマ構造とは違うもの。つまり、Railsのようにアプリケーション設計において最も根源的なものとしてのビジネスルールとデータを実装の詳細に過ぎないRDBのスキーマを使って表現してしまうようなアーキテクチャを強いるフレームワークは一番よろしくないものってことになります。

よろしくないとどうなるかというと、変更と保守とデプロイが難しくなるよと。ボブおじさんのいうアーキテクチャの役割は、それらに寄与するため(だけ)なので、逆にRailsはそれと何をトレードオフしたのかって話です。ま、そう言われればそうかな。

というわけで、(本書でももちろん言及されているとおり)このアーキテクチャはコストが高いです。あの同心円ではさっぱりイメージがつかめないと思いますが、本書で示されている典型的なJavaで構築されたWeb+DBシステムの構造はこうなります。

Clean_architecture2_2

かなーりリッチ。

<I>って書かれているのはInterfaceで、なんでこんなにやたら出てくるかと言えば、下位のレイヤーを上位のレイヤーは参照できないから。

例えば、DBアクセスで言えば「こんな構造のオブジェクトにデータ詰めてくれや」とユースケース層がData Access Interfaceを定義し、データアクセスをするコンポーネントがそれを実装して、DBから取ったデータを詰めて返すと。つまり、上位レイヤーをビルドするときに、下位のレイヤーをimportしないよと。そう出来て初めて、下位のレイヤーへの依存がなくなるわけです。

この方法を「依存関係逆転の原則」(DIP)と呼んでいて、この本を通じて、ひたすら何度も出てきます。要するに、DIPのDはDI(依存性注入)のDなわけです。SpringみたいなDIコンテナはお馴染みだし、仕組みも使い方も理解しているつもりですが、私はこのDIPという考え方を理解してはじめて存在意義と、ここでなんで"Dependency"という単語が使われているのか理解しました。はー、なるほどね。

で、とにかくモジュール(ソースファイルの単位ぐらいの意味)レベルでも、コンポーネントレベルでも、アーキテクチャを構成するレイヤーレベルでもDIP、DIP、DIPと何度も何度も出てきます。

そして、考えてみれば今こさえてるシステムでも全然できてないですわ。コントロールレイヤーとビジネスルールを形作るロジックのレイヤーとデータアクセスをするレイヤーとちゃんとレイヤー分割はしているけどDIPはまるっきり出来てないです。

しまいにはボブおじさんは「OOPの存在意義は、ポリモーフィズムを使ってDIPが簡単に実装できることだけだ」ぐらいのことを言い出します。でもまあ確かにコンポーネントを正しく分離するには依存関係がちゃんとしている必要があって、単なるユーティリティクラス以上のものをちゃんと交換可能にするためには、DIPされてないとダメだというのはまったくもってその通りです。

ただ、じゃあ本当にこの通りやるのか、こうならないフレームワークはだめなんかと言えば、それはケース・バイ・ケースってことになります。なんせこのアーキテクチャはコストが高いので。そこでバランスを取って何がベストか見極めるのがアーキテクトの仕事だし、そのベストはアプリケーションのライフステージによって変わるので、アーキテクトは常にコードを書きながら(このレベルで言うならば、コード書かないアーキテクトはあり得ない)、常に見極めていかなきゃならんわけです。

というわけで、ものすごく示唆に富み、なおかつ、読んでいて楽しい(ボブおじさんの昔話もいろいろ聞けるし)本です。そして、特にクラスを分割すべきかどうか、モジュールをどうまとめたら良いのかというレベルの設計方針に悩みを持っている人にお勧め。そのレベルの設計方針が積み上がって、最終的にはクリーン・アーキテクチャへたどり着くことになるからです。

| | Comments (0) | TrackBack (0)

スクラム現場ガイド -スクラムを始めてみたけどうまくいかない時に読む本-/Mitch Lacey

すでにテスト駆動開発(TDD)と並んで常識というレベルにまで普及したスクラム。少なくとも、思想的には普及しましたよね。

どのぐらい実践されているのかとか、どのぐらい成功裏にプロジェクトが完了しているのかとかは良くわかりませんけど、2018年にシステム開発のプロジェクトをしようとするならば、まず、スクラムが開発手法として選択肢に上がらないことはないでしょう。

とはいえ、です。私がスクラムマスターの研修を受けて思ったことは、「スクラムがきちんと出来るメンバーがそろったならば、スクラムじゃなくたってプロジェクトは上手くいくだろう」ということでした。それまでの開発手法は前提として、それなりの能力を持った開発者やリーダーが定められたプロセスをきちんと実行できるならば、プロジェクトはうまく進むのだとしていました。そのため、プロジェクトにトラブルが生じたら「何が出来ていないのか」ということがチェックされました。

で、よくよく考えてみるとそのプロセスというのは、「ちゃんとやる」ことがすごく難しいものでした。例えば、「要件はすべて明確にされる必要がある」とか「リスクは網羅的に把握されなくてはならない」とか。で、トラブったら「漏れてた」「網羅性に問題があった」と言われるわけですが、いや、「すべて」とか「網羅」とか、普通に無理でしょう。無理だったわけですよ、後から言うのは何とでも出来るけども。

それがスクラムになると、「プロジェクトを進める上で障害が必ずあります。チームはそれをみんなで解決しなくてはいけません」「チームには必ず改善すべき点があります。毎スプリント何かを改善していくことによりチームは向上します」となる。「○○をしろ」ではなく「ゴールを達成するために何をするのか考えて、ベストのことをやれ」になる。抽象度が一つ上がっていて、そのレベルでどう行動するのかのルールが決められたフレームワークがスクラムなので求められていることは難しいわけ。だから、開発者にとって魅力的なんだけども。

そんなスクラムなので、「こういう場合はどうしたらいいの?」というケースはけっこうあると思います。もちろん、スクラム自体はそれに答えてくれないケースも多いんだけど、そのようなケーススタディについていろいろ書いてあるのが、この本です。物語仕立てのケーススタディを読むのがけっこう楽しい。

こんなケースについて、ヒントが得られます。

  • プロジェクトを進めるのに必要なスキルを持つメンバーが集められなかった
  • まだ何も始めてないのにいつ出来るか報告しろと言われた
  • チームでいちばんのリーダーと、いちばん仕様を把握している人と、最も優秀なプログラマが同一人物なので、3つのロールを兼ねた
  • TDDや継続的デリバリーやペアプログラミングはスクラムのプラクティスではないのでやらない
  • 毎日デイリースクラムに遅刻する奴がいて、メンバーがキレた
  • 4週間のスプリントでスプリントバックログを消化しきれないので、5週間に伸ばしたい
  • チームの状態が悪く仕事が終わらないから、レトロスペクティヴをパスしたい
  • チームのスタープレイヤーが異動になった。それも、今日。
  • オフショア先の開発者をチームに入れろと言われた
  • プロジェクトをはじめたいが、プロダクトバックログが数百あって、スプリント1でどれをやればいいか決められない

まあ、あるあるっすなー。

というわけで、スクラムをやり始めたら直面するであろうあるあるについていろいろと検討している本です。具体的な手法や、思考のツールも満載ですし、ケーススタディを通じて「スクラムっぽい考え方」を理解できるというのも良い。語り口も軽やかで読みやすいです。良書ですねー。

| | Comments (0) | TrackBack (0)

より以前の記事一覧