見出し画像

【開発】glucoseはこうやって「新規立ち上げサービス」を作っています

グルコース社では、まだアイデアだけでこの世に影も形もないプロダクトの開発依頼が多いです。いわゆる0→1開発(ゼロイチ開発)というやつですね。
まだ誰も見たことのないサービスを作るのでそもそもそのアイデア自体が面白いのか作ってみるまでわからないですし、損益分岐点を考えると最初からそこまでたくさん予算はかけられないですし、かといってチープすぎるとせっかく良いアイデアでもユーザーがたどり着かないですし、と様々な困難があります。
さらに開発を外注するとなると、発注側と受注側(つまりグルコース)の間で必ずしも利害が一致しない局面もあります。

そういった中で、グルコースではどうやって納品(≒リリース)にたどり着かせるために工夫しているのかをご紹介したいと思います。
不確実性をコントロールするために、弊社では「研ぎ澄ます→コアを作る→整える→リリース」のようなフェーズに分けて発注側と二人三脚で開発を進めていきます。


0.研ぎ澄ます

この時点では、受注側はドメイン知識が足りず、発注側は完成イメージが湧いていない状態だと思います。
コードを書き始める前に、まずはこのギャップを解消するために時間を使います。

またその過程で、このサービスの核心の価値、いわゆるMVP(Minimum Viable Product)をディスカッションしながら見定めます。
「サービス、事業課題に対する理解を深める」→「サービスの方向性、コアバリューを整理する」→「サービスがコアバリューを体現しているかペルソナとストーリーを作って考える」といったことをぐるぐるします。
サイトのトンマナのようなデザインは、このタイミングから作り始めることが多いです。後から変えづらい要素ですし、サービスの方向性を決める重要な要素だからです。
UIフロー、ワイヤフレームなどはこの段階からリリースを見定めたものを作り始めます。
UIフローは、サイトの導線を洗い出すというのもさることながら、リリースまでの工数見積もりのためのタスク出しにも有用です。またワイヤを作ることによってペーパープロトタイピング的なことがこの段階からできますので、発注側にサービスイメージがつきやすくなります。

このフェーズの終わりでは、作るサービスの目的、ターゲットについてチーム全員が同じ方向を向いており、その最小プロダクトのイメージもある程度ついていて、早くコードを書き始めてぇ!となっているはずです。


1.コアを作る

前のフェーズで策定したMVPを実現することを目標に動きます。前のフェーズで、解決したい課題・提供したい価値は明確になっているはずなので、それを見て動かして試せるものを作ります。
これは内部にしか見せないものですので、サービスとしての完成度は二の次で「やりたいことをやることができるのか?」だけに特化します。そのため、仕様にブレの少ない部分(ユーザーの登録 / ログイン機能、固定ページなど)や、頻度の低い部分(管理画面など)、ユーザーへのオモテナシの部分(通知など)はこのフェーズでは作らなかったり、モック的なもので済ませることが多いです。

実際に実装していくと、想定漏れがぽろぽろ出てくることが常なので、発注側は細かい判断を重ねていくことが多いと思います。


2.整える

リリースに向けてサービスとしての必要な機能を揃えます。前フェーズでカットしたユーザー登録のようなものですね。
実装する量が多くなるので、比較的時間のかかるフェーズです。

発注側は、受注側が作った機能を試しながら想定とのズレを修正していきます。前フェーズまでで用意したコア機能については、導線や見せ方の修正程度になることが多いです。前までの段階を丁寧に進められていればこの段階に至らず作り直しになる、ということは滅多にないです。
0フェーズで落とすかどうか迷った機能は、この段階では「やっぱいらんかったな」となっていたりします。
また、利用規約、ヘルプ / FAQなどの文章作成や、ユーザーサポート体制の準備などもこのタイミングから進めます。


3.なおす

このフェーズまで来るとリリース日も大体決まってくるので、リリースに向けて細部に手を入れていきます。
見つけたバグやグリッチを直しておくのはもちろんですが、使ってはじめて見つかる違和感などにも手を入れて、サービスをブラッシュアップしていきます。軽微なものでは文言の変更や、ユーザーの操作に対するリアクションの不備(たとえば「ボタンが連打できしまう」「読み込み中なのがわからない」「エラー表示が足りない」)など。これらは際限なく出てくるので、受発注双方で優先度をきちんと握ることが最重要です。
粗々だったシステムの完成度がどんどん上がっていく、一番気持ちの良い作業でもあります。まさに「神は細部に宿る」を体現するためのフェーズともいえます。


4.リリース!

リリース! やった、終わった! にならないのがシステム開発で、むしろスタートですね。結婚みたいなものですね。
ユーザー増加のための次の機能開発に着手し始めるのももちろんですが、ユーザーが増えれば増えるほど、見落としていた問題や負荷の問題が顕在化します。また「ユーザーから問い合わせのあった不具合が開発サイドの手元だと再現しない」といったこともよくあるので、ログ収集、計測するメトリクスあたりで足りないところを補っていく & 不具合検知からの対応までのチームをクライアント&glucoseで一体となって作っていく、などがフォーカスされてくると
ここからはサービス成長のための開発になり、また新しい仕切りで進めていくことになります。


大切なのは「コストとリスクを最小限にする」ということ

glucoseでは概ねこのように新規案件 / 0→1開発を進めているよ、という話をさせていただきました。

グルコースが新規案件で重要視しているのは以下4つで、

  • 最初に、クライアントのドメインやサービスの理解を深めることにきちんと時間を使うこと

  • 発注側のアイデアの理想と現実のギャップを埋めるために、サービスを早めに形にする・触れるようにすること

  • 発注側のアイデアを実現可能かつ最小限のMVPに落とし込むこと

  • フェーズごとに目標を分け、成功を積み上げること

受注側のドメイン理解と発注側のサービス理解を深めつつ、現実的なラインで開発する一つの方法ではないかなと思っています。

この進め方には、

  • 顧客との密なコミュニケーションが必要なのでそういったものを嫌がられる場合には適さない

  • フェーズ間で契約・見積もりなどの作業が必要なので開発の中断期間が発生してしまう

といった問題点もあります。
ですが2点目においては、逆にフェーズの途中で撤退や見直しが可能ということでもあるので、計画を軌道修正できるという面ではメリットともいえるかもしれません。

出来るだけ最小限のコストとリスクで開発を初めてリリースまでこぎつけることで、その分確保できたリソースを成長のために割り当てられるので、それが成功への最短経路となると思っています。


0→1開発では、お客さんが「こんなサービスを作りたいけどどうしたらいいか分からない」「うまく形にできるか見通せない」と不安を抱えていることも多々あります。glucoseでは0〜4のフェーズを経て、発注側のそういった不安をなるべく払拭し、サービスの具体像を固めるお手伝いをしています。
気になった方はぜひ一度ご相談ください。


また、上記の開発をやってみたい!というエンジニア・PMの方も募集中です。募集要項や詳細は以下リンクから。
新卒の方も中途の方も、まずは気軽にご連絡ください。

各種募集要項はこちら

新卒エンジニア募集要項
中途PM(プロジェクトマネージャー)募集要項
中途エンジニア募集要項

グルコースの福利厚生等の紹介はこちら

この記事が気に入ったらサポートをしてみませんか?