全1338文字

 システムは、コンピュータという仮想的な環境で稼働するのでイメージしづらいものです。例えば、「注文伝票の集計」という作業を考えてみましょう。(1)伝票に記載、(2)記載した金額を電卓で加算、(3)加算した結果を集計表に転記、という行為を、システムでは、(1)入力画面にデータを打ち込む、(2)集計ボタンを押す(見えないところで集計が行われる)、(3)集計結果が画面に表示される(見えないところでデータベースに結果が記録される)、という処理に置き換えます。人の目に見えない部分もあり、画面に「集計しました」と表示され「計算された」と認識しますが、本当のところは信じるしかありません。

 これは極めて簡単な例ですが、実際に携わるシステム開発は複雑なものになり、現実世界との乖離はさらに増大します。要するに、ユーザーはシステムを理解しづらいということです。このため、ユーザーがイメージしたものとはほど遠いシステムが出来上がってしまうことがよくあります。これを回避するために重要な能力が「イマジネーション力」です(図1)。

図1●イマジネーション力の必要性
図1●イマジネーション力の必要性
[画像のクリックで拡大表示]

ユーザーとのギャップを埋める

 最近のシステム開発は、要件定義の担当者と、開発者が分かれているケースもよくあります。要件定義書には、システム化する業務内容や処理内容だけが記載されている場合が多く、開発者は記載事実の背景や経緯を簡単には理解できません。このような情報だけで作ると、ユーザーのイメージとのギャップは大きくなります。

 このギャップを埋めるために開発現場では「要件定義書の記載内容が曖昧なので詳細に記載しよう」となったり、「要件定義書の詳細をユーザーにもチェックしてもらおう」となったりします。ユーザーからすると「ITの専門家ではないし、画面の遷移や初期状態について聞かれても分からない」となりがちです。また、詳細化すると要件定義書が膨大になり、詳細なチェックそのものが難しくなります。