細貝俊夫『プログラマ主役型プロジェクトのススメ?』

今回が私の「礼」三部作の最後となる。
その前に、二つ、時事ネタ。
亀田、内藤、は、オンタイムでは見れなかった。やはり、内藤の早い段階での、鼻血が大きかったように見える。あれで、亀田は冷静になれた。内藤はくやしいだろうが、こういうリスクはあった。亀田のパンチ力を甘くみた面はあるのではないか。
亀田は昔から、ああいった、ガードを固めて、距離をとって、カウンターを狙うボクシングがうまかった。子供の頃から、親父によるスパルタで鍛えられた、パンチ力は、そういう地型を人々に感じさせてきた。長男は、もともと、それほど才能を感じさせるタイプではなかったが、弟思いの日頃の心がけが確実に、持続力となっている。今回見て、非常に首が太くなっていた。これによって、体幹が安定してきているのだろう。フットワークは少しずつ進歩している。弟の試合で、暴言をマイクで拾われ、恥をかいたが、それはフェアじゃない。現場は、常に、結果が全ての世界、である。その中で、彼は、下の階級で、壮絶な打ち合いの末、世界チャンプになっていた。それが、確実に、彼の自信の源となっていた。もっと尊敬されていい。
もう一つの時事ネタは、もちろん、トヨタのリコールである。いつものように、videonews.com で知ったのだが、これほど、深刻な事態だとは思わなかった(
詳しい内容は、例えば、

screenshot

)。メルセデスを始め、海外各社が、すでに、コメントを出しているが、「ありえない」、ということなのだ。ようするに、アクセルよりブレーキを優先させる、という基本中の基本、「フェイル・セーフ」ができていなかったという、「ありえない」ことだったのだ。
世界の消費者運動の始まりが、ラルフ・ネーダーによる、自動車安全問題であることは、この世界では、基本中の基本である。自動車はあまりにも象徴的なのだ。しかも、トヨタといえば、長年、日本を代表してきた企業である。これは、トヨタが馬脚を現したですませられる話ではない、世界からの日本そのものの総スカンに向かう可能性すらある。
しかし、なぜ、こんな事態になったのであろう。それは間違いなく、マスコミによる、チェック機能が落ちていることとしか言いようがない。長い間、マスコミの広告収入の大きい部分が、自動車関連であった。すると、マスコミにとって、大事なお客になる。どうしたって、厳しいチェックは記事にできない。
つまり、大事なことは、これが、システムだということだ。そういうふうに今の日本のビジネス・モデルが成り立っていること。むしろ、そういう視点をもつことなのだろう。
やっと、時事ネタが終わった。
掲題の本は、タイトルから分かるように、ちょっとニンマリとさせるものだ。著者は、こういうタイトルをつけておきながら、「そんなものは今だかつて、実現したことがないけど」と、おどけてみせる。
そういう意味では、この本に書いてあることは、最初から、最後まで、冗談のようなものだ。そもそも、現場は、そんなに単純ではない。具体的な問題に直面しているのであり、それに、どうやって答を与えるかは、常に、現場で判断される。
たとえば、

新ダウンサイジングノウハウ教科書―ポイント図解式

新ダウンサイジングノウハウ教科書―ポイント図解式

は、大変、広い視点から、バランスよく書いてありますが、問題は、こと現場において、どのような、開発手法が選択されるべきなのか、のはずです。しかし、この本は、その点は、(非常にリスキーだと言いながら)楽天的です。

とにかく、早く配ることを最優先に考えた分だけ、テスト期間の短縮などで品質面にしわ寄せされるということを覚悟します。逐次開始される新しいシステム・サービスの提供も、ユーザー側に、完成形ではなく、テスト用のシステムが配られ、自分たちがそれを使いながら、機能向上と、品質の向上を図っていると前向きにとらえます。
「新ダウンサイジングノウハウ教科書」

また、ドキュメンテーション(システム関連文書群)の考え方にも大きな変化が必要になります。ドキュメンテーションは、機能要件、基本設計書、詳細設計書、ユーザー・マニュアルなど、最小限のものに留めます。システムのドキュメンテーションをつくるのが目的ではなく、将来、システム保守のために、最低限必要なものをプログラムの中にメモ文で、日付、修正目的、修正作業の担当者氏名などをわかりやすく記録しながら、作業を単純化、効率化、共有化していきます。
「新ダウンサイジングノウハウ教科書」

なぜ、こんなに、さらっと書いただけで、平気でいられるのか。上記の記述は、明らかに、単純に「ウォーター・フロー開発」と言うだけとは、さまざまに違ったなにかを示唆しようとしているわけでしょう(長年動いていたシステムは、その経緯もわからないようなコードで埋め尽されている。そういったものと、どのように対せばいいのか)。
それは、掲題の本にしても、同じことです。言わば、こういうのは、「成功した」範例、にすぎない。あたりさわりがないから、「確実なこと」として、書けているわけですね。
ただ、私が、掲題の本を、さらっと読んだ範囲で、二つ、重要なことが書いてある。

そう考えると、プロジェクトは、壊れにくく、沈みにくい構造になっていなければなりません。ちょっとヒビが入ったら、そこから被害が拡大し、あっという間に海の藻くずになってしまうようではいけないのです。

プログラマがコーディング中に、ほんとうはこうなっていた方が、使い勝手がいいのになとか、品質が確かになるのにな、さらに効率がいいのにな、とか気がついた場合です。このときはプログラマが良いと思った方向に進むのがほんとうは良いのですが、外注の場合、契約上の問題があるので、そうはいきません。余計なことをするのも契約違反になります。また外注会社の管理者も、プログラマが勝手なことをするのを極度に警戒します。無用なトラブルを生むほか、工数上の目に見えない負荷がかかるからです。とにかく、プログラミングの世界は良かれと思ってやったことが裏目に出ることが多いので、外注プログラマは意外と堅苦しい環境におかれています。そこではプログラミングの創造性は厳しく抑制されているのです。

責任を与えられない立場の人間は、常に、自分の責任者の語ることに、耳をとぎすませています。そして、このように、彼らは常に抑制的です。助っ人ガイジンに、哀愁が漂うのは、日本プロ野球だけではありません。
ようするに、著者は、社員による「プログラマ主役型」を主張しているわけで(その方が会社にノウハウも蓄積する)、私も、賛成です。
しかし、最終的に私が言いたかったことは、こういうことではありません。そういったことの「最後」についてです。
未開部族において、臣下は、長い時間をかけて、獲得した、供物(くもつ)を、王様の前に、もってくる。それを、周りを囲む臣下たちは、固唾を飲んで、見守っている。ある、代表する臣下が、その供物を手に、王様の前に進み、その供物を持ち上げ、王様の目の前に掲げる。王様は、その供物を、手を差出し、受け取る。
臣下たちは、その様子を見ながら、自然と沸き上がる、興奮をどんどん抑えられなくなってくる。そして、王様がそれを受けとった瞬間、歓喜の表現が、体から、あふれだす。
なぜ、臣下は、この、なんでもない光景に、これほど、興奮しているのであろうか。
もちろん、そうである。
彼らは、この瞬間、この一瞬を、この祭の始まる、ずっとずっと、前から、イメージしていたのだ。そのイメージを心の中で何度も反芻しながら、毎日、その準備、その仕事をしてきた、そのイメージを隣において。はたして、どれだけの、年月が流れたであろう。
自分がやってきた毎日は、すべて、この一瞬のためのものだった。それが今目の前で展開されて、どうして、興奮せずにいられよう。
(もちろん、私は、これこそ、「礼」だと言いたいのだが、それは、蛇足である。)