明らかに状況が変わってきている今日のプログラミングとは?

増19.V字モデルと新人

»

●今回の発端

 筆者は今まで誤解していたことが有りました。それは、V字モデル(引用:http://ja.wikipedia.org/wiki/V%E3%83%A2%E3%83%87%E3%83%AB)についてです。
Vmodelconcept3

 誤解していたこととは、「V字モデルは『基本設計⇔システムテスト』が頂点だと思っていた」ことです。自分が誤解していたから言うわけではないですが、案外、この件については皆そのように思っているのではないかと思います。

●誤解に気付いたきっかけ

 誤解に気付いたきっかけは、仕事でプログラムの修正に関する合意文書をお客さまと作っていたときのことでした。筆者は意気込んでUML 2.0のアクティビティ図を書き、最も上位の概略から説明しようとしました。

 しかし、「このような内容は、お客さんの関心事ではない」とばっさり切られてしまいました。そして、代わりに模範例として提示されたのは、いくつかの散文的で網羅されていないルールのような記述でした。もちろんそれが「ビジネスルール」とか「業務知識」とかで括られる内容だというのはすぐ分かりましたが、納得はいきませんでした。

 その後、「そのような内容が最も根本的だとしたら、V字モデルの2つの上は『基本設計⇔システムテスト』では変ではないか」と思い、「しめしめ、これでコラムに書く内容ができた。タイトルはさしずめ『V字モデルの2つの上』だろう。もっと別の何かが2つの上に来なければおかしいではないか!!」「よく最終テストになってから、聞いても居ない指摘がごっそり入り、費用が嵩むのは、『基本設計⇔システムテスト』が頂点だと思い込んでいるからではないか!!  これでコラムもう一本!!」とか思ったのですが、その直後Wikipediaの内容を見て、「早まったことをしなくて良かった」と思った次第です。

 『要求分析⇔受け入れテスト』がV字モデルの2つの頂点だとしたら、確かにお客さまとの合意文書でまず書くのは「ビジネスルール」とか「業務知識」とかで納得です。

●過去の経験を振り返って

 そう考えると、得心がいくことがありました。それは、初めて仕事に就いた新人の一部に共通した振る舞いです。

 筆者は受注ソフトのアプリケーションプログラマなので、もちろん最重要なものは「ビジネスルール」や「業務知識」です。ですから、新人にもそれを主に伝えることになります。しかし、すべての新人は判を押したように、それに対して「そんなことを聞きたいのではない!」「商用の現行システムなのだから、もっと基本的なことを教えるべきだ!」と、(ぼそっと)言って、こちらの言うことには耳を貸さないのが普通です。

 「ビジネスルール」や「業務知識」は、

  • どんなに他の知識が普及したとしても、こればかりはオープンにならない(ただし、「こことここを足してここに書き込め」程度の内容の「決めごと」なので、秘密にしたとしても人類に対する不義理だというものではありません)。
  • 少なからず、頭を下げて、気まずい思いをして得た知識であることも多い。
  • 隠しておいた方が古株にとって有利であるようなことでも、「属人的にならないように」との覚悟で教えている。

など、それらを新人のころに教えられるというのは、最高のもてなしで遇されたと解すべきものです。あーそれなのに、それなのに……。

 まぁ、そもそも、わけも分からずソフト開発に対して切磋琢磨せず、無目的に入ってきた大人の未経験者に何かアドバイスをして、ものになる人間ができると思う時点で傲慢(ごうまん)なのかもしれませんが、それにしても悔しい話です。

 その悔しい話ですが、それら新人も(筆者と同じように)V字モデルすなわち、システムの概略について、(筆者と同じような)誤解をしていたとしたら、たしかにつじつまが合います。要するにシステムの頂点とは『基本設計⇔システムテスト』だと思い込んでいるとしたら、です。

 第一、普通の業務ソフトで、そんな目の覚めるような「基本設計」があると思うのが間違いです。DevOpsなどを持ち出すまでもなく、システムは運用をできるようにするのが大前提で、それゆえ、プログラムはまず同じタイミングで行われる複数の動作の渾然一体(こんぜんいったい)の塊です。プログラムを「システム」として見たいのなら、いちいちスライシングしないとまったく見えないでしょう。毎回毎回、そのようなないものをねだるのは、合法的にサボろうとしているようにしか見えないのは年のせいでしょうか?

まぁ、今回はこんな所です。

●コラムのコメント欄の方針

 コメントに対し、当意即妙の回答を、それなりのタイミングでする自信がありません。

ですので、このコラムで、

  • わたしは基本的にコメントに答えない
  • コメントを書く人は、回答がない前提で議論を進めていただく

とさせていただきます。

Comment(3)

コメント

くわぢ

でも、なぜか“漏れていたどう考えても無くてはならない”
「ビジネスルール」や「業務知識」が見つかるのは、V字モデル
の下頂点**のみ**なんですよね。三頂点の定理と言ってもいい程、
これら地点のみで「ビジネスルール」や「業務知識」が検証され、
他の地点では、公理の様に扱われるんですよね。

なので、そこから導き出される系として、最下流の人間からの
質問と的確な回答の流れだけは絶対に切ってはいけない、
それを切ると、「ビジネスルール」や「業務知識」の健全な検証
が立ち枯れてしまう、ということなのでしょう。
そしてそれは、直感的にも正しく見えます。

コメントを投稿する