Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

自己紹介 2 2

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

会社紹介 4 4

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

プロダクト紹介 7 7

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

本題 1 1

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

We Are Hiring 1 1