誰でも開発できる「詳細設計」の作成は「正」か「悪」か?
誰でもプログラムが書けるように詳細設計を記述する方法は、つまり「DRY(Don't Repeat Yourself)」の原則に反しているのです。
この事に皆早く気付かなければならばい。
設計書は、何を行うべきかを「自然語」で記述するべきなのです。
でなければ、プログラムを2本つくるのと同じ事になってしまいます。
本当は、プログラムを自然語で記述するため、2.5本から3本記述していることと同じになるはずorz
そのため、開発はタイトになり、「とりあえず動きます」プログラムが横行します。
いつも時間におわれているため、悩むことが出来ず、動かす事が大事で、何故?などと考えている時間もないのです。
本来であれば、リファクタリングすべきプログラムも放置し、次々開発していく羽目になります。
その結果うまれるのが、保守性最悪のソースになるのです。
そうすると、「何故こんなにも保守しずらいプログラムばかりなのだ!」と怒りに言葉が震えんばかりに、ある答えを導き出します。。。
・「そうか!もっと設計書を細かく記述すれば、良いプログラムが出来るのだ! 間違いない!それでいいのだ!!!」
まさに負のスパイラルです。
もう一つの問題として、誰でも保守できるように開発スタイル(テンプレート形式)の開発も問題なのです。
誰でも保守できる開発スタイルは、全体の技術力を停滞させる(向上させない)負の面をもっています。
これは、上級者に足かせとなり、開発生産も極端に悪くなるでしょう。
初心者もテンプレートよろしく、業務に適合しなくてもコピペ形式で開発するため、開発効率が悪くなり、技術力も一切つきません。
大事な事なのでもう一度言います。時間に追われている初心者は、精神的に不安定になり、仕事は苦痛になってしまいます。
苦痛な事にモチベーションが上がる人はいないでしょう(もし、いたらあまりお近づきになりたくありませんが…^^;
今やるべきことは、設計書は「何を実現すべきか」を自然語で記述するに留め、実現方法はプログラムで表現する様に変えるべきなのです。
この方法では、初心者は開発出来ないではないか!と言う意見が聞こえてきそうですね。でも大丈夫です。
反DRY設計書の作成がなくなるため、上級者の時間に余裕が生まれます。
上級者は初心者の「ソース・レビュー」なり、「指導なり」をしてあげれば良いのです。
この方法は、間違いなく初心者の記述力の向上に役立ちます。
最後に、既存システムの追加要望(またはバグ修正)に、ソースを見ないで見積もりをしている方はいますか?
恐らく少ないはず … ^^; ← この理由が大事!!!