Googleプロジェクト管理：ユーザー受け入れテスト（UAT）

# はじめに

わたしが [Google プロジェクト管理:プロフェッショナル認定証で得られた素晴らしい体験][google]を、要点をまとめ小さく分割して、わかりやすく簡潔に紹介していきます。

興味があれば、ぜひ ***"Google プロジェクト管理:プロフェッショナル認定証"*** を受講してみてください。

[google]: https://qiita.com/mapami/items/317ae776a2268fd54c8f

https://jp.coursera.org/professional-certificates/google-project-management

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/dc97f9d2-8c30-5310-a190-3fb484c9c091.png" width="800">

# 顧客満足を測定する

お客様やユーザーが何を望んでいるかを知るには、彼らに聞くのが一番ですが、一人ひとりに電話をかけて文字通り聞くということではありません。それは、時間を有効に使えないかもしれません。幸いなことに、情報を効率化する方法がいくつかあります。

顧客やユーザーに対して、一連の調査やテストを実施するのです。一般的なものには、

- ***<font color="MediumVioletRed">フィードバック調査</font>***
- ***<font color="MediumVioletRed">ユーザー受け入れテスト(UAT)</font>***

があります。

# フィードバック調査

フィードバック調査は、ユーザーがあなたの製品の特徴で好きなもの、嫌いなものについてフィードバックを提供する調査です。このような調査は、人々が製品を気に入って理解しているかどうかを調べるために、発売前に設計しながら行うこともできますし、発売後にユーザー体験をさらに満足のいくものにしたい場合には、発売後に行うこともできます。

ユーザーはアンケートに答えて、どんな機能が好きか、あるいは嫌いか、どの部分が直感的で、どの部分が少し操作しにくいか、などのフィードバックを得ることができます。フィードバックが得られたら、まだ発売していない場合は発売に向けて準備し、すでに発売している場合は、もう一度製品に戻り、繰り返し開発を行います。

# ユーザー受け入れテスト(UAT)

広い意味では、ユーザー受け入れテストは、製品やソリューションがユーザーにとって機能することをビジネスが確認するためのテストです。UATは、合意された要件を満たし、期待される結果を提供する必要があります。

このテストは、通常、新しいプロセスや製品のユーザーのエンドツーエンドのエクスペリエンスを評価するために使用されます。

ユーザー受け入れテストは、製品開発の終了間際に行われるため、製品、ソフトウェア、またはサービス全体のユーザーエクスペリエンステストとして、非常に重要な役割を担っています。

:::note info
UATは、 "ベータテスト"　と呼ばれることもあります。
:::

### UATのアジェンダ

- まず、ユーザーを歓迎し、参加に感謝します。
- 製品を紹介します。これには、テストガイドラインの説明と製品の動作のデモンストレーションが含まれます。
- UATのテストケースを開始し、クリティカル・ユーザージャーニーを体験してもらいます。クリティカル・ユーザージャーニーとは、ユーザーが製品の中でタスクを達成するためにたどる一連のステップのことです。

ユーザーに製品のビジュアル表現やモックアップを見せたり、デモを体験してもらったりする必要があります。例えば、建築系のプロジェクトで、家庭内の電化製品やハードウェアをすべて交換する予定であれば、ユーザーにその内容を何らかの形でイメージしてもらう必要があります。これには、3Dモデル、デジタル設計図、サンプルなどが含まれます。

:::note info
UATのデモは、行動喚起に焦点を当てるべきです。
:::

### エッジケース

UATのプレゼンテーションとウォークスルーの間、ユーザーから全体的な経験についてのフィードバックを収集する必要があります。テストのこの部分で、ユーザーはエッジケースを特定するのを助けてくれるでしょう。

***<font color="MediumVioletRed">『エッジケースとは、元の要件では考慮されていなかった、稀にしか発生しない異常値のこと』</font>***

たとえば、ユーザーが1回のセッションで1000枚以上の写真をアップロードすることはほとんどないとわかっていながら、無制限に写真をアップロードできるアプリを作成したとします。実際に1回のアップロードで数千枚、数百万枚の写真をアップロードする人がいた場合、システムはどのように対処するのでしょうか。可能性は低いですが、ソフトウェアにとって致命的な事態になる可能性があります。

- エッジケースを特定した後、UATの最後のステップは、発見したことをまとめ、バグや問題を特定し、どの問題に最初に対処する必要があるのか優先順位をつけることです。
- 問題に対処し、次のステップを決定したら、ユーザー受入テストを終了し、結論を出します。

# アクセシビリティ

プロジェクトマネージャとして、プロジェクトがプロセスまたは製品に関連する場合は、最初からアクセシビリティを話題にすることが重要です。

アクセシブルな機能を製品に組み込むことが見落とされたり、プロジェクトの最終段階に残されたりすることがよくありますが、これは、発売の遅れや、最悪の場合、一部の人が使用できない製品といった深刻な事態につながる可能性があります。

- 開発者がアクセシビリティの要件に精通していることを最初に確認すること
- そうでない場合は、適切なリソースや専門家と連携させること

ユーザビリティ・テストには、可能な限り、 ***<font color="MediumBlue">さまざまな障害を持つテスター</font>*** を参加させ、少なくとも、アクセシビリティ・ガイドラインに準拠しているかどうか、製品をテストしてもらってください。

# UATの目的

- ***<font color="MediumVioletRed">実世界のシナリオにおいて、製品、サービス、またはプロセスが期待通りに動作していることを実証する。</font>***
- ***<font color="MediumVioletRed">製品、サービス、またはプロセスが意図したとおりに動作していることを示す。</font>***
- ***<font color="MediumVioletRed">プロジェクトが完了したと見なす前に、対処すべき問題を特定する。</font>***

UATは実世界の状況をシミュレートするため、テストプロセス中に機能が意図したとおりに動作すれば、製品、サービス、またはプロセスが発売されたときに正しく動作することをより確信することができるようになります。プロジェクトチームは、ユーザーが製品、サービス、またはプロセスをどのように操作するかについて、詳細な情報を収集することができます。

UATは、チームが次のような質問に答えるのに役立ちます。

- ユーザーはその目的と用途を認識しているか？
- ユーザーはどのように操作しているか？
- ユーザーは操作にどのくらい時間がかかるか？
- ユーザーはその機能をすべて理解しているか？
- その製品、サービス、またはプロセスは、誰にとってもアクセス可能か？

UATによって、プロジェクトチームは、ユーザーが製品、サービス、またはプロセスの使用感についてどのように感じているかについての情報を記録することもできます。テストを通じて、ユーザーはどのような感情を抱き、どのようなアイデンティティを持ち、どのような魅力があるのかを知ることができます。

# UATを実施する際のベストプラクティス

#### <font color="MediumBlue">受入基準を定義し、書き留める</font>
受け入れ基準とは、製品、サービス、またはプロセスが満たさなければならない、事前に確立された基準または要件のことです。テストする項目ごとに、これらの要件を書き出してください。例えば、あなたのプロジェクトが中小企業のための新しい従業員ハンドブックを作成することである場合、ハンドブックは、モバイルデバイスやデスクトップでアクセス可能なデジタルPDFでなければならないという受け入れ基準を設定することができます。

#### <font color="MediumBlue">テストする各項目のテストケースを作成します</font>
テストケースは、一連のステップとその期待される結果である。通常、製品、サービス、またはプロセスが想定通りに動作するかどうかを調べるために、ユーザが実行できる一連の動作で構成されます。従業員ハンドブックの例で続けると、ユーザーがハンドブックのPDFをクリックしてモバイルデバイスまたはデスクトップにダウンロードし、問題なくアクセスできることを確認するテストケースのプロセスを作成することができます。

#### <font color="MediumBlue">ユーザーの選定は慎重に</font>
製品、サービス、またはプロセスのエンドユーザーとなるユーザーを実際に選択することが重要です。

#### <font color="MediumBlue">ユーザーストーリーに基づいてUATスクリプトを作成する</font>
これらのスクリプトは、テストプロセスでユーザーに提供されます。ユーザーストーリーとは、エンドユーザーの視点から書かれた、機能に関する非公式かつ一般的な説明のことです。

#### <font color="MediumBlue">ユーザーとコミュニケーションをとり、期待することを伝える</font>
ユーザーに前もって準備をさせることができれば、テストプロセス中の質問、問題、遅れを少なくすることができます。

#### <font color="MediumBlue">UATのためのテスト環境を準備する</font>
ユーザーが適切な認証情報とアクセス権を持っていることを確認し、これらの認証情報が機能することを確認するために前もって試しておく。

#### <font color="MediumBlue">テストプロセスを通じてユーザーをガイドするために、ステップバイステップの計画を提供する</font>
ユーザーの注意を適切な場所に集中させるのに役立つ、明確でわかりやすい手順があると便利でしょう。この計画は、デジタル文書やスプレッドシートで作成し、事前にユーザーと共有することができます。

#### <font color="MediumBlue">メモを1つの文書にまとめ、発見された問題点を記録する</font>
計画に対応するデジタル・スプレッドシートやドキュメントを作成することができます。この文書には、テスト項目ごとに問題を追跡するための指定領域を設けることができ、各問題の深刻度に関するユーザーの意見も記載できます。これは、修正に優先順位をつけるのに役立ちます。

# UATによるフィードバックを管理する

UATの実施後、ユーザーからフィードバックが寄せられる。このフィードバックには、肯定的なコメント、バグレポート、変更要求が含まれる場合があります。プロジェクトマネージャは、フィードバックの種類に応じて、次のように対応することができます。

#### <font color="MediumBlue">バグや問題点</font>
UAT実施後、ユーザーはバグとして知られる技術的な問題や他の種類の問題を報告するかもしれません。これらの問題は、スプレッドシートや同等のシステムで追跡・監視し、どの問題を修正すべきか優先順位をつけることができます。

#### <font color="MediumBlue">変更要求</font>
UAT終了後、ユーザーから製品、サービス、プロセスに対する小さな変更が提案されることがあります。このようなタイプのリクエストや変更も管理し、優先順位をつける必要があります。リクエストの種類と量によっては、このデータを主要なステークホルダーと共有し、これらの新しいリクエストを実装するためにプロジェクトのタイムラインを調整する必要があるかもしれません。