要点
計画コンポーネントやガントチャートコンポーネントを組み込む際は、まず役割分担を決めます。コンポーネントは時間・リソース・階層ビューを表示し、ブラウザ上で編集できるようにします。業務オブジェクト、権限、ダイアログ、データ保存は自社製品に残ります。自社開発と組み込みのどちらが適しているかは、実際のシナリオと現実的なデータ量による評価で分かります。
計画コンポーネントやガントチャートコンポーネントを自社のソフトウェアに組み込む場合は、まず役割分担を決めるべきです。コンポーネントは時間・リソース・階層ビューを表示し、ブラウザ上で編集できるようにします。一方、業務オブジェクト、権限、ダイアログ、データ保存は貴社の製品に残ります。自社開発と組み込みのどちらが適しているかを左右するのは、主に大規模ビューのデータ量、必要なインタラクション、アクセシビリティ、ローカライズ、長期的な保守工数、ライセンス条件です。この問いに確かな答えを出せるのは、貴社製品の実際のシナリオと現実的なデータ量を用いた検証です。
代表的な計画ビュー
計画コンポーネントは、業務を時間軸上または構造の中に表示します。Hawk IVO Schedulerでは、次の3つのビューが代表的です。
- 時間・リソース計画:リソース、シフト、設備を時間軸上に表示し、ドラッグで移動します。
- 階層:拠点、チーム、リソースからなる大規模な構造を、分かりやすく表示します。
- ガントチャートとカンバン:タスクやオーダーを、タイムバーやボードとして編集します。
貴社の製品にどのビューが必要かは、ユーザーが計画する対象と、ユーザーが見渡す必要のある期間によって決まります。
コンポーネントが担うことと、貴社の製品に残るもの
組み込みは、責任の分担が明確な場合にのみ機能します。Hawk IVO Schedulerでは、次のように分担します。
| タスク | 担当 |
|---|---|
| 時間・リソース・階層ビューの表示と編集 | 計画コンポーネント |
| ブラウザ上でのインタラクション | 計画コンポーネント |
| 業務オブジェクト(オーダー、シフト、設備など) | 貴社のホスト製品 |
| 権限とダイアログ | 貴社のホスト製品 |
| データ保存と業務データの主権 | 貴社のホスト製品 |
この分担には実務上の理由があります。ビュー上のバーは、貴社の製品がそのルールを把握しているオブジェクトを表しています。誰が変更してよいか、ダイアログでどの情報を入力させるか、変更がいつ有効に保存されたとみなされるか、といったルールです。これらの判断がホスト製品に残っていれば、ユーザーがフォームで作業しても計画ビューで作業しても、貴社の権限とビジネスルールはそのまま適用されます。そのため、アーキテクチャについては、貴社の製品がどのようにデータをコンポーネントに渡し、ビューでの変更がどのように貴社の業務ロジックに戻るのかを早い段階で明確にする必要があります。
自社開発か組み込みか:判断のための問い
シンプルなタイムラインであれば、限られた工数で実装できます。工数は、データ量、編集機能、そしてビューを保守し続ける年数に応じて増えていきます。どちらの方法も、同じ問いで比較できます。
- データ量と大規模ビュー:顧客が実際に使う最大のビューには、どれだけのオブジェクトが、どの期間にわたって表示されますか?読み込み時だけでなく、スクロール、ズーム、選択の際にも操作しやすさを保てますか?参考になるのは、貴社のデータと対象環境を使ったテストです。
- インタラクション:ユーザーにはどのような編集操作が必要ですか?たとえば、移動、期間の変更、別のリソースへの再割り当てなどです。貴社の業務ロジックが変更を拒否したことを、ビューはどのように表示しますか?
- アクセシビリティ:計画オブジェクトは、ドラッグ操作なしで、キーボードでも編集できますか?WCAG 2.2 (新しいタブで開きます)は、レベルAAで、ドラッグ操作を用いる機能について、ドラッグが本質的でない限り、ドラッグなしのシングルポインタでも操作できることを求めています(達成基準2.5.7)。表形式のビューのキーボード操作については、WAI-ARIA Authoring Practicesがグリッドパターン (新しいタブで開きます)を説明しており、すべての行が同時に読み込まれていない場合も対象になっています。
- ローカライズ:言語、日付と時刻の形式、週の始まり、文字の方向は、顧客の市場に合っていますか?ビューはタイムゾーンや夏時間の切り替えをどのように扱いますか?夏時間のある国では、切り替えをまたぐ夜勤は通常より短く、または長くなります。アプリケーション向けの指針は、W3C国際化ワーキンググループの草案 (新しいタブで開きます)にあります。
- 保守:新しいブラウザのバージョン、顧客からの新しい要件、不具合の修正に対して、誰がコンポーネントを保守しますか?自社開発では、自社の開発リソースが長期的に拘束されます。組み込みでは依存関係が生じるため、そのバージョンと既知の制約を把握しておく必要があります。
- ライセンス:どのような条件で、コンポーネントを自社製品に組み込んで顧客に提供できますか?サポートとアップデートはどのように規定されていますか?
計画ビューが小規模にとどまる場合や、計画ビュー自体が製品の中核である場合は、自社開発が適しています。ユーザーが大規模なビューと多くの編集操作を必要とし、製品の強みが業務ロジックにある場合は、組み込みの方が適しています。
評価の進め方
製品デモでは、コンポーネントに何ができるかが分かります。貴社の判断にとって重要なのは、貴社のシナリオでどのように機能するかです。Hawk IVO Schedulerでは、そのために次の3つのステップで進めます。
- シナリオを選ぶ:現実的なデータ量を伴う、貴社製品の具体的な計画シナリオ。
- 一緒に統合する:検証済みの最小構成サンプルで、組み込み方をご紹介します。
- 評価する:貴社の環境で、工数、操作性、パフォーマンスを評価していただきます。
その結果、貴社自身のデータに基づく評価が得られ、自社開発と組み込みを比較できるようになります。ライセンス、サポート、運用は、評価に基づいて取り決めます。
Hawk IVO Schedulerとその制約
Hawk IVO Schedulerは、時間・リソース・階層の計画をブラウザ上に表示する、組み込み可能なライブラリです。大規模な時間・リソース・階層ビューを可視化して編集でき、Hawk IVO ForceとHawk IVO Planで使用されています。貴社の製品はこのコンポーネントを組み込み、業務オブジェクト、権限、ダイアログ、データ保存を引き続き自ら管理します。
このライブラリは、業務データの主権を引き受けません。バージョン、対応フレームワーク、既知の制約については、技術的な打ち合わせでご説明します。データ量、対象環境、操作方法は製品ごとに異なるため、パフォーマンスについて確かなことが言えるのは、貴社のシナリオで検証してからです。
貴社の製品からエージェントにもタスクを渡したい場合に明確にすべき問いは、記事「エージェントを自社のソフトウェアに組み込む」で紹介しています。協業の詳細は、ソフトウェアベンダー向けのページをご覧ください。貴社の計画シナリオについてご相談をご希望の場合は、お問い合わせください。