ボクココ

個人開発に関するテックブログ

Web サービスは機能の多さで勝負してはならない

ども、@kimihom です。

近年はいろいろなサービスがあるが、サービス開発者の中で勘違いしやすいのが 「機能は多ければ多いほどいい」「他社サービスがこんなことやってるからウチもやらないと」「お客さんがこんなこと言ってるから実現しないと」 といった考え方だ。自分たちのサービスにその機能は本当に必要なのかを考えず、ただ闇雲に機能を追加していく。その行く先にあるのは「複雑で、誰も使いたがらないシステム」である。理解するのに、慣れるのに何日間もかかるようなシステムを誰が喜んで使いたいだろうか?残念ながら、今の日本のサービスはそんなのばっかりだ。

なぜこのような考え方が生まれるのか

機能を闇雲に追加していくことのメリットは、「自分が何も考えなくてもいい」ということだ。他社のを参考に、ユーザーの意見を参考に言われるがままにパクって作ればいいだけなのだから。多少は自分たちのサービスっぽくカラーを添えるだけで OK、しかも実装には時間がかかるしリリースすれば仕事をした感じがする。自分たちが頑張って作ったから、きっと使ってくれるよね! っていう自己満が得られる。

その根底にあるのは、全員が喜ばなくても、誰かが喜べばいい。まぁ無いよりあった方がいいよね。 という考え方だ。その繰り返しにより、A機能はあの人には便利だろうし、B機能はあの人に使ってくれるだろうという発想になる。

エンジニアにとっては機能を追加するのは簡単だ。多少はシステムの影響を考える必要があるが、コードを消すことをあまりしなくて良い。ひとまずリリースまで持っていけばビジネス側の人からも文句は言われないだろうという気持ちになれる。

デメリット

割と一般的なこの考え方がダメな理由は3つある。

1つ目は、ほとんどの人はその機能を使わないという点だ。機能が多いほどそのサービスを学習するコストが生まれてしまう。最初から使い続けている人ならついてこれるかもしれないが、途中から入ってきた人があまりに多すぎるメニューのどれを使わなければならないのか困惑させてしまう。その時点で「嫌々そのサービスを使っている」ということになる。ぶっちゃけ BtoB とかだと会社でこれ使うと決まったから、とかそういう理由で使わさせられているから文句を言えずにやっているという現実もあるのかもしれない。でもそんな Web システムを使って仕事をして幸せになるのは誰だろうか?

2つ目は、メンテナンスコストだ。先ほどエンジニアにとって追加は簡単と言ったが、今後ますます機能を追加して行った時に、それらが絡み合ってどこがどうなっているのか把握できなくなるという問題がある。後から入ってきたエンジニアがそのカオスな機能だらけのシステムをメンテナンスしろと言われたら翌日には退職したくなるだろう。それほどまでに複雑になりすぎたシステムをメンテナンスするのは困難なことだ。それでいて開発よりもテストに時間をかけるようになってしまい、開発速度がどんどん遅くなっていく。最終的には根幹の機能なんて絶対に手を出せないようなシステムが出来上がっていく。残業を増やしているのは、自らが作り上げたその複雑なシステムのせいだと気付いた頃にはもう手遅れなのだ。

3つ目に自分で考えるということを放棄しているという点だ。他者から意見をそのまま機能に反映すると、一見考えているように見えて、そもそもの「なぜこのプロダクトはあるのか」を考える習慣がなくなってしまう。例えば、「人々の健康をよりよくするアプリ」を開発しているのに、いつの間にか「アプリを起動してほしいから占い機能を追加しよう」みたいな愚行にも同意してしまったりするのだ。"そんなことしないやろ"と思っている方、こういう話がマジであるので気をつけていただきたい。私はそれを経験して、自分で作るプロダクトは絶対に芯を曲げたくないと思ったのだ。自分たちが実現したい世界は何なのか、これを持っていないとユーザーを困惑させる機能ばかりを作ってしまい、しまいにはサービスに共感できなくなってユーザーが離れて行く結果となる。

じゃあ何で勝負するのか

それは、自分たちが一番強みとできる機能の開発に集中することだ。例えば自分たちが画像処理に強みがあるのなら、画像処理の精度を上げることに最大の努力を払うことだ。それに時間をかければかけるほど、他社はそのクオリティを生み出すことができなくなる。その道を踏み外して SNS 機能とかを実装し始めると、そのサービスはもう他のサービスと同じようなサービスになってしまうのである。

自分たちが本当に勝負したい機能を究極にまで磨いていく。その熱意こそが素晴らしいサービスを生み出すのである。 Google の "検索" のようにね。

スタートアップの可能性

逆に考えると、今の日本の IT には複雑で多機能すぎるサービスで溢れているからこそ、私たちスタートアップでもシンプルさとコアの最高なメイン機能を武器にして勝つ可能性があるということの裏返しでもある。一度でもユーザーに感動を与えられたならば、そのユーザーはずっとそのサービスを使い続けてくれることだろう(意味不明な機能を追加しない限り)。

このことはもちろん理想論に過ぎないことはわかっている。だけど、それを信じられるかで未来のサービスの成功か失敗かは見えてくると思っている。他人や他社にすぐ左右されない、芯の通ったスタートアップが増えれば、きっと素敵なサービスがどんどん出てくると思う。