嫌われプログラミングの代弁者

「何で頭ごなしに嫌う人間が居るのか」を色々考える

V字モデルのおかしさ 2

合う・合わない

ソフトウェア開発は、時空を扱う自然科学とは違う系統の科学で、

  • 「きっと起こる」と信じるような観念、すなわち「信念」こそが、
  • ソフトウェア開発(コーディング開始後の相転移としての因果ダイアグラム)の本質だ

とすべきで、ウィトゲンシュタイン好みの名前の「一義的で明確」さを優先すべきであるか、私は非常に疑問に思います。

自然科学が(観測機器の未熟により)「新しもの好きのやる、あやふやなモノ」とされていた頃に主流だった哲学こそ、ソフトウェア開発に合う、取り上げるべきモノだと思います。

マッハやウィトゲンシュタインの哲学は、時空を扱う自然科学には向かいこそすれ、ソフトウェア開発の科学とは縁もゆかりも無い様に思います。

 

ただし、

ただし「信念」で全てが何とかなる世界では、そこではそこで、

  • 相容れない「信念」のどれかに統一出来るとは限らない
  • むしろ、実用的ソフトウェアでは、出来ない方が普通

では無いかと思います。「信念」が全てを支配する世界では、それによる争いが生まれるのは道理です。

 

因果ダイアグラムの上限付近の、

  • (要求分析の)どうとでも取れる『原因』から導き出される
  • 『結果』としての相容れない「信念」たちが、
  • 下限方向に向かっての、詳細化された新たな『原因』として鼎立(足の数は3本とは限らない)し、
  • 矛盾含みのまま、新たな『結果』をもたらし続ける

のが、ベクトルV字モデルでのソフトウェア開発となるに違いありません。*1

 

それにより、

それにより、当然、

  • 相容れない「信念」の帰着である所の負債が
  • 必ず生じる
  • 負債無しのソフトウェアシステムは動かない

となると思います。

  • 相容れない「信念」を統一すると、
  • 上限側の要求を満たせなくなる

のであるならば、負債を一掃すれば動かなくなって当然です。

 

誰がベクトルV字モデルでの因果ダイアグラムを書くのか?

設計側の人間だと思います。プロのプログラマーなら、自分が書いたプログラムが、

  • 何を『原因』としているのか?

明確に意識しているはずです。

それを吸い上げる文書が(今まで)無かっただけで、(本当に書けるのか不明な、永続的に使えて、変化にも対応する)テストを書けと言われるより、
よほど書きやすと思います。(もちろん別途料金は取られるとは思います。)

 

それらを集約して、因果ダイアグラムにするのは、当然設計側の人間になると思います。

始原の粒子が相互作用を起こして観測され、この世界が始まったのかも知れませんが、仕様がコーディングで観測され、相転移を起こして因果ダイアグラムになるのは自然だと思います。

 

結論

ベクトルV字モデルが一般化するまでは、これからも「V字モデルのおかしさ」でプログラミングが嫌いになる人は存在し続けることでしょう。 

 

 

 

*1:なお、因果ダイアグラムはコーディングの末、出来上がるモノで、「因果ダイアログを見てコーディングをする」のは無理だと思います。その辺は誤解なきよう! 単体テストより後の、各テストの為には使えると思います。