ユーザー要求を引き出すには,開発者中心からユーザー中心にシフトする必要がある。ユーザー要求を引き出すには,ユーザーがシステムを最もイメージできる操作マニュアルを使い,実際のユーザーに会えない場合は,仮のユーザーを設定するのが有効だ。

Part2
「UCD」でユーザー中心の視点に切り替える

 ユーザー要求を引き出すには,開発者中心からユーザー中心にシフトする必要がある。ユーザー要求を引き出すには,ユーザーがシステムを最もイメージできる操作マニュアルを使い,実際のユーザーに会えない場合は,仮のユーザーを設定するのが有効だ。

問題(3) 要求は何をベースに引き出す?
解決:操作マニュアルは実感しやすい

 ユーザー視点で要求定義を考え,ユーザーの使い勝手を最優先して要求定義を進めているのがスターロジックだ。「使い勝手だけでなく,開発の進め方やドキュメント,会話で使う用語に至るまで,自分がユーザーならどう受け取るだろうか,と開発者がとことん考えることが必要」(羽生氏)。

 同社は,要求定義では業務フローを,外部設計では画面/操作マニュアル/業務手順書をユーザーと合意する。

 羽生氏が考案したのがユーザー中心で業務分析を行うためのツール「マジカ*6」だ(図5)。忙しいユーザーが自分で自分の仕事を整理するためのカード群である。文章を短く書いてもらうための大きさであり,見た目も親しみやすく作るなど工夫している。「現場のユーザーは業務フロー全体など意識せず,その場のきっかけで発生した仕事を完了しようとするもの」(同氏)。

図5●ユーザー中心で要求定義と外部設計を進める工夫
図5●ユーザー中心で要求定義と外部設計を進める工夫
スターロジックは,ユーザー中心を心掛け,忙しいユーザーでも協力してもらえるように工夫を凝らした。例えば,業務フローはユーザーに記述してもらえるようにカード形式を考案。機能は,実際の操作をイメージできる操作マニュアルを先行作成して合意する
[画像のクリックで拡大表示]

 そのような行動パターンに合わせて,カードは仕事の起点と内容,完了条件に分けてある。業務フローは,ユーザーがカードを記入した後に,(主にSEが)つながり順に並べていくことで作成できる。「ユーザーは自分の仕事を自分の言葉で書いたので,レビューも抵抗が少ない」(同氏)。

 マジカは次の外部設計にスムーズにつながる仕掛けもある。それが,ユーザーがシステムに依頼する仕事を書き出す「しすてむカード」だ。このしすてむカードがシステムとユーザーのバウンダリ(境界線)になる。

操作マニュアル・ファースト

 羽生氏は,外部設計でもユーザーが理解し,イメージできることを最優先している。まず,しすてむカードからUIモックアップを作成。画面イメージを伝えることが目的で,データ項目,ボタンやリンクなどのアクション,画面遷移,エラー・メッセージの表示方法などをレビューしてもらう。

 次にUIモックアップごとに操作マニュアルを作成する。操作マニュアルは通常,開発工程の終盤で作成するものだが,羽生氏はこれを逆転して先に作成することにした。理由は,「システムの動きが分かる操作マニュアルを使うと,(以前使っていた)画面定義書での打ち合わせよりもユーザーとシステムの距離がぐっと近くなる。操作マニュアルをたたき台に“この画面で何がしたいですか”と要求を掘り下げる」(羽生氏)。ユーザーに分かりやすくするため,操作は簡潔に個条書きし,表示メッセージも具体的に記す。

 最後に操作マニュアルに記載したアクションごとに業務手順書を作成する。目的は,ユーザーにシステムの仕事内容をレビューしてもらうこと。「手作業でやるとしたらどうやりますか」といった質問を繰り返し,ユーザーの言葉で記述する。これはシステムの具体的な処理リストとなる*7

問題(4) 新規開発の要求のとらえ方は?
解決:ペルソナ法が有力

 日科技連(日本科学技術連盟)でUCD開発の研究会(2005年度ソフトウェア品質管理研究会 第4分科会 ソフトウェア・ユーザビリティ-人間中心のソフトウェア開発-)の主査を務める,ソシオメディア 代表取締役 篠原稔和氏は,「利用者の振る舞いがダイレクトにシステムの価値につながるWebシステムの増加に合わせるように,UCDへの注目が高まっている」と,時代の変化を実感している。

 同分科会にはインテック,NTTデータ,サイボウズ,東京海上日動システムズ,富士写真フイルムなど,インテグレータからユーザー企業の情報システム部門まで様々な立場の現場開発者が参加している。「ユーザビリティに課題はあるが具体的な解決プロセスが分からない」「利用ユーザーに直接会えない場合の要求定義方法が不明」「Webシステムをモニター調査したら多くの人が処理の最後まで行きつけなかった」などが参加の理由だ。

 ただ,日本におけるUCDへの取り組みはまだ日が浅い。篠原氏は「そもそも日本の開発者は業務フローと機能に注目しすぎだ。ユーザビリティやユーザーを中心に据える考えが欠けている」と,要求定義の問題点を指摘する。篠原氏によれば「UCDには多くの手法があるが,その中でも代表的な組み合わせは,作り上げた仮想ユーザー(ペルソナ)がシステムを利用する時の振る舞い(シナリオ)に沿って,紙ベースの画面でウォークスルーを実施しながら要求を定義する(ペーパー・プロトタイピング)」というものだ*8。2004年度,同研究会では上記の組み合わせでコミュニティ・サイトを模擬的に構築した(図6)。UCD実施後の要求定義書と,UCDを実施せずに作成した要求定義書を比べると,「実施後の方が業務機能の名称変更など,ユーザー視点での指摘が相次いだ」と,参加者は確かな手応えを感じている。

図6●仮想ユーザーの振る舞いを考えて要求定義を進める
図6●仮想ユーザーの振る舞いを考えて要求定義を進める
社内に閉じないWebシステム開発でユーザーの振る舞いをどうとらえるかという問題に,UCD(User Centered Design)を使う流れが出てきた。UCDの代表的な手法の一つは,具体的な氏名や性格を与えた代表的なユーザー(ペルソナ)を作り上げ,システム利用時の振る舞い(シナリオ)に沿って,紙ベースの画面でウォークスルーを実施しながら要求を定義する(ペーパー・プロトタイピング)──というものだ
[画像のクリックで拡大表示]