dotkuwaの日記: 設計者と実装・テスト関係者
設計者は木のグラフで考えます。これは自然な事です。しかし、
設計者に関する歴史的観点からは、これには問題が生じます。
実際に動くプログラムは、木のグラフを超えた複雑さが
生じます。単に「ランダムなグラフ」と言ってしまうと、
大雑把過ぎるかもしれず、
そこまで、木と比べ、ランダムでも無いのかも知れませんが、
間違いなく、
・木よりはランダムな構造
です。これが歴史上、問題になります。
実装・テスト関係者が強い時代が有りました。 ー①
・要求が現在と比べ、格段に単純で、
・設計という事があまり確立していなかった
時代です。
とにかく物を作ってテストして合っているかを発注者
(=実装・テスト関係者)が判断するという、
究極のアジャイル全盛期だったと思います。
(現在の、アジャイルという概念は復古なのかも知れません。)
しかし、次第に設計という観点が確立してきた時代に ー②
移り変わって来ました。
・要求が必要の10倍、100倍になる様になり、複雑化し、
・設計(要求のコントロール)が求められ、
・発注者は、もはや実装・テスト関係者と同義では無くなり、
・設計を振興する為、設計を上流、実装・テストを下流とした
価値観を(今から考えると過度に)植え付け、
実装・テスト関係者はワーカーに過ぎないとの考えが一般的に
なった時代でした。
ちょうどバブル期で、実装・テスト関係者には金で黙らせ、
強力にその考えを推し進めました。
さらに、この考えは推し進められ、
・設計が完了すれば、実装もテストもいらない ー③
という考えが散見される時代になりました。
しかし、
・設計はテスト出来ない。テストできる「設計」は実装と同等か
それ以上の労力が必要で、しかも実装に比べて何の優位性も
作れなかった。どころか、かえって劣位にすらなった。
・テストが出来ない設計はバグだらけで、「仕様バグ」と
言った言葉も生まれた。
のが現状で、そうは行きませんでした。
そうは行かなかった理由が、
・実際に動く(テストできる)プログラムは、
木よりはランダムな構造 ー※
だったのだと思います。まさか、設計という「技法」が
・そこまで(システムの)対象への見方を単純化
(木のグラフより複雑な事をいっさい見ない・考えない・たどらない)
しているとは思ってもいませんでした。(最近気づきました。)
・なんであそこまで色々予見した資料を適時に提出出来る
んだろう?
と常々思っていましたが、タネは簡単でした。
もちろん、
・先のことはやってみなければ分からない
との信条を強く持つ、実装・テスト関係者の考えでは、
・お金を出す人の要求(必要なことの何10倍、何100倍を
必要だと言い張る)
をコントロールする事が出来ないので、
木のグラフで考え、単純化して予見可能性を得る事自体は、
正当です。
しかし問題は③の時代の考え方です。
圧倒的に動くプログラム、ひいてはテストをするのに
・見方の複雑さ
が足りないのです。
設計と実装・テストは両方必要です。要求が簡単で発注者も
実装・テスト関係者だった楽園(アジャイル)はもう無く、
垣間見ることの出来るそれは、疲れた頭が見せる死後の
世界に過ぎません。
設計と実装・テストは両方必要で、統合された組織
(アジャイルな組織)は無理だと自分は思います。
設計者と実装・テスト関係者 More ログイン