忍者ブログ
プロフィール
メニュー
最新コメント
最新トラックバック
1  2  3  4  5  6  7  8 
 それまで順調に動いていたシステムが、突然ダウンしました。よくよく調べてみると、データベースの定義に余計なユニーク指定のあるのが原因でした。この手の話は良く聞きますが、何かのヒントを含んでいるように思えます。

 ベテラン技術者の曰く、データベース設計をした担当者は、ユニーク指定の意味が、指定のデータでレコードを一意に特定「できる」ことにあるのではなく、一切の重複データの存在を「許さない」ものであることを、理解していなかった。例えば、請求テーブルがあったとして、取引先と請求日を合わせれば、通常はまずユニークになるものです。しかし、そのようなものにユニーク指定すれば、何かの例外データ(例えば、移行データ)を遭って、たちまちアベンドしてしまいます。何よりも、わざわざユニーク指定する「意味」がありません。同じデータ項目の重複を許さない、そのことを、システムを強制終了させてでも貫徹させなければならない場合こそが、ユニーク属性の出番なわけです。
 話を法律に移して、業務提携の契約書を作る場面を考えます。この場合、取扱商品や営業地域が(放っておいても)現にこうなっている、ということは書く必要がありません。プレゼン資料などに、書きたければ書いても構いませんが、それだけの話です。契約書に書くべきは、取扱商品や営業地域の切り分けをして、(破りたくても)その切り分けは守らなければならない、という場合です。自社の主力である「○○端子」を提携先が扱ってもらっては困る、そのことを、裁判に訴えてでも貫徹させなければならない場合こそが、契約書の出番なわけです。こちらの方は、そうでなくても、契約書が無駄に長くなる以上の不都合はないかも知れませんが。
 言葉を換えれば、「世界がどうなっているか(As-Is)を記述する」ことは、ユニーク指定がそうであるのと同様に、契約書の役割ではありません。「世界がどうあるべきか(To-Be)を宣言する」ことが、ユニーク指定がそうであるのと同様に、契約書の役割です。

拍手[0回]

PR
author : ITS 
 ベンチャーに限らず、初め小さかった企業が成長していく過程には、様々な「テイクオフ」があります。外部から人を招き入れる、新たな店舗や工場に投資する...株式上場はテイクオフと言うより、一つの目標であるかも知れません。これらは、伝統的なヒト・モノ・カネに関するテイクオフですが、情報システムにも、どこかで乗り越えなければならないテイクオフがあります。

 今や、企業と呼べるほどの組織であれば、情報システムなしでは済みません。そこで、起業の際のゴタゴタの中、あるいはそれが一段落してから、必要に迫られて、ともかく業務を回すために、必要最小限のものを備えます。しかし、当初は必要最小限だったものが、やがて、メンテナンスを繰り返し、至れり尽くせりの「サボテン」システムに成長していきます。知り合いの技術者であれば無理も利くし、データ量も少ないし、セキュリティもそれほど気にしないから、それが出来てしまいます。
 しかし、次の二世代目の情報システムが必要になるほど成熟したころには、もはやそれは出来ません。普通の(しかし、無理のきかない)ベンダに、普通の(しかし、融通のきかない)開発手順で、普通の(しかし、初代より機能が低い)情報システムを開発してもらうしかありません。次のステップに進むはずの二世代目の開発が、一見すると後退であるかの様相を呈します。システム開発の過半数は、QCDの何れかに問題があると言いますが、このようになってしまった開発では、おそれらくQCDのすべてに問題を来たすでしょう。だからこそ、これを乗り切ることがテイクオフなのですが。

拍手[3回]

author : ITS 
 契約書のリーガルチェックの目的は、契約にまつわる法的リスクへの対応です。リスクとは、「有利になるかも知れないが、不利にもなり得る」という不確定性を言いますから、単純な有利/不利とは話が違います。よく、リーガルチェックの際に、「出来るだけウチに有利に」と言う人がいますが、本当にそれだけのことならリーガルチェックなど要らなくなりそうです。有利にするには、(売り手であれば)代金をうんと上げれば良いだけのことで、難しい理屈は何も要らないわけですから。

 もっとも、リスクの所在が有利/不利に影響を与える場合は、いくらでもあります。例えば、損害賠償の制限条項は、損害賠償を請求したり請求されたりという法的リスクに直結しますが、損害を発生させる事象が起きた場合の損害負担という経済的リスクを当事者間にいかに配分するかという問題ですから、リスクを押し付けた方が有利で、押し付けられた方が不利であるのは間違いありません。その意味では、上のような言い分にも、一理あると言えないこともありません。
 ただし、代金などの有利/不利と違うところは、将来どのような損害が生じるのか、しないのかは不定であって、しかも多くの場合、当事者はこれに影響を与えることができるところです。システム開発の失敗による損害であれば、これを回避するためにマネジメント活動を行うことができます。その意味で、より良くこれをコントロールできる者(例えば、ベンダ)にリスク負担させる方が良い、という理屈があり得ます。つまり、適切なリスク配分は、当事者双方が直面するかも知れない「負のパイ」を小さくするのです。そうすると、すべての負のパイを相手方に押し付けられるほど強い交渉力を持っていない当事者は、自らコントロールしやすいリスクを引き受けることと、相手方に自らがコントロールし易いリスクを引き受けてもらうことを引き換えにする、という取引が勘定に合うことでしょう。
 リーガルチェックの役割の一つは、そのような取引の可能性を提示することにあるわけです。

拍手[1回]

author : ITS 
 以下は、ある著作からの引用です。「できるかぎり立派に○○を確立することがわれわれの目的であるからこそ、われわれはその○○をできるかぎり厳格にテストしなければならないのであり、コトバを換えていえば、その○○の欠点を見出そうとし、それを反証しようと務めねばならない」、「われわれの最善の努力にもかかわらずそれを反証できないという場合にのみ、○○は厳格なテストに耐えたということができる」、「ある○○を裏づける諸事例を見出したということは、もしわれわれがその反証を見出そうと努めて失敗しているのでなければ、それが意味するものはきわめて少ない」...

 ここで「○○」には何が入るかと問われれば、IT関係者なら、「システム」などと答えたくなるところです(耳が痛いので、答えたくないかも知れませんが)。しかし、「反証」という言葉が少々余計なヒントになっているとおりで、正解は(科学上の)「理論」です。原文は、K.ポパーの「歴史主義の貧困」(久野・市井訳)からのもので、著者のいわゆる「科学的発見」論を敷衍した部分です(著作全体の論旨からは、やや傍論ですが)。
 ITの世界にも、テストはバグの無いことを示すためにあるのではなく、バグを抉り出すためにある、という趣旨の格言がありますが、それにしてもピッタリきます。都合の良いデータで、都合の良いオペレーションをすれば、見掛け上はうまく動く。しかし、厳しいテストに耐えていないから、それより遥かに厳しい実際の運用にはとても耐えられないシステム。趣味のプログラミングならともかく、プロ(似非でしょうが)の仕事でも、このようなものが少なからずあるのが現実です。
 これに対して額面どおりのプロであれば、バグを抉り出すために、計画的・段階的なテスト、テスト密度や障害密度といったメトリクス、開発者と検証者の分離など、それなりの担保を用意します。しかし、いくらこうした担保があっても、システムを徹底的に「反証」しようとする「最善の努力」がなければ、それも空念仏に終わってしまうでしょう。ポパーは、科学上の理論を「反証」する「最善の努力」の担保として、どのようなものを心に置いていたのでしょうか。

拍手[0回]

author : ITS 
 コンピュータ・チェスの世界では、既に10年前、IBMのディープブルーが当時世界チャンピオンのカスパロフ氏を打ち破り(盤外戦の故との話もありますが)、コンピュータ将棋でも、先日、米長元名人(現役は引退されていますが)に勝利しました。難しいと言われているコンピュータ囲碁でも、並みのアマチュアでは敵わないレベルにまで、格段の進歩を示しているようです。

 こうした状況は、「コンピュータ対人間」とか「機械対人間」という図式で語られがちです。しかし、機械が勝手にチェスや将棋を始めるわけもなく、その背後には創意工夫と苦心惨憺の末にゲーム・システムを創り上げた人間がいます。実際、最近の将棋や囲碁での進歩の裏には、新しいアルゴリズム上の応用があったと言いますし、ハード面でも並列処理の工夫が機械の利点を引き出しています。図式化して言うなら、「エンジニア対棋士」というところでしょう。
 さて、棋士よりコンピュータの方が強くなってしまった場合、ゲームの運命はどうなるのか、とは昔から(今も)問われる疑問です。チェスの場合、コンピュータに太刀打ちできなくなってからも何ら廃れることはなく、むしろ負けたカスパロフ氏自身が、棋士がコンピュータを参考にしながら指すという「アドバンスト・チェス」を主導し、より質の高いゲームを実現するという成果を挙げているようです。西洋式の合理的な割り切りとも言えますが、生身の人間の居場所が次第に狭められていく、ある不気味さを感じさせないわけではありません。少なくとも、棋士が命懸けで取り組んだ「棋理の追求」が(ここでも)コンピュータ経由になってしまうことに、味気なさを感じる向きはあるでしょう。
 法律の分野では、エキスパート・システムが一時期盛んに研究されていました。判決予測というようなものにはほど遠く、特定法令の特定条項への適用関係を推理するというレベルのものですが、その後さほどの進展はないようです。恐らく、ゲームよりも、自動翻訳よりも、難しく時間がかかるでしょうが、生身の裁判官が判断するよりも間違いがないシステムを作ることは、不可能ではないでしょう。ただ、それが客観的にいくら正しくても、それを使おうした途端、あの不気味さが前面に出てきます。それは、本当に正しいのかという検証不能に対する疑念であり、人間が背後に退いてしまったブラックボックスに人間の運命の(ほんのわずかな一端であれ)委ねることへの違和感でしょう。

拍手[0回]

author : ITS 
忍者ブログ | [PR]
 | PAGE TOP
write | reply | admin