Slide 1

Slide 1 text

日本の医療体験を、しなやかに。 © KAKEHASHI Inc. 新規プロダクトの仮説検証ループを すばやく回し続けるための プロダクトエンジニアリング 2024.03.13 @ Product Engineer Night #3 株式会社カケハシ 椎葉 光行

Slide 2

Slide 2 text

© KAKEHASHI Inc. 椎葉 光行 (@bufferings) ● 楽天(30代の10年間)→CircleCI(1年)→カケハシ(2023年4月〜) ● 大阪の自宅からフルリモートで仕事をしてる ● フルスタックエンジニア プロダクトエンジニア 今日からプロダクトエンジニアってことで!

Slide 3

Slide 3 text

© KAKEHASHI Inc. カケハシで何をやってるの? ● 株式会社カケハシ ○ 医療系スタートアップ ○ ミッション「日本の医療体験を、しなやかに。」 ○ 従業員数358名(2023年12月時点) ● 椎葉:薬局向け新規サービスの立ち上げを担当 ○ 仮説を検証しまくるタイプのプロダクト ○ 2023年4月入社後すぐに立ち上げを担当 ○ 10月にベータ版をローンチ

Slide 4

Slide 4 text

© KAKEHASHI Inc. 今日の話 ● 話すこと ○ プロダクトを支えるエンジニアリングの話 ● 話さないこと ○ プロダクト自体の話 全体的にさらっと話すので あとでみんなと話すネタになったらいいなという気持ち

Slide 5

Slide 5 text

どんな感じで開発してるの? その「エンジニアリング」とやらをやった結果 どうなってるのよ?って話を先にするー

Slide 6

Slide 6 text

© KAKEHASHI Inc. どんな感じで開発してるの? 直近の様子 ● プロダクトマネージャーが薬局訪問 ○ 次の日には仮説を立ててチケットを起票 ← これ速い ● チケットが起票されてからリリースされるまで ○ 4日後、7日後、当日、翌日 ← これも速い ユーザーさんからも喜びの声が届いて喜んだ!

Slide 7

Slide 7 text

© KAKEHASHI Inc. どんな感じで開発してるの? 大きめの開発のときでも ● 機能をデプロイできる単位で小さく切り分けて優先順位を決める ● それを本番環境に隠してデプロイ ○ 社内からは見えるようにしてフィードバックをもらう ● 準備が整ったら公開する 1個ずつ公開するときもあれば いくつか揃ってから公開するときもあるよ!

Slide 8

Slide 8 text

© KAKEHASHI Inc. どんな感じで開発してるの? ほぼ毎日本番環境にデプロイしてる ● この1ヶ月間で本番デプロイを25回してた ● いちばん多い日は1日に4回デプロイしてた

Slide 9

Slide 9 text

という感じの開発を支える エンジニアリング

Slide 10

Slide 10 text

© KAKEHASHI Inc. 仮説検証ループをすばやく回し続けたい! すばやい開発 ● フルスタックなチーム ● モノレポ ● CI/CD/IaC 変化への適応 ● スクラム ● モブプログラミング ● トランクベース開発 安定した運用 ● シンプルな設計 ● ロギング・トレーシング ● 検証用メトリクス 「みんなもこうするべき」なんて思ってないからね! 僕らはこうやってるってだけ

Slide 11

Slide 11 text

© KAKEHASHI Inc. すばやい開発:誰でもどこでもさわれる強いチームづくり! ● フルスタックな開発チーム ○ フロントエンド・バックエンド・インフラ。誰でもどこでもさわれる ○ ただし、それぞれのメンバーに得意な領域がある ● モノレポ ○ アプリケーション用のモノレポ。フルTypeScript ○ それとは別にデプロイ用のリポジトリと、インフラ用のリポジトリがある ● CI/CD/IaCで自動化 ○ 特にデプロイメントのパイプラインは初期から構築していた ○ トランクベース開発の土台

Slide 12

Slide 12 text

© KAKEHASHI Inc. 変化への適応:変化が多いのでシュッと対応できるように! ● スクラム ○ 1週間スプリント ○ 毎週動くモノを見せる・毎週ふりかえりをする ● モブプログラミング ○ 午前中は4人でモブプログラミング。午後はペアに分かれている ○ メインペア→機能開発。サブペア→技術的負債の返済など ● トランクベース開発 ○ 常にmainにマージして本番環境までデプロイする ○ フィーチャーフラグなどで機能を制御

Slide 13

Slide 13 text

© KAKEHASHI Inc. 安定した運用:手のかからない運用が開発スピードに直結! ● シンプルな設計 ○ モジュラーモノリス・DBを分割可能な状態にしている ○ DDDの戦術的設計は採用しないことにした。でもユビキタス言語にはこだわる ● ロギング・トレーシング ○ 1行1行どこで予想外のことが起こってもユーザー影響が分かるようにしている ○ フロントエンド・BFF・APIをつなぐ分散トレーシングを取得している ● 検証用メトリクス ○ 仮説を検証できるように、ユーザーアクションなどのメトリクスを取得している

Slide 14

Slide 14 text

© KAKEHASHI Inc. そういうチームなので、こういうことができた! コードを初めて触ったその日に本番環境までデプロイ https://twitter.com/dora_e_m/status/1767471761501909442

Slide 15

Slide 15 text

まとめ

Slide 16

Slide 16 text

© KAKEHASHI Inc. 仮説検証ループをすばやく回し続けてる! すばやい開発 ● フルスタックなチーム ● モノレポ ● CI/CD/IaC 変化への適応 ● スクラム ● モブプログラミング ● トランクベース開発 安定した運用 ● シンプルな設計 ● ロギング・トレーシング ● 検証用メトリクス このあたりのネタでみんなとお話できると嬉しい!

Slide 17

Slide 17 text

No content