システム開発のフロントローディング
製造業の世界には「フロントローディング」とか「コンカレントエンジニアリング」と呼ばれる考え方がある。設計段階から、製造(実装、施工)等の後工程で問題になることをあらかじめ考慮しておくことを言う。言葉で言うのは簡単だが、組織的な連係やツールの活用などクリアしておくべき課題は多い。しかし実践できれば開発期間も開発コストも確実に圧縮できる。
システム開発でフロントローディングを実践するとしたらどんな形になるのだろう。「基本設計情報がバンドルされたオープンソースなアプリケーション」が、その決め手になると筆者は考えている。ソースコードだけでなく基本設計情報も添付されているアプリケーションを「オープンパッケージ」と呼びたい。つまり、オープンパッケージは「オープンデザインでオープンソースなアプリケーション」だ。
オープンパッケージを用いた開発は次のような手順で進む。
1.適合度の高いオープンパッケージの選定
2.カスタマイズ方針の検討
3.カスタマイズ
4.導入
システムは最初の時点ですでに完成している。だから、ユーザ企業はシステムを実際に操作できるだけでなく、添付されているデータモデルや業務マニュアルといった基本設計情報にもとづいてカスタマイズ方針をじっくり検討できる。その結果にもとづいて、基本設計とソースコードとをコンカレントに修正したうえで導入する。カスタマイズの内容は必要に応じてオリジナルバージョンにフィードバックされ、パッケージの使い勝手がさらに向上する。まさに究極のフロントローディングだ。
この開発スタイルにおけるベンダーの関わり方は以前とまったく違ってくる。それは、オープンパッケージが次の2つの部分で出来ていることを理解すればわかりやすい。
オープンパッケージ
= オープンアプリケーション + オープンデザイン
少なくともこれらの一方に通じた技術者が、オープンパッケージを用いた開発に関わることになる。所属する組織の規模や知名度、それに所有資格とも関係なく、オープンパッケージへの個人的な関わりの深さが問われる。実際には、デザイン部分に通じた技術者と、アプリ部分に通じた技術者とがペアになった体制で進められることが多いだろうが、デザインとアプリの双方に通じていればたった1人でプロジェクトをまかなうことも可能だ。いずれにせよ、従来と比較すれば必要人員も工数も極端に少なく済むので、ユーザ企業も安上がりだし、開発者も専門家として直接契約できる。
もちろん、オープンパッケージが充実しても、すべての業種・業務に対応できるわけがない。だから、従来どおりの受託形式の案件も残り続けるし、商用パッケージが用無しになることもあり得ない。とはいえ、オープンパッケージは従来型の開発スタイルにも影響を及ぼすだろう。「あのオープンパッケージには載っているのに、なんでこの設計資料にはデータモデルが載ってないの?」なんてツッコミがベンダーに対してされるようになるかもしれない。
喜ばしいことになりそうだが、オープンパッケージの普及を漫然と待つだけでは能がない。だから自作することにした。当座の目標は「CONCEPTWARE/販売管理」にもとづくオープンパッケージのリリースだ。そのためにオープンソースの実装基盤を調べているのだが、良質なフレームワークがいろいろあって面白い。いい時代になったと思う。
| 固定リンク
この記事へのコメントは終了しました。
コメント
オープンなドキュメント、(オープンスペック?)で問題になりそうなのがそのファイル形式。MS-Officeなどの商用ベンダーの形式ではその意義が失われる。
テキスト形式あるいはHTML、PDFが候補となりそうだがテキストでは図表などの表現力に欠けるし、PDFでは再編集を行うためには元文書が必要だ。
というところでOpenOffice.orgや渡辺さんのXEADがその役割を担うのかな?
(ところでXEAD自体のメンテナンスは今のところ個人で続けられるのでしょうか?)
投稿: J | 2006.06.26 12:23
Jさん
べつに設計文書のデファクト化を狙っているわけではないのですが、私の提案する「オープンパッケージ」ではXEADはとても便利ですよね。XEADのソース公開も遅かれ早かれ必要だと考えています。
投稿: わたなべ | 2006.06.27 07:56