くらしのマーケット開発ブログ

「くらしのマーケット」を運営する、みんなのマーケット株式会社のテックブログ。積極採用中です。

要件定義で、すったもんだ

みんなのマーケットでUI/UXデザイナーをしているミソサクです。

入社5年目です。みんなのマーケットに来るまではアパレルEC業界でデザイナーをしていました。この記事にあるように、私は入社して1年くらいは自分の思い描くような活躍ができていませんでした。今回はそんなトライアンドエラーの日々の「失敗」をご紹介します。

本記事は、6/10に開催した「失敗に学べ!くらしのマーケットの開発「失敗」LT会 vol.1」でのLT内容を再構成したものです。

要件定義で、すったもんだ

はじまり

今から5年ほど前、入社してちょっとたったころ「カレンダー機能」というものを作る機会を頂きました。

メンバーはエンジニア2人とデザイナー1人の、計3人でした。要件定義は全員未経験でした。

そこで、デザイナーの私が人生で初めて要件定義をやる事になりました。 右も左も分からなかったので「まぁ、なんとかなるだろう」という感じでとにかく手を動かし始めました。

そしてすぐ、ものすごい困りました。

ものすごい困りました

何もかも不確定なまま手を動かしはじめてしまい、ものすごい困りました。たくさんある選択肢から「何を基準に決めたらいいのか」全くわかりませんでした。しかも「アプリをメインとした機能としたいのにアプリ開発者がいない」「使いたいデータが求めている形ではない」などいろんな問題が立ちふさがりました。

現状を無視してとにかく理想の形を描きましたが、いろんな問題が複雑に絡み合っていて、全てをうまくまとめるのはとても困難でした。

しかし「早く決めなきゃ」という焦りからその状態のまま手を動かし続け、それっぽいデザインを完成させました。焦りとは裏腹に1ヶ月もかかってしまいました。エンジニア2名にデザインを見せた所・・・

1年以上かかってしまいそう しかもこれじゃあ要件を満たしてないよ

考え直し。。。

というかもう、どうしたらいいか分からない。。。

完全に行き詰まりました。。。

転機

そんな時、一冊の本をすすめられました。

 「ユーザーストーリーマッピング」(Jeff Patton 著、長尾 高弘 訳 O’REILLY)

この本の内容をざっくり言うと「機能を全部ポストイットに書き出して、要求を満たす機能を見極めて、最小限でリリースしましょう」という事でした。例えば乗り物を開発する場合、時間をかけて自動車を作ってユーザーにいきなり提供するのではなく、まず最低限の移動手段であるスケボーを短時間で作って提供し、ユーザーの声を聴きながら機能を追加していき、最終的に自動車にすればいいという考え方でした。

やってみた

藁にもすがる思いで、エンジニア2人にも協力してもらい、全員で本の通りに機能を整理してみました。

「要求を満たす最低限の機能」という線引きをすることで以下の変化がありました。

  • 必須だと思い込んでいた機能は実際には必須ではないことが分かった

  • たくさんある選択肢の中から、本当に必要なものがどれなのか判断できた

  • 問題解決も含めた、開発の優先順位が見えるようになった

  • 初回リリースまでの時間が圧倒的に短くなった

また、ユーザーストーリーマッピングをすることで以下のメリットが生まれました。

  • チーム内で共有の言語、認識ができた

  • 全体像のうち、どこの開発をしているのか簡単に把握できた

  • チーム外のメンバーへの説明がしやすくなった

できる人がいなくてどうにもならなかった「アプリ開発」は、後でできる人が入社したら追加開発するという前提で「まずは基盤となる仕組みを作る」という判断ができました。そして無事、後から入社したアプリエンジニアと機能を作りあげました。

以上、はじめての要件定義の失敗談でした!

最後に

当たり前なんですが、やったことがないことに挑戦するときは、素直に本などで勉強すべきだと痛感しました。そしてユーザーストーリーマッピングは開発だけじゃなく「本当に必要なモノはなんなのかを整理する」という点で、いろんな事に活用できる手法なので、非常におすすめです。