新・闘わないプログラマ No.405

作りたがる


IT Proの「『日本の“作りたがる”文化がアプリ苦戦の理由』、オラクルのエリソンCEOが説明」という記事のタイトルを見て思ったことが一つ。記事自体は大したことは書いてませんし、エリソン氏が何を言おうとそれほど興味は無いのですが、「作りたがる文化」というところは、そうかもねえ、と思ったわけです。
この記事でエリソン氏が言ったこととはレベルが違うのでしょうけど「作りたがる文化」には、私も心当たりがありまくりです。

私が就職して最初にやった仕事というのが、ある会社のオンラインシステムのメンテナンス的な開発でした。今とは違って(と言うか銀行などの大規模なオンラインシステムでは今でもたいていそうですが)バカ高いメインフレームコンピュータを何台も使って、そこに端末(決してPCではない)をたくさんぶら下げて、処理は中央にあるメインフレームが全部行うような形態でした。
そこの仕事を始めてまずびっくりしたのが、なんでもかんでも自社開発にこだわることでした。通信のためのソフトから、オンラインアプリケーションの実行環境から、トランザクション処理やデータベースの仕組みまで、全部手作りて作っていたのです。当時使っていたメインフレームはIBM製でしたが、IBMには、こういうオンラインシステムを構築するための環境(今風に言えば「ミドルウェア」?)としてIMSやCICSといったものが既にあったのにも関わらず、上層部の「あんなものは信用できん」の鶴の一声で、使おうとするどころか、調査すら一切しない、という徹底ぶりでした。「そんなに信用できないなら、IBMのハードウェアだって使わなけりゃいいのに」などと、当時思ったりもしました。
で、そうやって自社開発されたものが「信用できる」「信頼性が高い」ものだったかというと、みんなでよってたかって修正を加えるものだから(自社開発しているから、自分のところで自由に修正できてしまう)、プログラム自体がスパゲティ化していて、トラブルも頻発していました。ドキュメントももちろん整備されておらず、先輩に弟子入りして秘伝を授けられる、という世界でした。

ただまあ、こういう大物なら、トラブルが発生したときの動きの早さから、自社開発にこだわる理由もまったく理解できないわけでは無かったのですが、それより驚いたのが、ユーティリティ・ツールの類まで自社開発にこだわっていたことです。
たとえばファイルをコピーしたり結合したりする、ファイルからある特定の条件のレコードを抜き出す、ファイルのダンプを作成する、といったファイル操作のようなものから、ソースファイル管理システムやデバッガの類の開発環境から、ファイル転送システム、そんなものまであくまで自社で開発しないと気が済まないような社風でした。
そんなに自社開発にこだわるのなら、OSだって自社開発にこだわってほしいなあ、などと、当時私は思ったりもしたものです。
で、ここで問題なのが、自社開発にこだわる理由です。一応、公には「他人の作ったものは信頼できないし、トラブルが起こったときの対処がすぐにできないから」ということになっていたのですが、それもどうやら後付けの理由なのです。設計や開発を行う人間が「既に使えるものがある」ということを知らない、というか知ろうともしないで、「○○という仕事をするプログラムが必要だ」→「じゃあ作ろう」となってしまっていたような感じです。

そういえば、ファイル転送プログラムの自作、というのは、その後もなぜか何度となく目にしました。これはなぜなんでしょう? そんなものわざわざ作らなくても、いくらでも使えそうなものがあるのに、と思ってしまいます。
数年前に目にしたのは、TCP/IP上でのファイル転送プログラムでした。それを作った人の自慢は、
「FTPなんかだとファイルをまとめて送れないじゃん。こんど○○システム用に作ったファイル転送プログラムは、ファイルをディレクトリ構造ごと送れるんだぜ」
いや、それだけならtarでも使って固めて送ればいいわけで……。
「今回のシステムは信頼性重視だから、出来合いのものは使えないんだよね」
いや、だからってTCP/IP上で独自のセッション管理やら再送処理やら入れなくたって……。
「でね、○○システムだけで使うのはもったいないから、売り出そうかと思ってるんだけど」
いや、無理です。

[前へ] [次へ]

[Home] [戻る]


mailto:lepton@amy.hi-ho.ne.jp