ネクストイノベーション開発ブログ
ネット診察「スマ診」を手がけるネクストイノベーション株式会社の開発ブログです。
https://nextinnovation-tec.hatenablog.com/
こんにちは。ネクストイノベーションCTOの宮田です。
今回はネクストイノベーションの最初のプロダクトである「スマ診」の開発思い出ばなしをしたいと思います。
スマ診のサービスを構想しているときは、ネクストイノベーションにはエンジニアは僕一人でした。
スタートアップあるあるですが、投資家さんにいつまでにサービスを作ってローンチします!と事業計画をお約束をして資金を調達しますので、開発前に納期が決まっていました。その納期から逆算すると、仕様が固まった段階で、え、開発期間があと4ヶ月しかない!!(結局、規制対応で2ヶ月伸びたんで、実際は6ヶ月)という状況でした。
1人じゃ無理だ、と、外部の開発会社さんにお手伝いいただきながら出来上がったサービスです。
スマ診は、当時の要件を簡単にいうとテキストチャットでドクターと診察してもらい、お薬代や診察代を決済してもらうサービスです。目立つ機能はドクターとのリアルタイムチャット、決済機能、そして医療をあつかうので医療記録を保存する電子カルテや、セキュリティにも気を配る必要がありました。
スマ診のサービスを期限までに作り上げるということは経営にかかわる大きな課題です。少しでも早くサービスを届けたい!
しかし、言語や構成を決めるという段階で、悩むこととなりました。エンジニアとしては人気のある言語や構成でやりたいな〜、でもそれで良いんだろうか…
新進気鋭のスタートアップらしくはないと思われるかもしれませんが、僕たちは技術を提供する会社ではなくて医療サービスを提供する会社です。エンジニアとしての面白い技術を取り入れたいと思う一方で、「医療サービスとしてのプロダクトを完成させる」ということに全力を投資しないといけません。そんな中、エンジニア母数が少ない技術で作ってしまったら、僕が病気になったらサービスが死んでしまうかもしれない、、、これは恐怖でした。
設立直後のスタートアップに転職しようと思う人は、ほとんどいません。だって、お金もねぇ、人もいねぇ、要件毎日ぐーるぐる、、です。おら、こんな村嫌だ〜となっても当然のことだと思います。お金のないスタートアップでもエンジニア採用できる可能性がある構成をとっていく必要があると考えていました。「どこかで困っている人の辛みを解決する」サービスを作る上では、少ないリソース(IT的目線でいうと人、時間、金)でも回すことができるプロダクトを目指すことにしました。決して奇をてらわず、泥臭くやっていく。
当初はWebサービスだけですが、サーバーサイドをRailsにして、フロントはjQueryで動かして、チャット部分はFirebase使っちゃえ、、というエンジニア母数が多い構成を選びました。Railsの採用理由は未だ人件費が低い若い世代が多かったからです。また仮想DOMの時代には入っていましたが、jQueryはデザイナーさんでも触れる人が結構いるという利点もありました。Firebaseは実装が楽だったからです。
どこもそうですが、作っている途中での要件変更は日常茶飯事でした。社外の環境の変化などで容易に要件はドカンと変わります。こんなことを言ってしまうと、要件がすぐ変わるような会社は嫌だなと思わせてしまうかもしれません。僕自身もネクストイノベーション以前は要件変更による手戻りで散々嫌な思いもしてきました。
でも常に変更を走らせないとビジネスは死にます。プログラミングでスクラップ&ビルドを回すように、ビジネスも試しては変えの連続です。自分の作り上げる価値を最大限に昇華させてユーザーに届けるためには、常に変更を受け入れて適応するという体制がとても大事です。ただ、期限もあります。変更の受け入れで、どんどん当初の設計どおりにはいかなくなり、無理やりな実装が増えることにもなりました。
サービスが出来たときには、すでに多くの問題を抱えていました。
まぁ分かっていたことですし、リソースが整ってから直していけばいいだけのことです。技術負債を恐れては何も作れませんし、変更を予想しきることなんて出来ませんから構成にそこまで気に病む必要はありません(でかい変更なんてあるもんです)。
負債抱えて、内心はうわぁぁぁ〜やっべ〜な〜とは思ってますが、それでもいいから利用者のために、プロダクトを磨きあげていく気持ちと実行力が大事だと思っています。
第一弾のプロダクトが完成して、ユーザー需要を確認できたことで、1億円の資金調達をすることができました!!!!資金調達のおかげで、スマホアプリエンジニア2名、サーバーサイドエンジニア2名、サービスデスクエンジニア1名の採用ができ、現在ではチームを作ることができました。
そして今は、スマホアプリの構築に向けて(ついでに負債回収!!!)、スマ診サービスを再構築しています!!
WebフロントはReact、サーバーサイドはRailsAPI、iOSはSwift4、AndroidはKotlin。
詳しい構成は後のブログに託しますが、ナウでヤングでトレンディーな構成でやってます!
「結局ナウでヤングな構成を取り入れたんだ〜?」というツッコミが聞こえてきそうですが、先行プロダクトの成果がでて新たに資金を調達できた結果、取り入れることが出来たんだと思っています。ただ結果論ですが、振り返ると最初からヤングな構成でも良かったと今では思ってます(オイッ!!)、だってモチベーションが上がらんし(ゥオイッッ!!)。。
今ではエンジニアが自由にやりたい構成をとることを良しとして開発をしています。ビジネスの方向性が決まったので次元を超えた要件変更がなくなり、余裕と自由を手に入れることができたというのが大きいですが、なにより自分で決めた方が楽しい!(冒頭の話はなんやったんや!!)
設立当初は資金に懸念がある状況で、ただ作ればいいというだけでもなく、どうやって開発を進めていくかを常に悩んでいましたが、今振り返ってみればプロダクトへの想いさえあれば、気にせず好きなようにやってもよかったと思います。常に考えることは必要ですが、設立当初はガンガン環境が変化するので、考えていたとおりになんてなりません。だったら、ちゃんとマネジメントしながら、常に考えていれば、好きにやってモチベーションを高い状態で維持し続けることの方が価値があります。
5年たったらどう考えているかは分かりませんが、今はそんなことを思っているよ。という思い出話でした。
Wantedlyとおんなじことを書いていたりしますが、また良かった見てください〜