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
プロダクトのアジリティを高めるためにアイミツSaaSをリプレイスした話 / imitsu sa...
Search
unilabo
September 27, 2021
0
600
プロダクトのアジリティを高めるためにアイミツSaaSをリプレイスした話 / imitsu saas replace
仮説検証をいかに素早く行うかが大事と考えます。 これまでのアイミツから、新しいプロダクトを開発するために既存環境から脱却し、仮説検証を素早く行える仕組みを作った話です。
unilabo
September 27, 2021
Tweet
Share
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Optimizing for Happiness
mojombo
376
70k
What's new in Ruby 2.0
geeforr
343
31k
Making Projects Easy
brettharned
115
5.9k
A Tale of Four Properties
chriscoyier
156
23k
Visualization
eitanlees
145
15k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
The World Runs on Bad Software
bkeepers
PRO
65
11k
How GitHub (no longer) Works
holman
310
140k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Transcript
ϓϩμΫτͷΞδϦςΟΛߴΊΔͨΊʹ ΞΠϛπ4BB4ΛϦϓϨΠεͨ͠ 2021.09.08
自己紹介 リードエンジニア 兼 CPO室 竹澤 裕次郎 (Yujiro Takezawa) 展示会イベントや不動産にまつわるWebプロダクト開発に携わり、 エンジニアとして複数の新規事業立ち上げを経験。
2021年4月ユニラボ入社 現在はリードエンジニアとしてアイミツSaaSのプロダクト開発、 およびCPO室を兼任し、事業横断でのプロダクト戦略の策定、推 進、各プロダクトの価値向上に従事。
会社紹介 アイミツ開発チーム アイミツSaaS 開発チーム アイミツCLOUD 開発チーム データ分析チーム デザイナーチーム CTO /
プロダクトマネージャー アイミツ アイミツCLOUD アイミツSaaS 2021/4よりリプレイス project推進中 2021/4 β版リリース 2021/5 リプレイス完 了 2021/04 リリース PMFに向けて仮説検証 中 事業横断でのプロダク ト戦略の策定、推進 各プロダクトの価値向 上 情報システムチーム CPO室
目次 • リプレイスの経緯 • アジリティ向上のためにリプレイス • リプレイスして得られたもの • さらにチームのアジリティを⾼める︕ •
まとめ
ϦϓϨΠεͷܦҢ
サービスの紹介 法⼈向けSaaS⽐較サービス「アイミツSaaS」 ๏ਓ͚4BB4Λൺֱ͠ɺࢿྉٻͰ͖ΔαʔϏεɻ ӦۀɾϚʔέςΟϯάɾ)3ɾใγεςϜͳͲɺ༷ʑͳ ͷ4BB4Λཏ͠ɺͦΕΒͷՁ֨ػೳɺಛͳͲɺൺֱʹඞ ཁͳใΛ·ͱΊͯ͝հ͠·͢ɻ
リプレイスの経緯 アイミツSaaSの変遷 • 2020年12⽉にα版リリース ◦ 約2週間で開発/リリースし最速で検証を開始 ◦ リリースを早めるためにアイミツに相乗り • 2021年4⽉にβ版リリース
◦ SaaSカテゴリ追加やデザインの刷新などを⾏った • 初期リリースから速いペースで検証/開発を進めていった
リプレイスの経緯 相乗りしたことで開発速度へ影響が出てきた • インフラでの影響 ◦ リリースがアイミツ/アイミツSaaSで共通のため、リリース確 認や調整が増えていた ◦ 2つのプロダクトのコミット履歴が混ざるので追いきれない •
アプリケーションでの影響 ◦ 独⾃フレームワークがメインのため慣れるまで時間がかかる ◦ 共通部分とそうでない箇所が混ざり、影響範囲が不明確のため 開発前の調査に時間がかかっていた
ΞδϦςΟ্ͷͨΊʹϦϓϨΠε
アジリティ向上のためにリプレイス アジリティとは • アジャイル(素早い、機敏な)の名詞形 • アプリケーションを迅速に、状況の変化に柔軟に対応できるように 開発を⾏う • アジャイル開発ができるようにインフラ/アプリケーションの整備を する名⽬でリプレイス
アジリティ向上のためにリプレイス インフラでのボトルネック解消のために • Githubリポジトリを新規作成 ◦ リリースタイミングなどの調整が事業内で完結するように • AWSアカウントを新規作成 ◦ Code
Deploy/ECS などを利⽤し環境構築 ◦ AWS Organizationsを利⽤し、既存アカウントに紐付ける形 で新規アカウントを作成 ◦ それによりAWS IAMによる権限管理や費⽤の管理などが事業 単位で可能に
アジリティ向上のためにリプレイス
アジリティ向上のためにリプレイス アプリケーションでのボトルネック解消のために • Laravelで1から作り直すことにした • 既存アプリケーションでも⼀部Laravelが使われていた ◦ メンバーの学習コストが低く、⼀部のコードは流⽤可能だった • 個⼈的にLaravelでアプリケーションの⽴ち上げを複数回経験して
おり、開発の初速が出しやすかった • クリーンアーキテクチャやDDDなどを参考に設計することで変更容 易正を担保し、アジリティを⾼められるようにしました
ϦϓϨΠεͯ͠ಘΒΕͨͷ
リプレイスして得られたもの 素早い開発と安⼼なリリースが可能に • リリース判断が事業内で完結するようになった ◦ インフラの影響範囲がアイミツSaaS内で留められたので リリース調整などが不要になった • シンプルでわかりやすいアプリケーションに︕ ◦
Laravelに集約されため、シンプルで影響範囲がわかりやすく ◦ ⾃動テストや静的解析ツールも導⼊することでコードの変更コ ストを抑えられました • 開発にかかる⼯数がへり素早い仮説検証が可能に︕
リプレイスして得られたもの チーム内でのコミュニケーションが増えた • ビジネスサイドとのコミュニケーションを増やせた ◦ いままでは開発に専念しないとサイクルが回らなかったが、 開発スピードが上がったため時間が取れるようになった ◦ 施策の⽬的や背景など、なぜやるのかを話し合えるように •
コミュニケーションが増えることで、認識の違いによるミスなどが なくなり、より素早い仮説検証が可能に︕ • アジャイルなチームへの第1歩を踏み出せた︕
͞ΒʹνʔϜͷΞδϦςΟΛߴΊΔʂ
さらにチームのアジリティを高める! スクラムを⼀部導⼊ • アジャイル開発の王道を取り⼊れチームに浸透させていく ◦ プロダクトバックログ/振り返りでワンチーム感︕
さらにチームのアジリティを高める! プロダクト合宿(1day) • エンジニアサイド/ビジネスサイドと別れていたのをチームとして⼀体 感を醸成するために合宿を実施 ◦ 事業のビジョンを深堀りしたり、お互いを知るためゲームをしたり • 相⼿を知ることで、遠慮がちだった意⾒が⾔えるようになり、コミュニ ケーションが活発に︕
·ͱΊ
まとめ • 新規事業において仮説検証を素早く⾏える環境づくりが⼤事 • アイミツSaaSでは、保守性や変更容易性を⾼めるアプローチ ◦ クリーンアーキテクチャやDDDなどが参考になった ◦ ⾃動テストや静的解析も導⼊し、気軽にリファクタリングでき る環境に
• コミュニケーションを促進するには開発のスピードが重要と気づき ◦ 開発タスクが溜まっていると視野が狭くなり、プロダクトの事 などに気が回らなくなっていた ◦ 開発をする、しないも含めて少しの余裕がある状態を保つこと も良いプロダクト、強いチームを作るために重要
ご清聴ありがとうございました