作り変えたい症候群
2007.09.14
設計から携わった開発者なら,多かれ少なかれ経験している感覚かも知れませんが,プログラムがある程度出来上がってきたり,動き始めたりすると,もう一度設計からやり直したくなることがあります。プログラムが動き出すと,設計のミスが見つかったり,変更すればもっとメンテナンスしやすくなる、と思い始めることも多いです。言語の選択を間違ったと思うこともあるかも知れません。簡単に言えば,もう一度同じことをすれば,今の自分の方が昔の自分よりうまくこなせると思っちゃうことでしょうね。僕もそう感じることがおおいです。後悔とも言えますが。
プロトタイプや実験的なものとして作ったのに,いつの間にか製品や納品物になっちゃったと言うことも現実の世界では聞く話です。そうしたものも、作り替えたい対象です。手放しちゃって,あとはメンテナンスする必用もなければ、忘れ去ることできるかも知れませんが,メンテナンスしないといけなくなると,文句をいいながらバグを直すことになるでしょう。
さて,設計をやり直したいと言う気持ちは凄く分りますが,やり直すべきではないと思っています。過去の自分より今の自分の方が経験をつんだ分,いいものが作れると言うのは,半分正しくて,半分錯覚です。最初からやり直すと,また同じバグや似たバグが発生するかも知れません。そうはならなくても、完璧な設計なんて出来ないので、別の問題が見つかるだけです。問題の箇所が移動しただけで、問題は根本からはなくなりません。
最初からやり直すんじゃなくって、少しづつ設計を変えていくしか良くなる方法はないと僕は信じています。オープンソースでも、時々次のバージョンは設計からやり直すという話を聞きます。その度に、気持ちは分りますが、やるべきじゃないと感じます。ほとんどのそういうプロジェクトは消えて言っているか、新しいものにだれも移行しようとしなかったり・・・。
でも、同じ人が設計から実装までやるのは良いことですが、プログラムをろくにかけないとか、書いたことがない人が、設計したつもりになって、実装を外注することについてはまた今度。
投稿者 : 大谷 弘喜 | 投稿日時 : 2007.09.14 12:03
あすなろBLOGのトラックバック・コメントは承認制になっています。
すぐにブログに反映されませんので、ご了承ください。






名前:井上2007年09月14日 18:45
セカンドシステム症候群、という言葉がありますが、結構、的を射ている気がします。まあ、最初のバージョンが「セカンドシステム的(考え過ぎバージョン)」なことも多々あるので、作りなおしがv3相当になることもあります。