7/6にトヨタ生産方式をソフトウェア開発に取り入れるという趣旨の研究会に行ってきました。この研究会では、発表の中心は事例紹介なのでアカデミックさに欠けますが、生々しい情報が得られます。そういう訳でちょくちょく参加しています。
今回は次のようなプログラムでした。
- 「開発現場からのご報告(大規模開発の問題点)」 山海一剛(オージス総研)
- 「モデル駆動開発のTPSソフト開発での有効性の事例紹介」 佐野建樹(日本電気) 上野宣孝(NEC情報システムズ) 猪狩錦光(NEC情報システムズ)
- 「アジャイル開発における分散的な設計実施の有効性」 藤井拓(オージス総研)
この中から面白いと思ったことを報告します。
■山海さん
某T社のあるプロジェクトでのソフトウェア開発の問題点が話題の中心でした。最も印象的だったのは管理の「見える化」の問題についてです。そのプロジェクトでは管理項目をポイント化していて「満点=ちゃんと管理した」というとになるらしいです。管理項目が管理すべき点を網羅していれば「満点=ちゃんと管理した」なのですが、現実的にはそんな管理項目は作れないため「満点≠ちゃんと管理した」です。それにも関わらず、管理者は満点を取ることだけを考えて行動し、部分最適に陥って失敗しているということでした。
ソフトウェア開発はまだまだ成熟していない分野なので「一人ひとりがちゃんと問題の本質を見極めて行動する」ことが重要だということです。いずれはソフトウェア開発の本質が明らかになって仕組みに従えばうまく行く時代がくるのでしょうが、まだまだ先ですね。
■NECの方々
会社全体のビジネスプロセスの変更にともなうサブシステムの修正に非常にコストがかかるという問題をMDAで解決したという話でした。具体的には、社内のビジネスプロセスをモデリングし、ビジネスプロセスとその実現方法を分離することで、ビジネスプロセスの変更がサブシステムに及ぼす影響を少なくできたということです。この試みが凄いのは、NECが持つほとんどのサブシステムを統合したところにあります。
NECではこの試みを支援するツールを作っていて、その紹介もありました。ビジネスプロセスを記述するツール(Visio)、ビジネスプロセスをUMLの拡張?で記述するツール(Eclipse Plugin)、ORマッピングツール(Eclipse Plugin)、画面仕様を記述するツール(Excel)など、なかなか面白そうな取り組みをしています。頼めば、使わせてくれるとのことでした。
話を聞く限りではT社とNECではかなり生産性に差があるように見えます。ソフトウェア開発という分野がまだまだ成熟していないということをよく反映しています。今なら生産性さえあれば大企業とも渡り合えます。みなさん、がんばりましょう。