スタートアップのPMはNoCodeを使おう
この記事は、 プロダクトマネージャー Advent Calendar 2021 の8日目の記事です。
はじめに
とあるサブスク型宿泊サービスのPMをしている石川貴彦といいます。
このサービスの立ち上げを通して、「スタートアップはまずノーコード開発したほうがいい」という思いを強くしたので、この記事で伝えたいと思います。
筆者はなにをしているか
私は、SANU 2nd Homeというサブスク型宿泊サービスのPMをしています。
本記事はサービスの広告ではないので紹介は最小限にしますが、とても素敵なコンセプトと価値をもった、いいサービスだと思っていますので、ご興味ある方はぜひ。(初期会員枠完売のため、ウェイティング登録を受付中です)
土地を見つけ、建物(キャビンと呼んでいます)を建て、会員に貸し出すというリアルワールドのサービスなので、建築チームはもちろん、Bizやオペレーション、マーケティングなど様々なメンバーがいます。
私は、ユーザーとのタッチポイントとなるWebアプリ↓をはじめとした、デジタル領域全般のPMとして活動しています。
本Webアプリには現在、下記のような機能があります。
これを、デザイナー1名、NoCodeエンジニア1名、PM1名の3名体制で開発しています。
サービスやキャビン、展開エリア、プランなどの説明をする各種ページ
会員登録
宿泊予約、キャンセル、変更
チェックイン・チェックアウト
予約に連動した、キャビンの入室暗証番号の発行
料金の決済
会員枠の空き待ち登録
ノーコード開発プラットフォームについて
この記事はノーコード開発全般についての話ですが、我々が採用しているノーコード開発プラットフォームは、Bubble.ioです。
非常に汎用性が高く、あらゆるアプリを作ることができます。レスポンシブ対応が苦手でしたが、最近大型アップデートがあり、かなり改善されました。
スタートアップのPMは何が大変か
ここから本題ですが、僕が感じている課題感を話す前に、まずサービスの開発マイルストーンをご覧ください。
2020年秋 開発開始
2021年4月 サイトローンチ:先行申し込み開始
2021年8月 会員登録開始
2021年9月 ウェイティング登録受付開始
2021年10月 宿泊予約開始
2021年11月 サブスク決済&宿泊開始
それぞれのマイルストーンごとに、関連する多くの機能をリリースする必要がありました。
ちなみに、宿泊のサブスクサービスのためのSaaSは世の中にないので、自社開発となることは必然でした。
要件が決まるのはいつもギリギリ
事前に仕様がはっきりと決められれば、先行して開発をしておけばよいのですが、いろんなことが直前にならないと決まりません(決めれらません)。
例えば、宿泊予約ひとつとってみても、
何日何時まで予約が可能か?
キャンセルや変更ができるのは何時まで?
チェックイン後の変更はできる?
変更やキャンセルの際の料金は?
最大何泊まで許容する?
なるべく平日と休日の予約を平準化するためにはどんな制約や料金体系にすべきか?
といった点を考える必要があります。大枠はもちろんかなり前に決まっていたのですが、事業観点での細かい点の詰めや法的確認、エッジケースの抽出、各種料金や制約をどのようにUIに落とし込むのか、といった詳細仕様が決まるのはリリース予定の数週間前(場合によっては数日前)、なんてことがよくありました。
なぜそんな不確実なことをしているか、事前にバチッと決めてしまえばいいのではないか、という意見はごもっともです。私の力不足なところが大きいです。
ただ、サービスローンチの過程で徐々にユーザが集まり、ユーザの声を聞いてサービスの詳細を決めていく、というプロセスでやりたかったという面もあります。
そういった、「コンセプト先行、詳細は後で開発」という方法は、予定通りいかない・間に合わないといったリスクはありますが、スタートアップでは往々にしてそのスタイルでやらなければならない局面があるのではないでしょうか。
資金・人的リソースも十分ではない
開発を始めた時点(2020年秋)では、創業者2人+コーポレート1名+私、という最小限のスタートでした。我々はスタートアップであり、情熱以外のすべてのリソースは不足しています。開発チームを構成するのが容易ではない中で、いかにクイックに開発するかが問われることになります。
ではどうするか
機能要件を余裕をもって決められない。資金も人的リソースも十分に投下できるわけではない。そんな中でどうするべきでしょうか。
プログラミングに銀の弾丸はない
さて、ソフトウェア開発には本質的に下記のような難しさがあると言われており、それらを解決する銀の弾丸はない、という言い方がよくされます。
複雑性
同調性
可変性
不可視性
プログラミングしなければいいのでは?
このうち、不可視性、可変性については、現代のノーコード開発ツールを駆使することでかなり改善ができます。
ひとつずつ紐解いてみましょう。
ノーコード開発の特徴
1. ソフトウェアを見える化する
ノーコード開発ツールは、GUIでアプリを構築します。エレメントも、ロジックも、データも、一箇所で見ることができるようになります。
このロジックはどういうときに発動するのか
このエレメントにどういったスタイルが定義されているのか
このデータは誰がアクセス可能なのか
といったことがすべて「見たらわかる」状態になっています。
重要なのは、私のような非エンジニアにとっても、「見たらわかる」状態になっている、ということです。
これが次の話に効いてきます。
2. 変更しやすい、変更依頼しやすい
どんなソフトウェアも変更を余儀なくされます。あらゆる点での変更のしやすさは、ソフトウェア開発において重要なファクターです。
ノーコード開発ツールでは、様々な変更が簡単にできようになっています。
例えばBubbleでは、データを格納するテーブルの定義において、
テーブル名の変更や、カラム名の変更をすると、参照しているすべての箇所が自動的に更新される
カラムの削除をすると、参照している箇所でエラーが発生して教えてくれる
といった機能があります。もちろんコード開発でもある程度こういった事はできますが、データとUIとロジックが一体で作られているノーコード開発ツールにおいては、より自動的かつ安全に行えることが多いはずです。
また、PMなら、「こういった仕様変更をしたい」と思ったときにエンジニアにどれくらいの難易度・工数かを聞く事がよくあると思います。
ノーコード開発ツールなら、どのような変更が簡単にできるのか、という点が非エンジニアでも把握しやすく、変更の依頼をするまえにそのボリュームを推し量ることがかんたんになります。
結果として少人数でも高速な開発が可能になる
ノーコードツールを使ったとしても、アプリケーションそのものの複雑性がなくなるわけではないですし、様々な外部要因との同調性も引き続き必要です。
しかし、可視化でき変更が容易という2点にくわえて、コードを書けない人でも作れるという特徴を持つノーコード開発を採用することで、少人数での高速な開発が可能になります。
また、下記のような副次的な効果があります。これらはコード開発でも努力工夫により手に入れることはできるはずですが、ノーコード開発では容易に実現できるでしょう。
1. 非エンジニアメンバーにとっての開発体験が向上する
ソフトウェア開発は、PMをはじめとして、エンジニア以外のメンバーにとってはブラックボックスになりがちです。
BizやPMは、ある仕様がどれくらいの開発負荷で実現できるかわからない。
デザイナーは、あるUIがどれくらいの開発負荷で実現できるかわからない。
エンジニア以外のメンバーは、実装の進捗状況がわからない。
そのため、最初にエンジニアにお伺いを立てたり、あるいは進捗を頻繁に訪ねたり、といったやりとりをすることがあるでしょう。それらはすべてエンジニアの負担になります。
だんだんと、エンジニアとそれ以外のメンバーの溝が深まっていき、内製なのに受託開発っぽいコミュニケーションが増えていく、というのはあるあるな気がします。
しかし、ソフトウェア開発はエンジニアだけがやっているのではないのです。PMだって、デザイナーだって、BizDevやCSチームだって、もっとソフトウェアそのものの内容を把握しつつ開発を進められたほうがいいに決まっています。
コードではそれはかなり難しいですが、ノーコードなら可能です。だれでも進捗を見られるように開発ツールのアカウントを持てばいいし、PMやデザイナーが自身で実装を試せるようなサンドボックスを用意すればよいです。
私のチームでは、よくPMである私自身がロジックやUIのテストのためにBubble.ioをいじったりします。そのまま製品に反映することもあります。
ブラックボックスがなくなることで、実装の比重がエンジニア100%:それ以外のメンバー0%ではなく、
エンジニア70%
PM20%
デザイナー10%
といった構成が可能になり、全員の開発体験が向上する効果があります。
2. UXに集中できる
スタートアップにとって、プロダクトで最も重要なものはUXです。
限られたリソースの中で、インフラの管理などに時間を取られている暇はないし、仮設と検証を繰り返しながら、良いUXのためにプロダクトを磨いていく必要があります。そのときに、実際にソフトウェアの中身を見て変更ができるのがエンジニアだけ、というのは仮説検証サイクルの速度の制約となります。
ノーコード開発であれば、前述のように、エンジニア・デザイナー・PMが、共同で直接ソフトウェアを触りながら最適を追求できる、という形が可能になります。
スタートアップがノーコード開発を選ぶ理由:どうせ3年で作り直す
スタートアップのプロダクトは、PMFも達成していない、うまくいくかどうかわからないものであることが多いです。
そんなものを開発するときに、数年先を見込んで最先端の技術を使ったり、拡張性のために高度なアーキテクチャを採用したりといったことはする必要はありません。ベンダーロックインを気にする必要もありません。
というか、したくなっても、してはいけません。
それは、まずプロダクトを作って、ユーザーを獲得して、3年位たって作り直すときにやればよいのです。
それよりもまず、UXにフォーカスしましょう。
イケてるCTOやフルスタックエンジニアを雇う前に、まずはBubble.ioの無料アカウントを作り、チュートリアルを始めてみてください。
そして、デザイナーを雇い、必要があればノーコードの専門家を雇って開発を始めましょう。
まとめ
あなたが非エンジニアの起業家だったりスタートアップのPMだったりした場合、WEBアプリ開発をするとなったらノーコード開発を選ばない理由はありません。
それは、コード開発よりも速く、変更がかんたんで、だれでもいつでもソフトウェアの中身を確認することができます。あなたのプロダクトの中核をブラックボックスにしなくてよくなり、プロダクトのUXの磨き込みに専念できます。
よいノーコードライフを!
あとがき:ノーコード開発プラットフォーム比較
Bubbleを採用するにあたって、汎用のノーコード開発プラットフォームをいくつか比較検討しました。
結論からいうとBubbleとAdaloの2強です。
Bubble
良い点
汎用性最強のノーコード開発プラットフォームです。外部API、バッチ実行などのバックエンド処理、内部データベースなどの機能に加えて、サードパーティによるプラグインも充実しています。
イマイチな点
モバイルWebあるいはデスクトップWebのどちらか向けに作ることは容易ですが、どちらにも適用させるレスポンシブデザインをちょっとやりづらいです。また、ネイティブアプリにも単体では対応しません(有料のプラグインを使うなど、方法はあります)。
あと、データ分析方面の機能が全然足りません。ここはもっと改善してほしいですね。
Adalo
良い点
デザインツールみたいなUIで、とっつきやすく、ネイティブモバイルアプリを簡単に作れるプラットフォームです。
レスポンシブ対応もでき、PWAにも対応します。
イマイチな点
スケジュールされたタスク実行(定期バッチ実行など)のようなことはできないようです(Zapierなどを利用すれば可能)。ネイティブアプリとWebアプリは、別々に作る必要があります(データは共有可能)。
Thunkable
良い点
Adaloと似ています。外部APIが無料で使えるのが良いですね。
特徴としては、ブロックを使ったビジュアルプログラミングが可能な点です。人によってはフィットするかもですね。
イマイチな点
こちらもスケジュールされたタスク実行の機能はありません。また、PWAサポートもないようです。
ここからは、そんなに試していないのでプロコンは挙げません。
Bildr
新興のノーコード開発プラットフォームで、数ヶ月前までクローズドベータでした。印象としてはBubbleに似ています。
なんと、このBildr自体、Bildrを使って作られているそうです。凄い。
最近も大きめのアップデートがありましたし、注目しています。
Draftbit
これも新興です。レスポンシブ対応なども優秀でしたが、以前使ったときにはやはりスケジュールタスク実行がないなど、ちょっと機能が足りない印象がありました。開発が速そうなので今後に期待です。
汎用以外のノーコード開発プラットフォームのリスト
厳密な区分はないですが、上記に挙げたものにくらべると柔軟性が少ないツールのリストが下記です。UI面での制約が大きかったりしますが、(主に社内向けのプロダクトや一部のB2Bアプリなど)目的によっては汎用ツールよりもフィットするでしょう。ただ、一般の(とくにB2C向け)サービスにはあまり向きません。
SANU 2nd Homeのサービスにもご興味いただけた方は、是非 ↓ のブランドサイトもご覧ください!!