協調モデリング作業

今回のお客様先にはすごくGoodな共同作業環境がありました。ひとつのPCに3台のモニターと4,5台のキーボードとマウスをつないで対面で作業できます。適宜役割を交代しながらモデリングとレビューを効率よく進めることが出来ました。接続されているモニターが25インチぐらいと巨大(AppleのMac用ディスプレイみたい)だったので広大なキャンバス上でモデリングが出来て非常に快適でした。スクロールが不要で全体と詳細が見渡せるというメリットは大きかったです。

モデリングやプログラミングの環境はこうでなきゃと思います。プログラマをタコ部屋に詰め込んで小さいノートPCを与えて作業をさせているようなプロジェクトはいっぱいありますが、いまや液晶モニターなんて人件費に比べると非常に安いので大量に導入してどんどん有効活用すべきだと思います。生産性や品質が数段向上するはずです。

今のOSやUMLモデルの複雑さからくる制約についても考えました。WindowsやMac OS X、GNOMEなどのデスクトップ環境は基本的にシングルユーザオペレーションを前提としているため、EAで3人ぐらいで共同作業していても、マウス、キーボードで分担するぐらいしか入力作業を分散できません。マスターファイルを分割する方式にしても、クラスや関連の修正によるインパクトが大きいため、なかなかコンカレントな作業が難しいです(複数人で作業する場合は、プロフェッショナル版ではなく、モデルの排他制御が可能なコーポレート版が必要なのだと思います)。クラスの仕様を一人が変えるということは、家を建てているときに大工の一人が、使われている釘の太さや角材の厚み(さらに土地の面積や重力法則まで)を一瞬で変更できてしまうことと一緒です(下手すると家が崩壊します)。

オージス総研からコラボレーション機能のあるUMLモデリングツールが発売されていますが、どんな感じなのでしょうか。使ったことがないので分かりませんけど。

複雑な構造を複数の人間で協調しながら作り上げていくためのツール/環境の実現方法を考えたいと思います。