koido Blog

XPerの日々

AILight Banner
AILight Blog

プロフィール

koido Blog

目次

Blog 利用状況

記事分類

過去の記事

タグ

怒れるユーザー

2月25日XMLコンソーシアムのユーザーシンポジウムに参加しました。

そこで、大手旅行代理店の方や大手メーカーの方がXMLについて、話をされていました。

そこで強く印象を受けたのが、ビジネスの速度に、システムが追随できないということ。

システム部は、すぐに「それを行うには、1年以上掛かります」と、ビジネスにブレーキを踏む。

それでも、期間どおりできたためしはない。基幹システムは、巨大で身動きができない。

苛立ちと怒りに、満ち溢れいてた、スピーチでした。

やはりキーワードは、「迅速、シンプル」。

アジャイルの流れは、ユーザーも望んでいると感じたシンポジウムでした。

投稿日時 : 2004年2月28日 1:04


コメントを追加

#  re: 怒れるユーザー 2004年3月1日 11:56 菊池

結構ありがちな問題として、規模意識の相違ってのが有るような気がします。

 たとえてみるなら「キャンペーンで使う1ヶ月動けば良いもの」をアドホックに組み込めない柔軟性の欠如がアジャイルを阻害している大きな要因だと思います。
 モノシリックな巨大システムの主要な設計欠陥だと思いますが、アドホックに組み込まれた物を基幹系で使えるかというのはまた別問題だったりしますし…
 柔軟性と堅牢さを兼ね備える設計論っていう物の必要性もありますが、その設計論を元にシステムを再設計するような事をしては期間も工数もかさんでしまうという二重の罠の構図。
 求められている物ははっきりしていても身動きが取れないシステムが大量にあるというのが実情ではないでしょうか。

#  re: 怒れるユーザー 2004年3月2日 0:04 小井土

菊池さんコメントありがとうございます。

基幹系に柔軟性が欠如している原因の大きな部分として非常にデータベースやプログラムの設計などで、非常に密な結合が多くの部分に含まれていることがあげられると思います。
これを壊さないように、無理な機能強化を行うことで、更に複雑さが増し、蟻地獄的な状態になり、少しでも変更すると、砂のように崩れてしまうことだと思います。

よく言われることですが、デザインパターンでも、リファクタリングでも、いかに依存度を低くするかということが大きな目標です。
したがって、答えの1つは明確な1つの目的を持ったクラスなりコンポーネントを組み合わせて、自立分散的なシステムを設計、構築することだと思います。
私にとってのシンプルなシステムとは、これのように設計構築されたものです。

#  re: 怒れるユーザー 2004年3月2日 10:46 菊池

>私にとってのシンプルなシステムとは、これのように設計構築されたものです。

 だと思うのですよ、しかし、実社会で稼動しているシステムには大きな比率で密結合なモノシリックアプリケーションが存在しています。
 この部分に属するシステムを持っている人達からはより柔軟なシステムへの欲求は高まっているのは確かです。
 しかし、この欲求を満たすのにシステムを再構築するという真似はインクリメンタルな開発の思想には適合してこないと思うのです。(当然、エンドユーザはその決断と同時に莫大な資金と工数を要求されてしまいます)
 既に出来上がっている巨大なモノシリックシステムを如何に疎結合なコンポーネントベースなシステムに変えていくか、リプレースの方法論を考える必要があるかなと思っています。

#  re: 怒れるユーザー 2004年3月2日 11:24 石野光仁

こんにちは、石野です。
#最近、優秀な相棒を抜き取られて つまらない日々を送っています。

私は難しいコンピュータ理論とかはわからないのですが、
システムを設計するときに、なるべく世の中の状態を
テーブルにしてもらうようにお願いしています。
時々、ユーザーの話を真に受けて、状態を無視した
設計をする場合があります。一番正しいのは、目に見えている
この世の中の状態であって、システムの状態ではないと考えています。
そうやって作っておけば、システム拡張の場合でも、
作成後のシステムを考えながら拡張するなんていう
面倒くさい方法をとらなくても、実作業で変化する状態を
追いかければ、修正箇所も修正作業も一発で想像できる
んですよね。

なんて、微妙な話ですよね。コンピュータ屋とは思えないぐらい、
感覚的な話ですね。

#こんな風にシステムを作っていたのも 遠い過去のお話。

#  re: 怒れるユーザー 2004年3月2日 23:54 小井土です。

菊池さん

>巨大なモノシリックシステムを如何に疎結合なコンポーネントベースなシステムに変えていくか、リプレースの方法論を考える必要があるかなと思っています。

大いに同感です。
ちょっと話が変わりますが。
私の経験上、インクリメンタルな開発で、問題になるのがテスト工数の増加です。
テスト工程が複数回に渡るので、どうしても同じテストを複数回行うことになります。
そこで、やはり自動テストが必要になります。
で、テスティングフレームワークや自動テストが重要になります。
モノシリックシステムは、ほとんど手動による人海戦術テストしかないことが多いく、これが方法論を考えるときのネックになると思います。
で、結論はないのが、トホホです。

石野さん
>目に見えているこの世の中の状態
これは、なかなか面白い視点だと思います。
難しいのは、開発の初期段階では、開発者が顧客のドメイン上での正しい状態を判断することがなかなか難しいことだと思います。
言い換えると、開発の初期段階では、開発者と顧客は、相手が何を言っているか十分理解することはほとんど無理っていうことだと思います。
石野さんの言う、感覚的な部分は、システムの開発がうまくいく、いかないということでは大切だと思います。

タイトル
名前
URL
コメント