はじめに
企画や要件を考える段階から開発に関わった際に、正直かなり戸惑いました。また、仕様書に書かれたものを実装するのとは、頭の使い方が違うと感じました。
自分の中で一番悩んだのは、「どんな機能を作るか」ではなく「なぜその機能が必要なのか」を考えることでした。今回は、自分の経験をもとに、どこで詰まって、何を考えて、実際にどう動き方を変えたかを書いておきます。
「この機能を作ろう」と思わないようにした
企画を考え始めたとき、最初につまずいたのは「つい機能から考えてしまう」ことでした。自分にはどうしても実装の形が先に浮かんでしまう癖があったからです。
そこで、企画の話を聞いたらまず「何のためのコンテンツか」「誰に見てもらいたいか」「ユーザーにどんな行動をしてほしいか」の3つを自分に問い直すようにしました。同じ「画像を掲載する」という要件でも、複数の画像を見せることが重要ならカルーセル表示という選択肢がありますし、SEOが目的なら画像を増やすより検索してきた人が必要な情報をどう構成するかのほうが大事になる場合もあります。この3つを問い直す習慣ができてから、機能ありきで話を進めてしまうことが減りました。
「なぜカルーセルなのか」で手が止まった
「一定の条件を満たした対象者は、複数の画像をカルーセル表示できる」という機能を考えていたときのことです。「カルーセルを実装する」というだけなら特に迷いません。ただ、企画として「なぜカルーセルなのか」を説明しようとした瞬間に手が止まりました。
画像を複数見られることにユーザーのメリットがあるのか、1枚ずつより分かりやすいのか、情報量が多くなりすぎないか、スマホでも操作しやすいのか。機能の実現方法しか考えていなかった自分に気づいて、そこから体験そのものを考え直しました。以来、機能を思いついたら実装より先に「これをやらなかった場合、ユーザーは何に困るか」を一行書き出すようにしています。書けなければ、その機能はまだ理由が固まっていないサインだと捉えています。
対象を絞るかどうかは判断が難しかった
ここは特に悩んだところです。この機能をすべてのユーザーに提供するという選択肢もありましたが、それが常に良いとは限らないとも感じました。
対象を絞る場合は、どんな条件にするか、なぜその条件なのか、条件を満たした後に何ができて、満たさなくなったらどうするのか。この4つを決めきらないまま実装に進むと、あとで「この場合はどうするんだっけ」という手戻りが起きやすいと実感しました。今は、対象条件を決める議論のときに、この4つを最低限セットで確認するようにしています。
SEOとUXの間で揺れた
SEOを目的とする案件では、UXだけを考えていれば十分というわけでもないのだと今回学びました。検索エンジンからの流入も考えつつ、実際に来た人にとっても価値のあるコンテンツにする必要があります。
「検索されるために何を掲載するか」と「ユーザーが知りたい情報は何か」は、どちらも大事にしたい要素でありながら、常にきれいに一致するとは限らないと感じる場面が何度かありました。自分の場合は、まず「ユーザーが知りたい情報」を先に洗い出してから、その中でSEO的に補強できる箇所を後から足す、という順番にすることで折り合いをつけやすくなりました。先にSEO要件から考えると、ユーザー視点が後付けになりがちだと感じたからです。
仕様書にする段階で論点が次々出てきた
企画段階では「条件を満たしたユーザーはカルーセルを使える」くらいの粒度で話が進んでいました。ところが仕様書にしようとした瞬間、決めていないことがたくさん残っていたことに気づきました。
条件をいつ判定するのか、満たした瞬間に使えるのか、満たさなくなったらどうなるのか、すでに掲載している画像はどう扱うのか、スマホとPCで表示を変えるのか、画像が1枚や0枚のときはどうするのか。企画段階では見えていなかった論点が、仕様に落とし込む段階でどんどん出てきて、正直焦りました。今は、企画がある程度固まった時点で、この6つのような「境界値・例外系」だけを先にリストアップしてから仕様書を書き始めるようにしています。書きながら気づくより、書く前に潰しておくほうが手戻りが少ないと感じたからです。
この経験を通して意識するようになったこと
自分の中で変わったのは、次のような点です。
機能を思いついたら、実装より先に「なぜ必要か」を一行で説明できるか試すようになりました。説明できなければ、まだ考えが固まっていないと判断しています。
「ユーザー」とひとまとめにせず、企画書に「誰が・どのタイミングで・何のために使うか」を一行添えるようにしました。これを書く段階で、条件設計の粒度が甘い箇所に自分で気づけることが増えました。
企画の内容をそのまま仕様書に写すのではなく、仕様に落とす前に「境界値・例外系」だけを先にリストアップする工程を挟むようにしました。
おわりに
これはあくまで自分のケースであり、正解というわけではありませんが、以前は仕様を明確にして実装できる状態にすることが自分の役割だと思っていました。実際に企画から関わってみて、自分にとってはそれだけでは足りない場面が何度もありました。
何を作るか、なぜ作るか、誰にどんな体験を提供するか、それを実現するために何を仕様として決めるか。この順番で考える癖と、それぞれの段階でやることを一つずつ具体化しておく習慣は、これからも大事にしていきたいと思っています。