複数人で分担して作成する場合を対比して提示しましたが、その(筆者の中での)背景の説明がなされていませんでした。分担してプログラム(システム)を作る場合、全員が同じ仕事をするわけではありません。お客さんは、「なになにを満たすすべて」がうまくいくことを要求。上流工程の人は、それでは他人に伝わらないので、指示を出す形式(仕様書のような)に変換。下流工程の人は、「その指示を満たす特定の」実装を作成。テスト工程の人は、「その指示から正解値を実装と独立して得、その通りか調べる」。議論は企業秘密、それに対し、下流工程での議論は世の中にこれほどのことは類例を見ないというほどオープンで、インターネット上でいろいろな知識が得られると思います(ただ、実際、下流工程で作成されたアプリケーションソフトの結果は、上流工程以上での情報を含んでいるので、どうしても秘密になります)。実は、上流工程以上と下流工程は、うまくかみ合っていません。オブジェクトモデルと、リレーションモデルのミスマッチなんて屁でもないほどかみ合っていないです。設計書などで、何でこんなことを思いついたのか、下流工程の人間にはさっぱり分かりません(逆に、かみ合っているならば、とっくにプログラムの自動生成が可能だったはず)。かみ合っていないので、下流工程の人間は「気を利かせる」ことができない、下流工程の人間は自発的に「何が正しいか」を思い付くことができない、という状態になります。「なになにを満たすすべて」を知っていれば思いつきますが、それは企業秘密です(オープン化全盛の時代、そちらまでオープンにすれば済むじゃないかとも言えますが、さすがにそこをオープンにしてしまうと儲けのネタが無くなり、ITの会社にも発注してもらえなくなるので、さすがにそれは永久に無理だと思います)。少人数(しかも、上流工程以上に携わっている人間の数の方が少ない)の場合、上流工程の人がくたびれて、緊張が途切れた途端、急激に不具合が発生することがよくあります。●権限と逆問題1.←→2.、2.←→3.は順問題、逆問題の関係にあるかも知れません。1.→2.より1.←2が、2.→3.より2.←3.が困難だということになります。プログラムを読み解いて仕様を作成するというのはできなくはありませんが、逆問題であり、困難なので普通はしません。ITに関する費用が昔のようにじゃぼじゃぼ出なくなった今日では、したくてもできない問題です。時間をかければ(=お金をかければ)プログラミング分野の逆問題は、人間わざとして解けます(レガシープログラムの保守なんてそればかりでした(笑))。最近はお金がないので、原則として2.→3.の流れにするのが普通です。ここで、1つ、このコラムの前段落で言ったことと矛盾があるのではと思われるかも知れません。下流工程の人間は「気を利かせる」ことができない、下流工程の人間は自発的に「何が正しいか」を思いつくことが出来ないと言ったはずなのに、(2.←3.の様な)逆問題は、人間わざとして解けるというのは矛盾ではないかということです。それに、絡むキーワードが「権限」です。現在普通に行われているプログラム(システム)作成のプロセスでは、「文書」を作って承認を得るのが普通です。それに反して、苦労して「2.←3.」を解いても、(たとえ1字1句違わぬ大正解を導き出していたとしても)それは「正しい」ことではありません。大規模(複数人で分担して作る)の場合、「権限」を顕わにして「逆問題」を廃するのが、ソフトウェア工学の進歩の流れだと筆者は解釈しています。そわずプログラムを作成し、その結果、テストを作った以外の人間にそのテストを読み解かせる「逆問題」を強いる結果になる(のでは)という点ではないかと思えてきました(このことは今、思いついたので、『増14.“テストファースト”と言われて』には書いていません。本当に“テストファースト”を望むのなら設計者、それもアーキテクトクラスの設計者に言うべきというのは正しいと思います。ここで「上級の設計者に言え」と言ったのは、普通の設計者はビジネスルールの維持で手一杯で、さらなる技術的な要素の追加まで背負うことは不可能だろうからという、一種テクニカルな問題に過ぎません(上流工程の人間がくたびれると、前述の通り下流の人間も困るのです)。他意はありませんでした。した上で、テストファーストも、「権限」に沿い「逆問題」を避ける方向でやっていただくならば、幸甚至極です。今回はこんなところです。●コラムのコメント欄の方針コメントに対し、当意即妙の回答を、それなりのタイミングでする自信がありません。このコラムで、わたしは基本的にコメントに答えないコメントを書く人は、回答がない前提で議論を進めていただくとさせていただきます。名前を記憶しておくコメント:くわぢ初めてのPCはMZ-80Cでした。終わるまで」とか習わされました。あなたはどこ見ていますか?書籍「誰でも身につく!暗算力」を読んでみた。未成年者略取ムチャか?男気か?部下も立て続けに。利用規約ITmediaはアイティメディア株式会社の登録商標です。