今更ながら、朝の電車を待ちながら「はてな」という変な会社 (1/2) - ITmedia NEWSの記事にあるこの部分を思い出した。(リンク間違えてたので修正)

「スケジュールシステムを作れと言われると、サイボウズやYahoo!カレンダーを見て、みんなだいたい同じものを作る。でもそんなの、はてなでやる意味がない。サイボウズを使えばいいんだから」

これって、すらっと言ってるが、世のSEはみんなここに書かれた「意味ない」ことを正しいことだと思って暮らしている。曰く、「何百人もの人が設計して開発して、実際動いてるしくみがあるんだったら、それを真似るのが常識だと。先人が辿った道をお前らが一から考えるのは効率が悪いし、毎回産みの苦しみを経験してたんじゃ金と時間がいくらあっても足りんと。」僕も上司からそう教えられた。いわゆるベストプラクティス論というのだろうか。

恐らく大き目のシステム会社の大勢を占める考えじゃないかと思う。ちゃんと考えて整理したいと思うけど、企業のこの考え方によるSEの思考への呪縛はかなり大きい。考え方やアーキテクチャーを参考にすることで、効率化を図るってのは悪いことじゃないと思うし、ミクロなところでいうとプログラミングの定石とかJ2EEデザインパターンみたいにベストプラクティスを用いることが最善と言える部分もある。

僕らSEにとって厄介なのは、この先行事例重視の思想がプロジェクトのリスク判定に大きく影響していることだ。例えば同じ要件のシステムを開発するとして、片や先行事例での実現方法をベースに開発、片やゼロベースで設計する、と言う場合、開発を受託するシステム会社として、後者のプランのリスクは前者に比べてかなり高く判定されてしまう。リスクが高いと評価されると、リスク分を上乗せした価格で提案するか、ひどいときにはリスクを算出できないと言う理由で提案から降りざるをえないこともある。現場の技術者が目を輝かせてゼロベースの設計をやろうと意気込んだ矢先、先行事例がないと言う理由だけで、社内のレビュー部門からダメだしをされる、という光景が幾度となく繰り返されている気がする。もちろん自分も昔何度か悔しい思いをした。

だから?だからなんだろう?って気はするが。怖いのは、この記事を読むまで、そういう先行事例重視の考え方に疑問を持たなかった自分がいるということ。疑問を持たなかったというのは正確じゃないが、この世界では仕方がないことと諦めていた。ゼロベースで作るなんてしんどいし、どうせ高くなるから(他社に)勝てっこないよ。と決め付けていたということ。

はてなの近藤さんが言っているのはあくまで自社のサービスを自分たちで作る話をしているわけで、他社のサービスを請け負って作るときと前提の違いはある。恐らくSIerとしては、先行事例の有無によってリスク評価を左右するという考え方は正しそうだ。先行事例がない分、構築に伴うリスクは当然高まるから。

だけど、SEとして考えると先行事例に追随する能力しかない人間なんてまったく魅力がないな。