2002年2月21日  自社アプリケーションの開発について


ソフトウェアの開発を依頼する場合 何を根拠にソフトハウスを選定するか?これはコンピュータ業界の永遠の命題でもあります。
あなたは、自社アプリケーションの開発を任された情報システムの担当者だとします。当然、自分で開発はできませんので社外に委託開発をすることになるのですが さて 委託開発先をどのように選定したらいいのでしょうか?
1.「ネームバリューのしっかりしたNEC、IBMといった大手」
2.「とにかく安い見積りを出した所」
3.「担当SEの人柄」
4.「電波が届いた所 or 来た所」

1.「ネームバリューのしっかりしたNEC、IBMといった大手」と答えた貴方
たしかにごもっともです。しかしそういった大手が外注から集めた人員で構成されたプロジェクトチームをつれてくるかもしれません。

2.「とにかく安い所」と答えた貴方
即刻辞表を書きましょう。貴方のような人種が淘汰されない限り情報産業は成熟しません。そんな貴方に適した職種はズパリ公務員。

3.「担当SEの人柄」と答えた貴方
ある意味賢明と言えます。しかし・・・・どのソフトハウスにもスタープレーヤーが大抵1人は必ず居ます。技術的に他を抜きん出たそのソフトハウスの看板ともいえるような人がいて、そういったSEを受注折衝時のみ投入するのです。ただし、受注後にそのSEが担当するかどうか全く保証はありません。
逆を言うと 受注折衝時に連れて来るSEよりも優秀な人材はその会社にいない場合が多いい という事になります。受注折衝時にきたSEが技術的に?? な部分があったとしたらそのソフトハウスは止めておきましょう。ろくなことになりません。

4.「電波が届いた所 or 来た所」と答えた貴方
メールください  お友達になりましょう(笑)

冗談はさておき、実際問題として 1又は3と答える方が殆どだと思います。
ネームバリューのしっかりした大手ITベンダーであってもそこに勤めるSEやプログラマーが全員優秀とはかぎりません。ただはっきりしているのは単価が高いということだけで その単価に見合った能力を持っているかどうかは全く保証がありません。天才プログラマーK氏もそんな某大手メーカーから派遣されてきたスタッフでした。

自称天才プログラマーK氏の場合
あるプログラムでドツボにはまっていた彼は、かれこれ2日は同じ所で詰まっていた。見るに見かねて助け舟をだすことにしたのだがそのプログラムソースを見て 我が目を疑った

「私はN88BASICのソースをみているのか?」

と思うほどにベタなのである。
美しいはずのC言語をどうやってコーディングすればこれほど酷いことになるのか、これからこのプログラムをデバッグしないといけないのかと思うと目まいさえ覚える。だが こんなことで職務放棄をするわけにいかないのでバグリスト(ソース)と格闘する事 数分。(ちなみにこの数分間で私は1年分の忍耐を使い果たした)やっとバグの核心部分到達し、そこに不可解な暗号を発見した。

printf("%s"," ");

私:「このprintfは何?」
といいながら削除しようとすると プログラマーKは横から慌てて
K:「だ、ダメです それ削除するとハングするんです」(><) 
私:「・・・・・」


某大手メーカーから出向で来た自称天才プログラマーK氏には月額で約80万円を払っていた・・・・・

さらにこんな例も・・・
とある大手営業マンが「うちのソフトはWindowsフル対応です」と自慢げに言い放った。そしてそのデモ版を動かしてみると、DOSボックスが表示されその中にWindowsフル対応のアプリケーションが立ち上がった・・・・

またある大手SEがう「ちのソフトは1から作り直した完全にオリジナルですよ」と自慢下に言い放った。なぜか立ち上がるのはうちのソフトではなくマイクロソフトACCESSだった・・・・


プログラムの質=プログラマーの質

システムの質=担当SEの質
 + プログラムの質
バグ発生率= 開発人員数 /  システムの質

結局の所 最終的にはこういう式となる。企業の大小、優劣とは全く無関係な所でシステムの優劣は決定します。企業の差がでてくるのは外れを引いたときのバックアップ体制の差でしかありません。 最初から外れを引かなければ企業の大小、優劣は全く関係無いという事になります。
では外れを引かないようにすればどうすればよいのか? これははっきりいって運でしかありません。

「コンピュータの専門家=えらい人」という呪縛から逃れられないのが素人の辛い所。彼らだって受注に必死です。海千山千です。ウソも方便です。内容よりも見掛けで勝負してきます。とても立派なプレゼン資料を作成してきます。このような状況で彼らのウソを見抜けよう筈がありません。

ではどうすればよいのか?

実は、2以外の理由ならどれを選んでもそれほど大きな差はありません、問題なのは開発期間中に委託したソフトハウスとどう過ごしたかです。委託したから相手に任せっきりというのではなく一緒になってシステム構築をする姿勢が一番重要です。それには 自分もじっかりと勉強し、コンピュータの素人でなくなる事が必要です。そうすればいろいろな問題点や疑問点が見えてきます。委託したソフトハウスとの十分な情報交換が可能となります。

だから ○○産業さん もっと打合せに真面目に取り組んで下さい ><