Project Storysystem

お客様のために、
EAIを自社開発せよ。

Scroll
  • 池田勇介 池田勇介 2001年新卒入社
    システム開発部
    プロジェクト・マネージャー
  • 梶山 啓 梶山 啓 2010年新卒入社
    システム開発部
    システムエンジニア
梶山 啓さんの肩越しに作業中のPC画面が見える写真

プロジェクト始動

UISでは、サービスのひとつとして、EAIサービスの提供を行っています。EAI(Enterprise Application Integration)とは、複数のシステム間のデータ連携を可能にする仕組みで、各システムの機能の呼び出しができるソフトウェア。このEAIサービスのエンジン部分では、これまで外部ツールを使用していましたが、メーカーサポートの終了という保守切れの問題や、毎年発生するライセンス料の値上げが課題となっていました。そこで、その課題を解決する方法として、EAIツールを自社で開発することを会社として決断。2020年7月から、池田、梶山ともう1名がプロジェクトメンバーとしてアサインされ、EAIツールの自社開発プロジェクトがスタートしました。

池田勇介さんがインタビューを受けている写真

ゼロからのスタート、
しかも納期が決まっている。

基本的にシステムを構築する際は、既存の技術を利用するケースが多いのですが、今回は、UISにとって未知の技術を使うという稀なケースでした。まずは、構想が実現可能なのかというところから始まったのです。プロジェクト・マネージャーの池田が、EAIを実現するためにどんな機能が必要なのか、ひとつひとつ洗い出すことから始まりました。そして、洗い出された情報を元に、それらの機能を実現に移すための技術を構想し、その技術検証を梶山が担当しました。現場をまとめる池田は、当時を振り返ってこう語っています。「本来であれば、経験値のある技術を使うため、すぐに設計に着手できるんです。しかし、今回は不明な点が多かったので、構想の段階から簡易的なシステムを作り、それがしっかりと連携して作動するのか、どんな組み合わせがいいのかを地道に検証しながらの作業になりました。ただし、納期が決まっていたため、進め方が非常に難しかったです。検証結果が出る前に、どうするかの決断をせざるを得ないことも度々ありましたね」。

梶山 啓さんがインタビューを受けている写真

使いやすさと耐久性が強化された
理想のEAIが誕生。

EAIのプログラミングを行った梶山は「外部のツールを使うと、不必要な機能も付いてくるんですが、今回は、お客様が必要とする機能だけを装備、実装しました。また、障害が起きた時の復旧にも注力して開発を試みました。EAIツールは、目に見えないところで動くシステムで、止まってしまうと、人間で例えるなら血液の流れが止まるくらいの重大な問題に繋がります。今までなら、一箇所、問題が起こるとすべてのシステムが止まってしまいましたが、他のシステムに影響を与えないように工夫しながら慎重に設計しました。さらに、システムの耐久性も強化し、より安定したサービスが提供できることも同時に目指したのです」と、成し遂げた業務への達成感が表情からも垣間見えました。
さらに、今後についても「この経験を活かして、例えば、外部ツールを使っているが、ライセンス料が高くて困っている、というお客様に対して良いご提案ができると思います。また、まったく新しい技術の知見を社内に蓄積ができたので、今後は新規のビジネス開発に繋げることにもチャレンジしていきたいですね」と次のビジョンを描いているようです。未知の技術と限られた時間に挑み、お客様の課題を的確にクリアしたメンバーたち。この経験を糧に、これからも、より質の高い製品、より良いサービスを提供するという挑戦を続けていきます。

システムエンジニア

システム開発の種類
  • スクラッチ開発(受託開発) お客様の要望に合わせてシステムを1から開発すること。オーダーメイド。
  • パッケージ開発 特定の業務や業種で汎用的に利用できる製品(パッケージシステム)を開発。また、そのシステムをお客様に合わせてカスタマイズして提供すること。
システム構築の流れ
  1. Step1 企画・要件定義 お客様から要望をヒアリングします。システムの機能や画面レベルで詳細な内容を決めていき、お客様への提案も行います。
  2. Step2 設計 要件定義で決定した内容を設計書にまとめます。画面の動きやレイアウト、登録機能などの処理の詳細などを設計・作成します。
  3. Step3 実装 設計書をもとにプログラミングを行い、システムの画面や機能の作成を行います。
  4. Step4 テスト 作ったプログラムが正しく作動するかをテストで確認。お客様が操作することを想定してシステム全体のテストを実施します。
  5. Step5 修正 テストを実施して不具合があれば随時プログラムの修正を行います。修正が終わったら、再度テストを行い完璧なものに仕上げます。
  6. Step6 リリース テストにすべて合格したら、作成したシステムのリリースを行います。
  7. Step7 メンテナンス リリースした後も正常にシステムが動いているかを管理します。不具合が発生したら直ちにプログラムの修正を行い対応します。