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をリプレイスした話
Search
PRONI株式会社
November 25, 2024
0
21
プロダクトのアジリティを高めるためにアイミツSaaSをリプレイスした話
当社メンバーのイベント登壇時の発表資料です。
PRONI株式会社
November 25, 2024
Tweet
Share
More Decks by PRONI株式会社
See All by PRONI株式会社
わたしたちにIaCはまだ早かったのかもしれない/AWS Startup Meetup #13
proni
0
94
開発生産性を高めるために実践しているナレッジの紹介/夏の開発生産性LT Week
proni
0
23
開発生産性と開発者体験の向上に向けた CI/CD改善の取り組み / proni-techbrew-in-tokyo-20240220
proni
3
3.1k
新チーム立ち上げから EMの関わり方の変化
proni
1
160
PRONI株式会社エンジニア向け採用資料/PRONI-for-engineer
proni
0
12k
失敗しない発注先探しの鉄則 -便利な発注先チェックリスト20選付き-
proni
1
350
PRONI VISIONING BOOK
proni
2
24k
PRONI株式会社会社説明資料 / PRONI-Now-Hiring
proni
1
69k
会社説明資料(新卒用)202310.pptx
proni
0
3.1k
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Speed Design
sergeychernyshev
27
790
Fireside Chat
paigeccino
34
3.2k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
GraphQLとの向き合い方2022年版
quramy
44
13k
Transcript
プロダクトのアジリティを高めるために アイミツSaaSをリプレイスした話 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」 法人向けSaaSを比較し、資料請求できるサービス。 営業・マーケティング・HR・情報システムなど、様々な分野のSaaS を網羅し、それらの価格や機能、特徴など、比較に必要な情報をま とめてご紹介します。
リプレイスの経緯 アイミツ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などが参考になった
◦ 自動テストや静的解析も導入し、気軽にリファクタリングできる環境 に • コミュニケーションを促進するには開発のスピードが重要と気づき ◦ 開発タスクが溜まっていると視野が狭くなり、プロダクトの事などに 気が回らなくなっていた ◦ 開発をする、しないも含めて少しの余裕がある状態を保つことも良 いプロダクト、強いチームを作るために重要
ご清聴ありがとうございました