こんにちは、Hです。
いよいよ6月も終わりで一年の折り返し地点ですね。
みなさんは年初に立てた目標は順調に消化していますか?
さて、私が参画するプロジェクトですが
見積もりを行ったのもつかの間、画面要件をつめていくうちに
画面のデザインや文言など細かい部分での修正が入り続けています。
今回の見積もりに大きな影響はないものの、画面要件を詰めていくときには
まず大きな枠組み(画面共通化ルール)が必要だなと強く感じます。
今日はそんなお話です。
画面共通化って?
私たちが得意とするシステムはWebアプリケーションの形態をとる
業務(事務)システムもしくは一般コンシューマ向けシステムです。
当然のことながら、ユーザインタフェースとなる画面を作成することになります。
特に業務システムでは業務処理の実現に加えて
対象データを絞り込んだり、詳細な情報を照会したり、
一括処理をしたり、大量データをダウンロードしたりなど
業務を効率化するために画面デザイン・処理が大きなファクターとなります。
また画面デザインが固まってくるとユーザはイメージが
より鮮明になり、項目の配置や文言など細かい部分にまで
要求が発生するようになります。
そしてこのまま進めていくと、いつの間にか画面をまたがって
文言が揺らいでしまったり、同じ情報を表示しているのに
項目の配置が違ったりなどシステム全体を通した統一感が
損なわれることがよくあります。
システム全体を通した統一感があると、
最初はやや快適に感じないところも操作性や認識が
一致してくることでどの画面でも同じような操作をすることが可能になります。
最終的には「使いやすいシステム」ということにつながると思います。
このように揺れがちな画面デザインや操作性をあらかじめ統一するために
一定のルールを作成する作業が「画面共通化」になります。

どんなことを定義する
では具体的にどんなルールを定義するのでしょうか?
現在のプロジェクトでは下記の項目を定義しました。
・クライアントの環境
・画面分類
・画面レイアウト
・画面部品
・項目チェックルール
・エラー画面方針
それぞれの項目では下記の内容を決めていきます。
項目 | 定義内容 |
---|---|
クライアント環境 | クライアントで利用するOS・端末・画面の解像度を定義します。私たちのプロジェクトでは非機能要件項目として定義しました。 |
画面分類 | 画面のタイプを決めます。たとえば検索画面、一覧画面、詳細画面といった感じです。 |
画面レイアウト | 画面分類ごとのレイアウトを決めます。ヘッダー、フッター、メニュー、メッセージ領域、メイン領域などを定義します。 |
画面部品 | テキストボックス、カレンダーのような日付入力部品やグラフなどの再利用可能な画面部品のイメージや振る舞いを定義します。これらを各画面で指定して利用することができます。 |
チェックルール | 入力値に対するチェックルールを定義します。桁数や項目の型チェックなどもありますが、半角文字や全角文字といった場合、入力可能な文字範囲はどこかを定義しておくことでそのシステムで利用可能な文字を定義していくことができます。 |
エラー画面方針 | エラーが発生した時に表示するエラー画面、エラーメッセージの表示形式を定義します。 |
これ以外にもルールとして定められる事項はたくさんあります。
どこまでルール化するか、プロジェクトないし組織として決めておくと楽かもしれません。
ちなみに私たちのプロジェクトではデザインの共通化はデザインのタスクとして定義したのでここではあげていません。
それでもユーザは画面が大好きです
そうして決めた画面共通化ルールをもとに
ユーザとの画面要件を詰めていくわけですが
指針ができるというのが大きなメリットです。
ユーザ、特にその業務を担当する方は自分たちの業務を
いかに効率的、やりやすくするかが一番の関心ごとです。
そのためいろいろな発想をもって意見や指摘を上げてくると思います。
そういった声を聴いていると、業務に対する真摯な姿勢も伝わってきて
本当、この方はプロフェッショナルな意識をもって取り組んでいらっしゃるな
と感じてうれしくなることも多々あります。
ただ一方で開発を行うという観点では、許容できる範囲であれば
共通化ルールにのっとっていただき、システムとしての統一性を保つことで
開発コスト削減や保守性向上といったことにつながります。
ユーザにはそういったことも説明しながら、また一部はご了承いただきながら
最終的な画面の要件を決めていきます。その指針となるのが
この画面共通化ルールというわけです。
とはいえ、ユーザにとっては画面が唯一のインタフェースです。
画面を見始めると業務のいろいろなシーンが思い浮かび、
質問や指摘事項もより具体的に上がってきます。
そんな中で共通化ルールにそぐわないからといって
すべてを共通化ルールに則ってしまって業務効率化ができないということになったら
本末転倒です。
そのときは共通化ルールを一度見直すべきだと思います。
やっぱりユーザの業務の効率化に寄与することがシステム提供の大きな目的ですからね。
最後に
画面共通化という作業。
皆さんの現場でもそれぞれのやり方で取り組んでいると思います。
今回は下記の書籍やサイトなどを参考にして、私たちの現場でも
さらに取り組みを続けています。

ユーザとよりよく合意しながらいいシステム開発づくりをできる環境を整えていくのも
プロマネの大切な仕事ですね。
世の中のプロマネさん、お互いに頑張っていきましょう!