ウォーターフォール開発の問題点

ウォーターフォール開発は変化に弱い

プロダクトが完成するまでユーザがプロダクトを使えないため、本当にユーザが欲しているプロダクトか確かめるのが難しい

現実世界は VUCA world

VUCA とは、先行きが不透明で、将来の予測が困難な状態を指します。

  • V(Volatility:変動性)
  • U(Uncertainty:不確実性)
  • C(Complexity:複雑性)
  • A(Ambiguity:曖昧性)

ユーザの要求は変化するのが常ですし、システム開発の始めからすべての要件をまとめるのはほぼ不可能です。

アジャイル開発とは

ウォーターフォールの問題点を踏まえ、IT 業界の先駆者たちが 2001 年にアジャイル開発宣言を行いました。

アジャイルソフトウェア開発宣言

アジャイル宣言の背後にある原則

スクラム

スクラムは約9割のアジャイル開発で使われる手法で、アジャイルとスクラムが同義語のように使われることもよくあります。

  • プロジェクトオーナー、スクラムマスター、開発者の3つの役割でシンプルな方法
  • 10人以内で適用可能
  • スクラムガイド
  • 歴史: 1980年代に野中郁次郎と竹内弘高が発表。1990年代にKen SchwaberとJeff Sutherlandがスクラムを定式化する。この二人は2001年のアジャイルソフトウェア開発宣言の共同執筆者

アジャイルは IT から始まりましたが、現在は IT に限らず様々な業界で使われる方法論となっています。アジャイルから最も遠いと思われそうな建設業界でさえ使われています。

アジャイル開発はその性質上、請負契約ではなく準委任契約が向いています。

--

--

Flutter は iOS, Android, Web アプリの同時開発が可能で、個別に開発するより効率が大幅に上昇します。しかし、とくに Web では Flutter を採用しにくい状況もあります。以下の条件が当てはまるなら、Web では Flutter 以外を採用するのが良いかもしれません。

● SEO が必要な場合

シングルページアプリケーション全般に言えることですが、検索エンジンのボットに対してページの内容を出力するのが難しいため SEO には向きません。

● タブキーを用いて IME の決定が必要な場合

2021年11月現在、IME の決定をタブキーで行えません。

● ページの印刷が必要な場合

ブラウザの印刷機能を使うと、スクリーンショットのように見えている部分だけしか印刷できません。印刷が必要なページがある場合、別途 PDF を出力する機能を開発する必要があります。

Flutter が用いている言語の Dart は Null Safety もあり、とても使いやすい言語です。上記の条件に当てはまらない場合、Flutter を使うメリットがデメリットを上回るでしょう。

--

--

ユーザビリティテストとは、使いやすさのテストです。実際のユーザにプロトタイプを触ってもらい、使い方が直感的にわかるかどうかをテストします。

Figma にはユーザビリティテストのための仕組みが備わっています。テストしてくれるユーザにリンクを送り、開いてもらうと、ユーザが見ている画面を確認できます。

ユーザビリティテストの行い方

● 年齢、職業、性別等が異なるユーザを5人程度選びます。

● ユーザ自身のテストしているのではなく、プロダクトの使い勝手を調べていることを述べて、安心させます。

● 録画、録音が可能か尋ねます。もし可能であれば、後からユーザビリティテスト結果を解析するのに役立ちます。

● 必要なら NDA へのサインをお願いします。

● ある操作をするようユーザにお願いし、戸惑うことなく操作できるかどうか観察します。

● 自分が感じていることを声に出すようユーザにお願いします。

● 操作が終わった後、「わかりやすかったですか?わかりにくかったですか?」と尋ね、感想を聞きます。

● 15 分程度で終わるようにします。

ユーザビリティテストの結果に基づき、プロトタイプを改善します。

--

--

● ワイヤフレーム

紙と鉛筆を使ってワイヤフレームを作成します。

上の画像にあるように、詳細な文章を書かずに、おおまかなつくりだけを書きます。そうすることにより、手間をかけずに何度も書き換えることができます。文章を横棒、画像をバツ印で省略します。ボタンの文字のような重要な部分だけ文字を記述します。

--

--

ペルソナ、ユーザジャーニーマップ、ユーザストーリーを作ったなら、画面設計に入ります。

● 画面

ブレインストーミングでユーザの問題を解決する方策をできる限りたくさん出します。ポイントは、質より量です。

クレイジーエイトというブレインストーミングの手法を活用できます。A4 用紙を 3 回半分に折り、8 つの部分に分けます。タイマーを 8 分にセットします。8 つの部分それぞれにトップ画面のアイデアを書きます。一つの部分にかけられる時間は 1 分です。時間を短くすることによって、たくさんのアイデアを出すことができます。8 分後、それぞれのアイデアを見て良い部分に印をつけます。印のついた部分を組み合わせたトップ画面を書き上げます。クレイジーエイトを全画面に対して行います。

● 情報アーキテクチャ (Information Architecture)

全画面をどのように構造化するか考えます。

--

--

ユーザジャーニーマップを作成する

ユーザジャーニーマップ (user journey map) とは,ユーザが目的を達成するためにとる一連の行動のことです。

ユーザジャーニーマップの作り方

① ユーザが目的を達成するために必要なステップを書き出します。

② それぞれのステップにおいて,次のステップに進むために必要なタスクを書きます。

③ それぞれのステップにおいて,ユーザの感じるであろう感情を書きます。

④ それぞれのステップにおいて,改善できる点を書きます。

ユーザジャーニーマップを作るとどんな利点があるでしょうか?

◎ ユーザが障害なくスムーズにプロダクトを扱う流れを作成するのに役立ちます。

◎ これまで気づかなかった痛点を見つけ,改善を図れます。

◎ デザイナの思い込みを減らすことができます。

--

--

ペルソナを作成する

ユーザの気持ちにさらに近づくため,ペルソナを作成します。

ペルソナ (personas) とは,ユーザグループの必要を代表する想像上のユーザです。ユーザグループ (user group) とは,似た関心,目標,問題を持つ人たちの集合のことです。

ペルソナの特徴は,すべて調査に基づいて考えます。デザイナの考えで決めてはいけません。ユーザグループごとにペルソナを作ります。

ペルソナの作り方

代表するユーザグループ

特徴。顔,名前,年齢,教育,住所,家族構成,職業など。

行いたいこと

困っていること

キャッチフレーズ

ペルソナを作ることにはどんな利点があるのでしょうか?

◎ 感情移入が容易になる。

◎ ストーリーを作りやすくなる。

◎ 特定の種類のユーザだけにとらわれず,すべてのユーザグループにとって使いやすいデザインを作成するのに役立つ。

ユーザストーリーを作成する

ユーザストーリー (user story) とは,ペルソナ視点で語られる一文の物語です。シナリオ,ユーザケースとも言われます。次の構文をとります。

「(ユーザの種類)であるわたしは,(益)できるように,(行動)をしたい。」

例えば,「旅行好きの私は,お土産で荷物がいっぱいにならないように,ホテルでお土産を郵送したい」

それぞれのペルソナに対して,ユーザストーリーを作ります。どんな効果があるのでしょうか?

◎ どんな機能を優先すべきかが分かります。

◎ ユーザ中心のデザイン決定をするのに役立ちます。

参考文献

User stories: As a [UX Designer] I want to [embrace Agile] so that [I can make my projects user­centered]

--

--

インタビューの準備をする

質問をあらかじめ考えて,紙に書いておきます。そうすることにより,複数人に対して異なる質問をしてしまったり,質問するのを忘れることを防げます。もちろん,返答に応じて,より深く知るための追加の質問をその場で行うことができます。

準備する質問は,単に「はい」,「いいえ」で答えられる質問よりも,自由に答えられる質問の方が望ましいです。「なぜ」で始まる質問を考えましょう。

参加者が同意するなら,インタビューを録音することを考慮できます。そうするなら,参加者が何と述べたか一語一句確認できます。

インタビューする

インタビューに応じてくれたことを感謝しましょう。友好的な雰囲気を作ります。はっきりと,簡潔に質問します。聞いていることを態度で示します。

記録を作成する

インタビューを終えた後,記録を作成します。以下の情報を含めます。
◎ 参加者の年齢や肩書などの,どんなターゲット層かがわかる簡単な情報。
◎ 参加者に尋ねた質問と参加者の答え。まとめるのではなく,できるかぎり一字一句書きます。

共感マップを作成する

共感マップには,参加者の次の点を記入します。

◎ 言ったこと。できるなら,一字一句記入します。
◎ したこと。参加者を観察し,インタビュー中に行ったことを記入します。
◎ 考えたこと。参加者を観察し,参加者が考えたであろうことを推察して記入します。例えば,スクリーンに顔を近づけたなら,操作を難しく感じているのかもしれません。
◎ 感じたこと。感じたことを参加者に尋ね,その答えを記入します。

ユーザの痛点を見分ける

共感マップを用いて結果を分析し,ユーザの痛点を見分けます。

痛点 (pain points) とは,ユーザを苛立たせ,必要としているものを得ることを妨げているUX上の問題点のことです。

ユーザは,自分が困っていることをすべて知っているわけではありません。ユーザが直接述べた問題点だけでなく,ユーザ自身が気づいていない痛点も見分ける必要があります。

--

--

デザイナは,ユーザのことを知っているつもりになりやすいものです。しかし,ユーザの本当の必要,感情を知るには,調査が不可欠です。どんな手法があるでしょうか?

誰が調査を行うかによって2種類に分けられます。

一次調査: 自分がユーザと直接接する調査。例えば,インタビューやアンケートなどが含まれます。

二次調査: 他の人が集めた情報を用いる調査。例えば,本やニュース,動画などから情報を収集します。

集めるデータの種類にしたがって質的調査,量的調査の2種類に分けることができます。

質的調査: 「なぜ」「どのように」といった質問に答える調査で,会話や観察によってデータを得ます。

量的調査: 数値によって表せるデータの調査です。アンケートがよく用いられます。

一次調査

インタビュー: 一対一,あるいはグループで行います。ユーザの考えや感情を深く理解できます。十分なデータを得るため,最低5人にインタビューすることが推奨されます。

アンケート: 大勢の人に同じ質問をします。多くの人が考えていることを理解するのに役立ちます。

ユーザビリティ調査: ユーザにプロダクトをテストしてもらい,プロダクトの使いやすさを見極めます。

二次調査

論文やインターネット上の公開情報を調査します。

参考資料

◉ Nilsen Norman Group: Usability Testing 101

◉ Nilsen Norman Group: When to Use Which User­Eperience Research Methods

--

--

アプリをデザインする際,大切なことは何でしょうか?かっこいい見た目にすることですか?機能をたくさん盛り込むことですか?いいえ。ユーザに焦点を当て,ユーザが抱えている問題を解決するデザインこそ良いUI/UXデザインです。

デザインシンキングとは,問題を解決するためのユーザ中心のアプローチで,次の5つのフェーズから成り立っています。

1. 共感する (Empathize). ユーザの必要,考え,感じ方を理解するフェーズです。調査,インタビュー,観察を通してユーザと問題をはっきりと理解します。感じ方まで理解するのが重要です。デザイナにとって最も大切なのはセンスでもツールの知識でもなく,同情心です。

2. 定義する (Define). 共感フェーズで理解したユーザの必要をもとに,解決すべき問題を定めます。この問題を解決するのがアプリの目的となります。

3. アイデアを出す (Ideate). 問題を解決するたくさんのアイデアを出します。ブレインストーミングとも言われます。

4. プロトタイプを作る (Prototype). アイデアを具体化する画面イメージを作成します。

5. テストする (Test). プロトタイプを用いて,ユーザにテストしてもらいます。問題が見つかったなら,前のフェーズに戻って修正します。たくさんのフィードバックを得ることが大切です。

次回のコラムから,デザインシンキングのフェーズをひとつずつ説明します。

参考資料:

Finite Field は、使いやすいデザインにこだわってアプリ開発、システム開発を行います。お気軽にお問い合わせください。

--

--