作り込む前に、何よりもまずリリースするのが良いのではないか

ソフトウェア開発において、なんらかの機能を提供する状態としてざっくり以下の状態があると思う。

  1. 機能をリリースしていないのでユーザがその機能を利用できない
  2. 洗練されてなくユーザがうまく使えない
  3. 洗練されてはないがユーザが迷いなく利用できる
  4. 洗練されておりユーザが迷いなく利用できる

まずその機能を利用できないというのが一番の不利益だが、ユーザが使いこなせない形でのリリースはもっと邪悪かもしれない。

洗練されているのは良いことだが、洗練されていなくても、 ユーザが機能を迷いなく利用できること にまず大きな価値がある。

MVP

検証可能な最低限の形でまずリリースするのが良い、後から改善していけば良い。
勘違いしてはいけないのは、雑に作ればいよいということではなく、MVPとしての形を保ち、検証設計ができていること。でないとユーザからしたら利用価値のないクソ機能と見放されてしまうかもしれないし、分析や改善のサイクルを回すことが難しくなってしまう。

MVPで実装できていれば「このボタンは思ったよりもタップ率が低い」だとか「離脱率が高い」みたいなことが把握できる。そこからどこを改善していけば良いのか考えたら良い。

最初から時間をかけて作り込むと、まずリリースが遅くなるので遅くなった分ユーザに価値を届けることができない。また、時間をかけた部分が本当は必要でないものの可能性もある。

作り込む前に、まずユーザに当ててそこから改善していくのが早道だと思う。

具体的にいうとアニメーションに力を入れたデザインだったり、スクロールに合わせてパーツがでたり消えたりとか、そういうのはファーストリリースにはいらないと思う。個人の意見だが、アニメーションに力が入ってるのに機能が足りなかったりバグってたりUIがオワってたりすると逆にムカつく。 リリースした後にアニメーションがあることでユーザの利用率が上がることが期待できる、などの状態になったら実装したらいいと思う。

バグはあっても良い

ちょっと話は逸れるが「たぶん動くと思うからリリースしようぜ」は結構好きな言葉で、ガンガンリリースしたらいいと思う。バグは良くないけど、バクっててもすぐ直せば良い。(もちろんサービスの性質によるが)

個人開発だとこのノリでリリースしてるけど、バグがあっても翌日すぐに直したりすると逆にユーザは好印象を持ってくれたりする。

おわり

というわけで、個人的には最低限の機能を作ってリリースしてから改善をしていくべきと思う。

仕事だと結構モリモリな仕様が出てきて、その仕様を見て「どこれが必須な機能/デザインで、どれがオプションですか?」みたいなコミュニケーションを取ることが多くて割とみんな最初からモリモリで作りたがるなあと思っている。

みなさんはどうですか?