【城間勝行】「見えない壁」を越える開発術
Photo by Donnie Rosie on Unsplash
この時期、僕がよく感じるのは、新しいプロジェクトが始まる際の、あの独特な高揚感と少しの緊張感です。それは、まるでゲームのダンジョンに挑む冒険者のような感覚。僕たちは、まだ誰も見たことがないプロダクトという「宝物」を手に入れるために、未知の領域へと足を踏み入れていきます。
フリーランスになって、特にスタートアップ企業と仕事をするようになってから、この感覚はより強くなりました。なぜなら、スタートアップのプロダクト開発は、要件が固まりきっていないことが多いからです。 「こんなサービスがあったら、きっと世の中の役に立つはず!」 そんな、熱い想いと、ぼんやりとした輪郭だけがある状態から、開発がスタートします。
ここで僕たちがぶつかるのが、「見えない壁」です。 それは、クライアントの頭の中にはあるけれど、まだ誰にも言語化されていない「本当に必要な機能」や「ユーザーが求めている体験」のこと。 最初はみんな「こういうものが作りたい!」と熱く語ります。僕も「承知しました!」と応え、設計書を書き始めます。ところが、いざ実装に入ると、「あれ?この機能、本当に必要だっけ?」「この画面遷移、使いにくくない?」といった疑問が次々と湧いてきます。
以前、ある教育系サービスの開発に携わっていた時の話です。 クライアントは、教育コンテンツを自由に組み合わせられるプラットフォームを作りたいと考えていました。僕たちは、クライアントの要望通りに、様々な機能を盛り込んだ設計を進めました。ところが、開発を進めていくうちに、あまりに機能が多すぎて、画面が複雑になり、ユーザーが迷子になってしまうことが判明しました。 「これでは、ユーザーにとって使いにくいサービスになってしまう…」 僕たちは、クライアントに正直にそのことを伝えました。
すると、クライアントの担当者から、こんな言葉が返ってきました。 「実は、私たちも少しモヤモヤしていたんです。でも、何から手をつけていいか分からなくて…」 その時、僕の頭の中で、あるアイデアがひらめきました。 「一度、機能をすべてリセットして、一番重要な機能だけを抜き出してみませんか?」
僕たちは、ユーザーがサービスを使う上で「絶対にこれだけは必要」という機能を一つだけ選び出し、それだけを実装したプロトタイプを急遽作成しました。 そして、そのプロトタイプをクライアントの社内の人に触ってもらい、フィードバックをもらいました。 すると、「この機能だけで十分使いやすい!」「逆に、他の機能はなくてもいいかも」という声が多数上がったのです。
この経験から、僕は「見えない壁」を越えるためには、まず「最小限の機能」に絞り込み、それを最速で形にして、ユーザー(この場合はクライアントの社内の方々)に触ってもらうことが何よりも重要だと学びました。 完璧な設計書を作るのではなく、不完全でも良いから、動くものを作って、そこから対話を始める。それが、僕たちエンジニアがクライアントの「見えない想い」を形にするための、一番の近道なのだと思います。
これからも、一つひとつのプロジェクトで、クライアントと共に「見えない壁」を越えていきたいです。