Loading
|
@IT > 野村総合研究所のSIノウハウを凝縮、オブジェクトワークスで開発プロセスの標準化を強力に支援 |
|
システムのオープン化を背景に、ユーザーのニーズは多様化し、情報技術は複雑の度合いを増した。このような状況に対応しつつ、同時に、開発のスピードや生産性を高めるため、開発者にとって、「アプリケーション・フレームワーク」「開発フレームワーク」の存在感は非常に大きい。Webアプリケーション開発者にとって、フレームワークなしに開発の一歩を踏み出すことは、恐らくあり得ないことだろう。 しかしここに来て、システム開発を取り巻く環境変化に伴い、その役割も変化している。Webシステムの適用範囲の拡大、そして大規模な開発案件が増えるにつれて、これまでの開発の短期化、コスト削減だけではなく、大量の開発者のスキル維持、複数の開発ベンダのコントロール、中国やインドなどへのオフショアの活用など、もはやただ現場がフレームワークを活用することだけでは、生産性向上はもちろん開発品質の維持・管理が、非常に難しくなってきているのである。 そこで、開発を成功へと導くためのキーファクターとして最近クローズアップされてきているのが、開発現場をどのように統制していくか、ということだ。その中で、フレームワーク自体の役割が、開発者のためのツールから、開発プロジェクト統制のためのソリューションへと変化してきているのは確かである。このような背景から、フレームワークをベースに開発統制を効率的に行う、開発の標準化への取り組みが注目を集めている。 開発の標準化とは、 “現場の自由度”を制限(適正化)し、策定されたルールの下で開発の品質と、高度な開発生産性を維持していくための仕組みである。 このような考え方は、自動車製造の現場で行われている生産管理技術と比較すれば、簡単に理解できるだろう。自動車製造の現場では、複数車種の生産に耐えられる汎用的なラインの整備、部品のできる限りの共通化、現場作業者の作業手順の標準化などを徹底して行っている。しかしながら、多くのシステム開発現場では、このようなアプローチが導入されても、功を奏していない。なぜか? 最大の理由は、自動車製造に比べ、ソフトウェア開発は、開発者による作業の自由度が圧倒的に高いからである。 現在の複雑化したソフトウェア開発作業を標準化して統制する仕組みが構築できれば、超大規模開発や超短期開発といった厳しいニーズにも十分に対応できるようになるだろう。 その試みに対し、果敢に挑戦し成功を収めている企業がある。野村総合研究所(NRI)である。NRIは独自のアプローチでアプリケーション開発統制の具体的な対策を導き出し、独創的な手法を築き上げ、自社の受託するシステムインテグレーションに活用している。 そしてこの成功体験をソリューションとして提供しているのが、NRIナレッジの集大成である「開発技術マネジメント支援サービス」である。以下、NRIの取り組みと仕組みについて簡単に解説しよう。
NRIでは、アプリケーション構造を3層に分け、汎用性の高い部分は自社で開発したフレームワークを適用している。個別要件に依存する部分だけに開発者への自由度を与え、その自由度を適正化するために、開発ノウハウの可視化を実現する開発標準を策定する、というアプローチを取っている(図1)。 NRIはこれまで、ピーク時に数百人の開発者を投入した超大規模開発や、中国・インドを活用したオフショア開発、さらには要件定義からサービスインまでわずか2カ月程度という超短期開発など、実にさまざまな開発案件のマネジメントを行ってきた。NRIとの付き合いがなかった顧客指定の協力会社をマネージしながら、開発案件を成功に導いた経験もある。NRIの提案は、このような豊富な経験から導き出されたものなのだ。
3つのアプリケーション層のうち、汎用性の高い「プラットフォーム層」と「汎用機能層」は、開発基盤機能を提供するソフトウェア製品によって標準を確立する。NRIではそのための製品として「オブジェクトワークス」を自社開発し、活用している。この製品を活用することで、プラットフォーム層では、画面遷移処理、データ保持処理などをマイクロソフトのExcelやVisioといったドキュメントツールを用いた定義作業をすることによるノンプログラミング開発が可能になる。また汎用機能層では、プロパティ定義だけで「コネクション管理」「DBトランザクション制御」「例外ハンドリング」「ログ出力」などの汎用機能部品を利用できるようになる。 つまり、業務内容に左右されないこの2つの層をあらかじめ用意しておくことで、開発者のコーディング範囲を縮小化し、本来企業システムとしての付加価値の源泉である「業務機能層」のアプリケーションロジックに特化することができる。 その「業務機能層」においては、開発標準を適用することで、開発者の開発範囲をさらに限定していく。開発方法を明確化し、その遵守を徹底させることで、開発者のスキルに依存しない開発を実現するのだ。もちろん使用するソフトウェア部品の内部に手を加えることも不可能にする。これによってコードとドキュメントの不一致や想定外の障害といった問題を根本から解決し、開発者のスキルレベルに左右されない業務の本質に特化した効率的な開発環境を提供している。 そして、このプロジェクトノウハウを自社のSIプロジェクト以外に活用し、ユーザー企業やその情報子会社、SIerに支援サービスとして提供するのが、「開発技術マネジメント支援サービス」である。
「開発技術マネジメント支援サービス」は、このような自社のノウハウをサービス化したものである。オブジェクトワークスをベースとした、大きく3種類から構成される支援サービスの提供によって、ユーザー企業の開発標準化をサポートしている(図2)。 まず第1のサービスは「標準化策定支援」である。これは主として開発標準化担当者を対象にしたものであり、アプリケーション開発に必要な各種開発標準の提示や、ひな形アプリケーションの提供を行う。NRIではすでに数百のプロジェクトで開発標準化を行っており、このサービスで提供される開発標準は、NRIがこれまで行ってきた標準化のエッセンスといえるものだ。 第2のサービスは「標準化推進支援」。これは主としてプロジェクトリーダーを対象にしたものであり、各プロジェクト向けの標準化カスタマイズなどを行う。 そして第3のサービスが「標準化伝播支援」だ。これは開発担当者が開発標準を使いやすいようにするためのものであり、要員の教育やアプリケーション開発支援、開発環境構築支援などを行う。単に開発標準を提示して“これを守れ”と指示するだけでは、開発標準の遵守を徹底することは難しい。開発者自身に開発標準の意義を理解してもらうと共に、これを遵守しやすい環境を整えることで、標準への遵守を徹底するのである。
多くのIT部門は開発管理を“進捗(しんちょく)管理”や“課題管理”程度で済ませているが、システム開発を取り巻く環境が変化しているいま、これだけでは不十分となりつつある。工数と品質をきちんと管理するには、開発マネジメントをIT部門自らが行うべきなのだ。しかしながら、開発マネジメントをユーザー企業だけで行うのは、決して簡単なことではない。しかしこのようなサポートサービスをうまく活用すれば、短期間かつ低リスクでの実現が可能になるはずだ。
提供:株式会社 野村総合研究所
企画:アイティメディア 営業本部 制作:@IT 編集部 掲載内容有効期限:2006年7月22日 |
|