その機能は必要?ユーザーストーリーで実装するべきかどうか見極めよう。
機能開発は、さまざな関係者の意見に基づいて実装しますが、本当は実装の必要のない、使われない機能を実装してしまった経験もあるのではないでしょうか。
今回は機能実装する際に、実装する必要があるか見極めるための「ユーザーストーリー」という考え方を紹介します。
(参考として、ZOZOTOWNのトップページからユーザーストーリーを考えていきます)
■ ZOZOTOWNのトップページ
![](https://assets.st-note.com/img/1652283493114-wBha73GYnz.png?width=1200)
![](https://assets.st-note.com/img/1652353581780-uKF8D3gQTo.png?width=1200)
![](https://assets.st-note.com/img/1652354098851-EfvAWprNTL.png?width=1200)
探したいアイテム、サービスなどが一目でわかりますね。
(ログイン・通知・お気に入り・カゴはよく使う機能なので、メニュー外に存在)
![](https://assets.st-note.com/img/1652353740362-0d5wL2lfPP.png?width=1200)
ファッションでは性別と子供かは大事な点なので、上に置いてあります。
![](https://assets.st-note.com/img/1652582085207-qspUPKxmB8.png?width=1200)
■ なぜ、このナビゲーションになっているのかを考えてみよう。
サイト設計時に、こういったヘッダー・ナビゲーション構成は細かく議論せずに決めがちですが、本当はユーザーのニーズに沿って実装・アップデートしていく必要があります。それぞれの機能がユーザーどういったメリット(価値)をもたらすかを示すものをユーザーストーリーと呼び、それぞれの機能に応じてユーザーストーリーを設計していくことが大切です。
そうしないと、ユーザーではなく開発チームがやりたいことを機能追加してしまい、使われない機能が追加されてしまいます。
ユーザーストーリーとは、システムがユーザーにとってどのような価値をもたらすのかを示すものです。
アジャイル開発において、要件定義の代わりに使われる概念です。1つのユーザーストーリーはとても短いものですが、必ず1つの価値があります。
ユーザーストーリーは、顧客とプログラマが会話をするためのメモとしての役割も担うため、専門用語はなるべく使わず、ユーザーが日常的に使う言葉で作成します。
ユーザーストーリーの例
先ほど記述した機能について、それぞれユーザーストーリーを書いてみました。ユーザーストーリーを書いてみると、機能として実装する理由がわかりやすくなりますし、理由がはっきりしない機能は実装しない方がいいというのが分かるようになります。
■ 検索ボックスの履歴機能
![](https://assets.st-note.com/img/1653185310640-SNChrGyBfS.png?width=1200)
ユーザーは過去に検索したキーワードをまた検索したい。
それはまた同じ商品・ショップを見たいからだ。
■ ハンバーガーメニュー機能
![](https://assets.st-note.com/img/1653185474669-aX6zEsBaFo.png?width=1200)
ユーザーは一覧でまとまったメニューが見たい。それはスクロールしたり、ページ遷移したり、いちいちナビゲーションを探すのが面倒だから。
■ メンズ・レディース・キッズのカテゴリ機能
![](https://assets.st-note.com/img/1653185744322-AdrD8RdwgI.png?width=1200)
ユーザーは自身の性別に合った商品が見たい。それは商品を見るたびに、自身に合った性別の商品なのかを確認するのが面倒だから。
■ (探す)レフトナビ機能
![](https://assets.st-note.com/img/1653186117059-XcI7aP5yVQ.png?width=1200)
ユーザーはカテゴリ・ブランド・公式ショップ・セール対象・クーポン・古着・コーデなど、様々な観点から商品を探したい。それは、ただ自身に合った商品を探したいだけでなく、お得であったり、人気であったり、公式から買うことで安心したいなど、商品を買う動機は様々あるからだ。
優先順位
ユーザーストーリーでニーズを可視化できましたが、問題になってくるのは優先順位です。これらをどれからいつ実装をしていくのか?
もちろん全ての機能を1回のリリースで実装したいのですが、実際は細かく分けてリリースすることが多いです。それらをさらに可視化して、ユーザーストーリーマッピングを作ります。
![](https://assets.st-note.com/img/1653187736408-CUX2IAINSP.png?width=1200)
これらの順番は、実装難易度・ユーザーニーズの高いものを相談した上で、優先順位をつけていきます。(この機能追加はイメージ例です)。
さいごに
いかがでしょうか?
機能追加は「あった方がいいだろう。」と、開発者視点でなんとなく実装してしまうことも多いですが、本来は本当に必要か見極めた上で実装した方がいいです。「この機能は本当に必要かな?」と判断する上で、ユーザーストーリーを書いてみるのはいい手法です。ぜひ参考にしてみてください。
この記事が気に入ったらサポートをしてみませんか?