« 配置図から非機能用件を類推する | トップページ | 【感想】第24回Ruby/Rails勉強会@関西 »

2008/03/13

日本のパッケージベンダーが駄目な理由

ひがさんのBlogを読んで、日本のパッケージベンダーが駄目な理由が垣間見えた気がした。

スルガ銀行のIBM提訴にみるパッケージビジネスの難しさ

SIerが自動車産業をまねしようとするのはいい加減やめなさい

日本のパッケージベンダーが駄目な理由は2つある。
一つは、パッケージそのものが変化に対応しきれないこと。
もう一つは、分業化しすぎて技術力そのものが劣化していること。

金融系の勘定系システムは、大手SIベンダーのメインフレーム上のパッケージ製品が多い。
だが、それは余りにも大きすぎて、誰も仕様も技術も全部は分からない。
パラメータTblに顧客ごとの値を設定してカスタマイズすれば、すぐにできると宣伝するが、実際は、顧客の要求に合わせていくうちに、元々のパッケージと似て似つかぬシステムになる。
品質も保守性もボロボロになるのがいつものパターン。

ソフトウェアプロダクトラインの発想がそんな難問を解決するように思ってきたが、実際は、コア資産となるライブラリを抽出し再利用する所まで持ち込めない。

ひがさんの言うとおり、薄いフレームワーク上で、一からスクラッチで開発する方が早くできる。

また、ひがさんが話すように、SIerが自動車産業を参考にするのは危険だ。
自動車産業は、マフラー、エンジン、タイヤなど多くの部品単位の会社に分業化され、その部品をJustInTimeで、トヨタなど一部の大企業がかき集めて、大量に製品を作る。

SIerが分業化すると、要件定義する会社、設計する会社、プログラミングする会社などのように分かれる。
だから、多重の下請け構造が発生し、コミュニケーションロスがプロジェクトマネジメントを阻害し、更には、元請が手配師しか脳のない集団になる。
プログラムをまともに書けない会社が牛耳ると言う皮肉な構造。

最悪な元請は、自社で開発したフレームワークを開発者に押し付ける。
特にパッケージベンダーがその例に当てはまる。

大手SIerのパッケージ製品は、自社で開発した独自のフレームワークで作っているケースが多い。
そのフレームワークは、作った当初は最新だったかもしれないが、3年も経てば時代にマッチしなくなる。
それらは、Seasarの根本思想であるDIやAspect、Railsが持つREST思想なんて反映しているわけがない。
開発プロセスも、メインフレーム時代のものをオープン系に置き換えただけのドキュメント駆動型に過ぎない場合が非常に多い。

プログラマはプロジェクト単位で常駐先を転々とするから、大手SIerのプロジェクトに携わるたびに、そのフレームワークを覚えなければならない。
技術者としては、オープンソースライブラリの方がはるかに使いやすいのに、低レベルなSIerのフレームワークのAPIを覚えるのが苦痛だ。
オープンソースのライブラリならば、どこに行っても通用するのに。

現代は、自社の内部でハードやライブラリを作りこむよりも、オープンソースをうまく使う方が実は品質もコストも良いと言う時代。

その体制を作り出すには、自社の技術者が常にオープンソースライブラリを調査して、その技術の先進性を見極めるという高度な能力を必要とする。
手配師だけの会社では成り立たない。

自社で全て自前で作れるだけの技術力とマネジメント力を持ち、更にオープンソースを研究し尽くすパワーがあること。
その2つが、日本のパッケージベンダーには決定的に欠けている。

|

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/49479/40480214

この記事へのトラックバック一覧です: 日本のパッケージベンダーが駄目な理由:

コメント

お久しぶりです、福本です。

おっしゃってる内容はなんとなく理解出来ますし、大筋でなるほどなーって思うところもあります。

>オープンソースのライブラリならば、どこに行っても通用するのに。
でも、一般論として語っちゃうには、これはちょっと乱暴かなーって思いますね。作る側の論理が強すぎるって言うか。

現場のエンジニアの質が常にあきぴーさんのように意識が高く、向上心もあって、スキルも高いような場合ばかりと言うような理想的な場合ならともかく、現在の現場のエンジニアの平均点を見比べると、顧客側がより優秀なエンジニアをヘビーウェイトライブラリー開発に注力して、現場のエンジニアをイチ作業員にしたくなるって事情も全く理解できないもんじゃ無いと思います。

長くなったので続きます。

投稿 ふくもと | 2008/03/13 10:12

極論しちゃえば、あきぴーさんの主張は、自動車工場で設計品質の非常に悪い車を無駄に作らされている、一部の例外的な超高技能の組み立て作業員たちが、本社の営業部門(顧客)は車の設計(技術)のこととか全然解らんくせに、設計部門(ヘビーフレームワーク作ってる会社)に仕事させるから、我々が苦労すんじゃーって言ってるのと非常に近いような・・・

こういう場合に、現場から最新式のNCマシンで部品から(一部のハイスキルの)俺らが作っていった方が、より高品質で短期間で出来るって言われても、ゴーサインは出ないんじゃないでしょうか?

なんて言うか、こういうのって現場の人間も経営視点を持って、費用対効果とかリスクマネージメントとか、もうちょっと汚い話をししちぇば自社製フレームワーク採用と言う事実が持つ対外的アピール効果とか、それらを同列に並べた上で、オープンソースを採用した方がメリットがあるってことを経営層に納得させられるプレゼンテーション能力が必要になるんじゃ無いかなーって思います。(品質を数値化して定量化するとか)

今の私が考えるソフトウェア開発の問題点は
・開発システムの肥大化
・ビジネススピードの高速化
・使えるエンジニア不足
・ソフトウェア開発の高度化(COBOL時代に比べて)

で(他にもあると思いますけど)
その問題を抱えた上(解消出来ないので)で、早く・安く・高品質で作り上げないといけないので、予算を計画する立場にある人たちは(ある筈も無い)銀の弾丸を探したくなるのやろなーって私は認識しています。

私はソフトウェアエンジニアの仕事しか知らないので、他の業界の大変さは解らないのですが、私も時々銀の弾丸落ちてないかなーって思っちゃいます。

投稿 ふくもと | 2008/03/13 10:32

◆ふくもとさん

ふくもとさんの意見も分かるけれど、やっぱり全部は同意できないです。
#僕も大手SIerのフレームワーク開発経験は長いので。

再利用を考えた巨大で機能満載のパッケージ製品のフレームワーク開発そのものがすごく無駄。

マンパワーで解決する手法は、おそらくかなり難しくなってきている。

一技術者として生活するのを考えると、会社に依存した技術は正直やりたくない。
他の会社で通用しないし、昨今では、いつ会社が潰れるか分からないから。

過激な意見かもしれないけど、結局、正攻法しか解決策はないのだと最近は思います。

投稿 あきぴー | 2008/03/13 22:03

コメントを書く