[事例研究] 株式会社クボタ

.PersonNTからPerson.NETへ


デジタルアドバンテージ
2002/01/16


 クボタは、本社機能のスリム化や部門への権限委譲を進める人事制度改革を2002年秋に予定している。さらに、給与計算や福利厚生業務を主体とする人事サービス機能を別会社化し、間接コストを圧縮しようという計画もある。そこでこれを機に、基盤技術のレベルから抜本的に人事システムを再構築することを決意した。「1つは、事業部門に対する大幅な権限委譲と、より自己完結的に課題解決を行う事業部運営体制に変革していこうという全社方針が決定されたこと。1つは、2002年秋の人事制度改革はかなり根本的な変更になり、システムもガラっと変える必要があること。そしてもう1つは、現在は人事部門にある給与計算と福利厚生部門を2002年春に別会社化しようという計画があること。これら複数の要因がまとまったことから、基盤技術からシステムを大きく変更するにはよいチャンスだと考えました」(クボタ 芝田敏行氏)。

 新しい人事情報システムの基盤技術として、クボタはMicrosoft .NETを選択し、システム開発から運用まで、すべてをマイクロソフト製品でまかなう予定である。.NETテクノロジをベースとすることから、新システムは「Person.NET」と命名された。しかし、なぜ人事情報システムに.NETだったのだろうか? 「既存のPersonNTの問題点を解消してくれる基盤技術として、Microsoft .NETについては以前から注目していました。Microsoft .NETのコア・テクノロジであるXML Webサービスは、XML/SOAPというオープンなインターフェイスを基にしており、事業本部間でのデータ連携がしやすくなると考えました。またXML Webサービスが次世代インターネットの基盤技術になるとすれば、同じしくみを使って、社外の関連会社や販売会社とも透過的にデータ交換ができるようになるかもしれません。その際には、人事制度も給与計算もまちまちなものを集中管理することも可能です。コンポーネント化を進め、共通のコンポーネントとカスタマイズが必要なコンポーネントを組み合わせることでこれに対処するのです。一足飛びにXML Webサービス環境に移行するのは現実的ではありませんが、.NET Frameworkでは、ASP .NETを使ったWebアプリケーションを作ることも可能です。まずは既存のPersonNTから、同等の機能をWebアプリケーションとして実現するところから始めることにしました」(クボタ 芝田敏行氏)。

.NETテクノロジを応用した新しい人事情報システム(Person.NET)
今回開発した新システムでは、人事情報システムをコンポーネント化し、それらを組み合わせて柔軟なシステムに対応できるようにした。また従来はホスト・コンピュータを使用していた給与計算処理もPCベースにダウンサイジングした。コア・テクノロジとしては最新のMicrosoft .NETを採用し、社外との連携や人事関連業務のアウトソーシングなども視野に入れ、将来のXML Webサービス応用をにらむ。

 マイクロソフトを選択した理由には、同社の早期導入プログラムや、コンサルティング・サービスを活用し、早期にシステムを安定稼働させたいという思惑があった。「現在マイクロソフトさんは、.NETの普及に全力を挙げています。開発環境などはまだベータ版ですが、充実した早期導入プログラムを利用可能でしたし、最先端のシステム開発技法に熟知したマイクロソフトの技術者に、一からシステム開発の手ほどきを受けられるチャンスというのは今しかないと思いました」(クボタ 芝田敏行氏)。

 しかしWebソリューションで先行しているJavaを採用するという選択肢はなかったのだろうか。Javaではなく登場間もない.NETを選択した背景には、情報システム開発企業もグループ内に抱えるクボタならではの目論見もあったようだ。「今回システム開発を担当するのは、クボタシステム開発という子会社です。これまでクボタシステム開発では、Javaを使ったシステム開発の経験があります。新しい.NETについても、早期にこれを調査、研究する必要があると考えていました。この点今回のプロジェクトは、マイクロソフトのコンサルティング・サービスを受けながら、.NETを応用したシステム開発を経験できる貴重なチャンスなのです。この過程で、最新のシステム開発手法やプログラミング・テクニックなどを会得したいという思惑もありました」(クボタ 芝田敏行氏)。

ビジネスロジックの分析、クラス設計ではUMLを初めて導入

クボタシステム開発株式会社
第一ソリューション事業部 第一コンサルテーショングループ
課長代理
伏見弘樹
「VB 6からVB .NETへの移行では、新しい知識も必要です。しかし開発環境の使い方や細かな言語仕様のレベルでは従来の知識やノウハウが生かせますので、開発言語としてはVB .NETを選択しました」

 小さなコンポーネントの集合体として人事システムを構成し、必要に応じてそれらのコンポーネントを組み合わせて処理しようというのが今回のシステムの基本的なアイデアである。従来は不可能だった人事データと他システムとの連携や、事業本部やグループ企業ごとで異なるニーズに柔軟に対応できるようにするためだ。しかしこれらを効率よく達成するためには、何をコンポーネントとしてひとまとまりにするかなど、オブジェクト指向分析/設計に対する正しい理解が欠かせない。これに失敗すると、臨機応変なコンポーネントの組み合わせやカスタマイズなどは困難になってしまう。新システムの開発を担当するクボタシステム開発も、従来は主にウォーターフォール型(計画、設計、コーディング、テストという時系列の段階を追って開発を進める手法)の開発手法をとっていた。これに対し今回の新人事システムの開発では、マイクロソフトのコンサルタントの勧めもあり、クラス分析と設計ではUML(Unified Modeling Language)を使用し、「設計→開発→評価」の工程を期間中に複数回繰り返す一種のスパイラル・モデル(マイクロソフトはMicrosoft Solutions Framework:MSFと呼んでいる)を採用することにした。.NETという最新の基盤技術を利用するということを含め、まずは2001年5月より、開発手法やクラス設計などに関するマイクロソフトの教育を受けることにした。そして一部の機能に限定して、新人事システムのプロトタイプ(パイロット・プログラム)を2001年12月までに完成させる。「5月から教育を受け始め、パイロット・プログラムの設計に入ったのは7月末からでした。この11月初旬の段階で、設計→コーディングの1回目が終わり、テストに入ろうとしているところです。11月中ごろまでには、2回の開発サイクルを完了する予定です」(クボタシステム開発 伏見弘樹氏)。

 「このパイロット・プログラムでは、基本人事情報管理や給与、賞与に関する一部の機能だけを実装します。最終的には昇給や退職金、年末調整、住宅融資など、すべての機能を実装し、2002年秋の人事制度改革に臨みます」(クボタ 芝田敏行氏)。

 新人事システムは、将来的なXML Webサービスの展開などもにらみつつ、当面はVBベースで開発されたクライアント・アプリケーションと同等の機能を、Webブラウザ(Internet Explorer)から利用可能なWebアプリケーションとして利用可能にするところから始める。「まず最初は、既存のPersonNTの機能をWebブラウザからアクセス可能にするために、ASP .NETを利用したWebアプリケーションを構築します。ここでは、VBのようなリッチなユーザー・インターフェイスをWebベースでも実装できるかどうかが1つのポイントになります」(クボタシステム開発 伏見弘樹氏)。

 「ブラウザを通して操作するために制限の大きいWebアプリケーションでは、ローカルのWindowsアプリケーションで実質的に何でもできるVBプログラムのようにリッチなインターフェイスを実装するのは難しいだろうと思います。最終的にはどこかで割り切る必要があるだろうと感じています。しかし最初からあきらめていたのでは、到達点を高めることはできません。Visual Studio .NETを使ったWebアプリケーション開発でどこまでできるのか、まずは現行システムと同等のユーザー・インターフェイスを実装するようにお願いしています」(クボタ 芝田敏行氏)。


 INDEX
  [事例研究]株式会社 クボタ
    1.ホスト・コンピュータからPersonNTへ
  2.PersonNTからPerson.NETへ
    3.Java経験者を含め幅広いプロジェクト・チームを編成。開発言語としてはVB .NETを採用
    4.デザインからプログラム・トレース、デバッグまでをトータルに扱えるVS .NETでのWebアプリケーション開発
      技術コラム: Visual Studio .NETによるWebアプリケーション開発


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間