Upgrade to Pro — share decks privately, control downloads, hide ads and more …

シード期のプロダクト開発について / Product Development in the Seed Phase

showmant
August 12, 2021

シード期のプロダクト開発について / Product Development in the Seed Phase

アルプにご興味ある方は以下をご覧ください🙇
https://thealp.co.jp/recruit

showmant

August 12, 2021
Tweet

More Decks by showmant

Other Decks in Programming

Transcript

  1. シード期のプロダクト開発
    Shoma Takeo

    View Slide

  2. 自己紹介
    2
    2

    View Slide

  3. 自己紹介 ブロック2
    アルプ創業前
    2014年に株式会社サイバーエージェントに入社。動画広告配信事業にお
    ける開発責任者を担当。その後ゲーム事業者向けのリターゲティング広
    告配信事業の米国事業立ち上げに開発者として従事。
    アルプでは
    共同創業者、開発担当取締役。
    初期はバックエンドエンジニアを主として、現在は開発組織全体のマ
    ネージメント・採用を担当。
    キーワード
    Scala
    ラーメン(最近は煮干し系)・二郎
    スポーツ観戦(野球・NBA・オリンピック)
    竹尾 正馬 @showmant_
    タイトルのみのブロック
    タイトルのみのブロック

    View Slide

  4. 会社紹介
    4
    4

    View Slide

  5. View Slide

  6. View Slide

  7. プロダクト紹介
    7
    7

    View Slide

  8. View Slide

  9. View Slide

  10. 本題
    1
    1

    View Slide

  11. 開発初期のプロダクト開発フロー
    1. ヒアリング 2. ドメインモデリング 3. プロトタイピング
    1年程度で100社程度のあらゆる
    サブスクリプション事業者へのヒ
    アリング
    モデリングに重点をおき、原則は下記3工程のループをとにかくまわす
    開発初期からドメインモデリング
    ・設計に超注力していた
    簡易なバックエンドとフロントエ
    ンドのプロトタイプを数ヶ月で作
    成。作成後にプロトタイプ版から
    現在のScalebaseを開発
    ● エンジニアも同行
    ● 先方の業務オペレーション細
    かくヒアリング
    ● ドメインモデリングや3のプロ
    トタイプのレビューも行う
    ● 設計に注力することが数年単
    位で見たときに最速デリバ
    リーの根幹であると仮説
    ● ヒアリングや市場調査が種
    ● 概念図をとにかく書いた
    ● セールス時のデモとして利用
    ● ヒアリング時により深い議論
    をするために活用
    ● 設計はモデリングの結果を反
    映したものになっていた

    View Slide

  12. View Slide

  13. 開発フローで失敗したこと
    ヒアリング
    失敗したこと
    ドメインモデリ
    ング
    プロトタイピン

    (結果失敗ではないが)toCよりもtoBにペインが大きいことが分かった
    ヒアリングをすすめると、toCよりもtoBのほうが管理の複雑性が高くいことがわかった。ヒアリングを重ねる前にtoCだと
    決め込んでクレジットカード決済用の実装などを進めていたが、toBでは請求書払いが圧倒的に多く、先に開発した部分が無
    駄になってしまった。
    ドメインモデリングの型をつくれず、資産化できなかった ※いまも苦戦中
    ドメインモデリングは概念図など様々な図を利用して議論しながら行われてきた。 DDDを全社で取り組むにあたってはドメ
    イン理解が非常に重要で、本来はその時の議論の過程、図などをしっかりとメンテナンスしていくことで資産化し、新しい
    メンバーへの教育材料になる。これができておらず、「なぜこうなったのか」ということの説明に苦心することが発生。
    プロトタイプは別言語を選定したほうがスピードを出せたかもしれない
    プロトタイプで作ったものを資産化したいという考えから、製品版を見据えてScalaを採用していたが、プロトタイプが直
    接製品版にならないということが分かっていたのであれば、スピードを重視して、他言語・フレームワークを利用したほう
    が良かったかもしれないと思う。

    View Slide

  14. Jenkinsを使ったCS オペレーション
    クリーンアーキテクチャの強みを活かした実装
    顧客がダッシュボードで実行できるべきだが、フロントエンドの開発工
    数を取るのが難しく、実装できていない機能がプロダクトが未成熟の状
    態では多発する。このとき、バッチインターフェースを用意する形で
    バックエンド実装し、Jenkins上からカスタマーサクセスメンバーが実
    行できるようにすることで「できないオペレーション」をへらす。フロ
    ントの実装ができる状態になったところで、クリーンアーキテクチャで
    いうコントローラー層のみを差し替えれば、すぐに顧客が利用するダッ
    シュボードでも利用可能なAPIに変換できるので無駄な工数を極限まで減
    らすことができる。
    Tips
    タイトルのみのブロック

    View Slide

  15. アルプのぶんぶん丸 ブロック2
    ぶんぶん丸を使ったCI/CD コストの圧縮
    ScalebaseではScalaを採用しているが、Scalaはコードベースが大きく
    なったり内部プロジェクトの数が多くなったりするとビルド時間が増加
    する。高速にCIできることが開発者の生産性や精神的なストレスの軽減
    につながると信じているが、いかんせん CI系のSaaSは料金が高い。
    スタートアップにとっては時間もお金も貴重なのだから「安く」・「速
    く」ビルドを回したい!そんな課題を解決するのがこのぶんぶん丸。な
    んと20万円程度で組めるビルド専用の最強マシンなのだ。Scalaのビル
    ドに最適化された圧倒的スペックを誇り、AWS 環境で利用できるインス
    タンスよりも価格性能比で優れている。2.5年経った今だに現役であり、
    費用対効果は抜群。
    最近はエンジニアが15名となり、スケールアウトが求められたため、2
    台目の新設、渋滞時にはEC2を利用した並列化を実施中。
    Tips
    タイトルのみのブロック
    タイトルのみのブロック

    View Slide

  16. We Are Hiring
    1
    1

    View Slide