予算管理システムよもやま話 ~レスポンスを重視する~

私が予算管理システムの導入を担当する場合、最も意識している点はレスポンスです。導入経験がまだ少ない頃、お客様からの要望を聞けば聞くほど、レスポンスがどんどん低下してしまい、使いにくいシステムになってしまった、という苦い経験があるからです。

(1)レスポンスが遅くなる原因

予算管理システムの多くは、Excel(もしくはExcelライクな)インターフェースを売りにしています。 Excelは大量データを高速処理することを目的としたツールではありません。想定を超える量のデータを表示したり、関数を設定すると、レスポンスは著しく低下します。

レスポンスが低下する原因は大きく以下の2点です。

  •  1画面(1ブック)に表示するデータ量が多い
  •  Excel関数が多く含まれる(特にSUM(SUMIF等)やVLOOKUP)

まず一点目の理由ですが、これは当然のことながら、Excelの各セルにDBから値を表示するわけですから、量が多くなれば、レスポンスは低下します。

二点目の理由は、多くのお客様はしっかりと意識されてはいませんが、Excelは画面上の制御や計算処理で関数を使用します。画面の要件が複雑になるほど、関数が飛躍的に増えていき、レスポンスの低下を招きます。

例)

  • 変更セルのセル書式を変更したい
  • ユーザごとの権限をもとに表示行や書式を変更したい
  • 製品が得意としない画面レイアウトになっている

(2)レスポンス低下を回避する方法

Excel1画面の表示件数を減らすorレスポンスに影響する要件を見直す のいずれかの対応を行います。前者に対しては、例えば、以下のような方法が考えられます。

  • 抽出条件を増やす
    ×年度、部門
    〇年度、部門、品目、得意先 etc.
  • ブックをシート単位に分割する
    ×1ブック内に複数シート(PL、販売明細、人員明細、投資明細 etc.)
    〇1シートずつに分割
  • 最大表示件数によって画面を分ける
    ×1フォーム (5000件表示用)
    〇2フォーム (1000件表示用 と 5000件表示用)

推奨はインプット画面でレスポンスを重視し、アウトプットは多少遅くても許容する、という考え方です。アウトプットは、全社串刺しで見れないと意味がない、複数のシナリオを比較してみたい等、多くのデータを組み合わせないと機能要件を満たせないため、レスポンスは多少犠牲にせざるを得ません。
一方でインプット画面の表示時間がかかる場合は、多くのストレスがかかりますから、これは解消しなければなりません。

それでも表示が遅い場合は、要件をそぎ落としていくしかありません。
そもそもの要件出しの際に、データ量が多そうな画面で、要件を提示する場合には、要件を実装しても、レスポンスに問題ないか、ベンダーに確認するのが良いでしょう。

(3)各工程で実施すべきアクション

システム導入を進める各工程において、レスポンスを低下させないためのアクションが必要になります。特に製品選定時に考慮されていないお客様が非常に多い印象を受けます。もちろん経営企画部や経理部では技術的な話は難しいと思いますが、そういった場合は、「画面の表示は10秒以内になるように設計して欲しい。対応可能か教えて欲しい。」とオーダーを出すだけでも、ベンダー側は考慮に入れた設計を行うはずですので、是非お伝え下さい。

プロセス 必要なアクション
製品選定 以下の事項を導入ベンダーに伝達する。回答が不明瞭な場合、カスタムデモの打診をする。
  • 性能要件
    性能値ではなく、レスポンス時間を伝達する
    例)画面表示 5秒以内、リスト表示 3秒以内 etc
  • 想定データ量
    全量だけでなく、主要画面の最大表示件数
  • 主要画面の要件概要
要件定義 プロトタイプを作成し、レスポンス時間の計測をベンダーに依頼する。
設計・テスト ベンダー側・受入側のテストで実際に想定されるデータ量でのテスト実施項目を計画する。

(4)最後に

いくら機能要件を満たしていても、レスポンスに課題がある場合には、実効性があるとは言えません。各工程(特に製品選定時)において、導入ベンダーにレスポンス要件を伝達し、適切な対応がされることを確認しながら進めていくことを推奨いたします。