Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
シード期のプロダクト開発について / Product Development in the S...
Search
showmant
August 12, 2021
Programming
0
1.9k
シード期のプロダクト開発について / Product Development in the Seed Phase
アルプにご興味ある方は以下をご覧ください🙇
https://thealp.co.jp/recruit
showmant
August 12, 2021
Tweet
Share
More Decks by showmant
See All by showmant
Why Alp Choose Modular monolith Architecture
showmant
2
3.4k
創業3年のSaaSスタートアップが 規模急拡大に対してアーキテクチャを変革していった話 / Scalebase's architectural transformation
showmant
0
890
モジュラモノリスで表現する複雑なドメイン領域と境界 / Expressing complex domain regions and boundaries with 'modular monoliths
showmant
8
12k
SaaS企業をスケールさせるためにScalaを選択した理由と1年間の振り返り / Why Alp Choose Scala To Scale The Application
showmant
2
1.9k
Other Decks in Programming
See All in Programming
コードを読んで理解するko build
bells17
1
110
機能が複雑化しても 頼りになる FactoryBotの話
tamikof
1
240
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
210
sappoRo.R #12 初心者セッション
kosugitti
0
280
自力でTTSモデルを作った話
zgock999
0
120
Ça bouge du côté des animations CSS !
goetter
2
160
The Clean ArchitectureがWebフロントエンドでしっくりこないのは何故か / Why The Clean Architecture does not fit with Web Frontend
twada
PRO
52
16k
Swift Testingのモチベを上げたい
stoticdev
2
190
dbt Pythonモデルで実現するSnowflake活用術
trsnium
0
270
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
14
4.8k
Serverless Rust: Your Low-Risk Entry Point to Rust in Production (and the benefits are huge)
lmammino
1
160
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
160
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Code Reviewing Like a Champion
maltzj
521
39k
Designing Experiences People Love
moore
140
23k
Speed Design
sergeychernyshev
27
820
Scaling GitHub
holman
459
140k
Optimizing for Happiness
mojombo
377
70k
Docker and Python
trallard
44
3.3k
Git: the NoSQL Database
bkeepers
PRO
428
65k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Automating Front-end Workflow
addyosmani
1369
200k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
260
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Transcript
シード期のプロダクト開発 Shoma Takeo
自己紹介 2 2
自己紹介 ブロック2 アルプ創業前 2014年に株式会社サイバーエージェントに入社。動画広告配信事業にお ける開発責任者を担当。その後ゲーム事業者向けのリターゲティング広 告配信事業の米国事業立ち上げに開発者として従事。 アルプでは 共同創業者、開発担当取締役。 初期はバックエンドエンジニアを主として、現在は開発組織全体のマ ネージメント・採用を担当。
キーワード Scala ラーメン(最近は煮干し系)・二郎 スポーツ観戦(野球・NBA・オリンピック) 竹尾 正馬 @showmant_ タイトルのみのブロック タイトルのみのブロック
会社紹介 4 4
None
None
プロダクト紹介 7 7
None
None
本題 1 1
開発初期のプロダクト開発フロー 1. ヒアリング 2. ドメインモデリング 3. プロトタイピング 1年程度で100社程度のあらゆる サブスクリプション事業者へのヒ アリング
モデリングに重点をおき、原則は下記3工程のループをとにかくまわす 開発初期からドメインモデリング ・設計に超注力していた 簡易なバックエンドとフロントエ ンドのプロトタイプを数ヶ月で作 成。作成後にプロトタイプ版から 現在のScalebaseを開発 • エンジニアも同行 • 先方の業務オペレーション細 かくヒアリング • ドメインモデリングや3のプロ トタイプのレビューも行う • 設計に注力することが数年単 位で見たときに最速デリバ リーの根幹であると仮説 • ヒアリングや市場調査が種 • 概念図をとにかく書いた • セールス時のデモとして利用 • ヒアリング時により深い議論 をするために活用 • 設計はモデリングの結果を反 映したものになっていた
None
開発フローで失敗したこと ヒアリング 失敗したこと ドメインモデリ ング プロトタイピン グ (結果失敗ではないが)toCよりもtoBにペインが大きいことが分かった ヒアリングをすすめると、toCよりもtoBのほうが管理の複雑性が高くいことがわかった。ヒアリングを重ねる前にtoCだと 決め込んでクレジットカード決済用の実装などを進めていたが、toBでは請求書払いが圧倒的に多く、先に開発した部分が無
駄になってしまった。 ドメインモデリングの型をつくれず、資産化できなかった ※いまも苦戦中 ドメインモデリングは概念図など様々な図を利用して議論しながら行われてきた。 DDDを全社で取り組むにあたってはドメ イン理解が非常に重要で、本来はその時の議論の過程、図などをしっかりとメンテナンスしていくことで資産化し、新しい メンバーへの教育材料になる。これができておらず、「なぜこうなったのか」ということの説明に苦心することが発生。 プロトタイプは別言語を選定したほうがスピードを出せたかもしれない プロトタイプで作ったものを資産化したいという考えから、製品版を見据えてScalaを採用していたが、プロトタイプが直 接製品版にならないということが分かっていたのであれば、スピードを重視して、他言語・フレームワークを利用したほう が良かったかもしれないと思う。
Jenkinsを使ったCS オペレーション クリーンアーキテクチャの強みを活かした実装 顧客がダッシュボードで実行できるべきだが、フロントエンドの開発工 数を取るのが難しく、実装できていない機能がプロダクトが未成熟の状 態では多発する。このとき、バッチインターフェースを用意する形で バックエンド実装し、Jenkins上からカスタマーサクセスメンバーが実 行できるようにすることで「できないオペレーション」をへらす。フロ ントの実装ができる状態になったところで、クリーンアーキテクチャで いうコントローラー層のみを差し替えれば、すぐに顧客が利用するダッ
シュボードでも利用可能なAPIに変換できるので無駄な工数を極限まで減 らすことができる。 Tips タイトルのみのブロック
アルプのぶんぶん丸 ブロック2 ぶんぶん丸を使ったCI/CD コストの圧縮 ScalebaseではScalaを採用しているが、Scalaはコードベースが大きく なったり内部プロジェクトの数が多くなったりするとビルド時間が増加 する。高速にCIできることが開発者の生産性や精神的なストレスの軽減 につながると信じているが、いかんせん CI系のSaaSは料金が高い。 スタートアップにとっては時間もお金も貴重なのだから「安く」・「速
く」ビルドを回したい!そんな課題を解決するのがこのぶんぶん丸。な んと20万円程度で組めるビルド専用の最強マシンなのだ。Scalaのビル ドに最適化された圧倒的スペックを誇り、AWS 環境で利用できるインス タンスよりも価格性能比で優れている。2.5年経った今だに現役であり、 費用対効果は抜群。 最近はエンジニアが15名となり、スケールアウトが求められたため、2 台目の新設、渋滞時にはEC2を利用した並列化を実施中。 Tips タイトルのみのブロック タイトルのみのブロック
We Are Hiring 1 1