日曜研究室 〜技術的な日常〜

技術的な観点から日常を綴ります

プログラムに潜む悪魔など居ない


   7月 13

プログラムに潜む悪魔など居ない

auケータイ「iida」の公式サイトがひどすぎる 働くモノニュース : 人生VIP職人ブログwww

プログラマといっても門戸は広いですから、コンピューターサイエンスのコの字も学んだ事の無い人が多いです。
こういう低品質なプログラムは表面化してないだけで、Web系に限らず全ての業界であると言っても過言ではないと思います。

「iida」の公式サイトの問題は素人にも分かりやすいですが、これはまさに氷山の一角で、
もっと特殊な状況で、誰でも簡単に気づく訳じゃないけど、発動すると甚大な被害を受けるような問題ってのが様々な業界の様々なプログラムに潜んでると考えるべきでしょう。
(まぁ、iidaの例も十分甚大な損害がすでに発生してると思います。AU側に。彼らがそれを可視化できるかどうかは分かりませんが。)

実際に僕がSIerやってた頃の先輩に、プログラムの不備で顧客の重要なデータを消失させてしまった人がいます。
その問題があった当時はバブルまっただ中らしかったので、会社も賠償金を支払ってくれたし、本人も窓際になるだけで済んだ訳ですが、
この不景気なご時世で同じ事やらかしたら、余裕でクビ、下手すると会社が倒産する場合もあるでしょう。
そして受注側の会社が賠償してくれなければ、発注側の会社にも多大な影響があるはずです。
賠償してくれたとしても、過ぎた時間は戻りません。

最近だとWebサービスの個人情報流出って問題もよくありますよね。
何年か前のワ○ール個人情報流出事件のシステム開発に関わった人と話したことがありますが、そのとき思ったのが「素人レベルだ」ということでした。
その人は経験年数もそこそこあって実際に「デキる人」という評価を内外からもらってた訳ですが、
ことWeb系については「セッション」も理解してないぐらいの素人でした。
SQLインジェクションという言葉も事件の後に知ったような感じでした。
そのワ○ールも未だに、サイト全体のアクセス数が個人でやってるWebサービスのアクセス数に遠く及ばない訳です。(Alexa調べ)
失った信頼を取り戻すのは大変ですよね。

あとヨドバシドットコムのリニューアル失敗問題とか。
あれって損害賠償とかどうなったんでしょうねぇ。
関係者に知り合いが居ないので分かりません。

ここで僕が言いたいのは、「プログラムってのは目に見える部分が全てじゃない」ということです。
これは成果物レベルでもコードレベルでもそうです。
目に見えない部分に具体的にどういった物があるかというのは、成果物レベルでは処理の速さ、コードレベルだと、「異常系」と呼ばれるやつが有名ですね。

「プログラムってのは目に見える部分が全てじゃない」という事を分かってない人たちは、とにかく見た目だけに値段を付けたがる訳です。
それ自体は仕方のないことだと思ってます。だって本人に見えない部分のコストを計算するのは無理ですから。
ただそうやって、発注され作られたプログラムは、作成側が自虐的ボランティア精神を発揮して無理でもしない限り、
「iida」サイトのように見た目は仕様を満たしててもクソ重くて本来の目的(プレミアムな体験を通した販促ですかね)を達成できませんし、
ワ○ールECサイトのように、異常なデータをきちんと処理できなくて(SQLインジェクション)個人情報を吐きだしてしまうわけです。

僕も実際、発注に2000万円かかった大規模なECサイトのシステムの修正の仕事をしたことがありますが、
そのサイトは機能も豊富で比較的新しい考え方で作られてたのですが、
異常系が一切作られてなかったんです。
URLについてるIDを書き換えるだけで他人の情報が見れる状態だったり、そういう最悪レベルの問題がごろごろしてました。
これは、「異常系」にお金がかかるということを理解できなかった発注側が値切った末にケンカ別れのようになってしまったのが原因だと聞いてます。

プログラム開発はコモディティ化すると同時に価格が下がっていきましたけど、
未だにコンピューターサイエンスをちゃんとやってる人は少ないままですし、大規模システムの運用の勘所を知ってる人も少ないままです。
その重要な人材の少なさを補うには、コストもしくは継続性しかないわけです。

コストで補うというのは、高くてもちゃんとやってくれるところに発注するという当たり前のことですね。
「ちゃんとやってくれるところ」の判断は難しいですが、「分かってる人」を味方に付けとけば良いと思います。
(ちょうど知り合いに「弁護士」がいると心強いように)
継続性で補うというのは、技術者を自社で雇ってしまうということです。
問題を未然に防ぐのは難易度が高いですが、問題が起きた(起きそうな)時に対処するのはそこまで難易度は高くないです。
手間はかかるかも知れませんが、取り返しのつかないことになるよりは遙かにマシです。
そしてそうしていくうちに、「問題を未然に防げる」人材に育っていくわけです。

プログラムは魔法でも打ち出の小槌でもないです。
手作りの精巧なからくりなんです。
良い物が欲しければ、もっと人にお金をかけるべきです。

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply









Spam protection by WP Captcha-Free