Upgrade to Pro — share decks privately, control downloads, hide ads and more …

プロダクトのアジリティを高めるためにアイミツSaaSをリプレイスした話

PRONI株式会社
November 25, 2024
8

 プロダクトのアジリティを高めるためにアイミツSaaSをリプレイスした話

当社メンバーのイベント登壇時の発表資料です。

PRONI株式会社

November 25, 2024
Tweet

More Decks by PRONI株式会社

Transcript

  1. 自己紹介 リードエンジニア 兼 CPO室 竹澤 裕次郎  (Yujiro Takezawa) 展示会イベントや不動産にまつわる Webプロダクト開発に携わり、エンジ ニアとして複数の新規事業立ち上げを経験。

    2021年4月ユニラボ入社 現在はリードエンジニアとしてアイミツ SaaSのプロダクト開発、および CPO室を兼任し、事業横断でのプロダクト戦略の策定、推進、各プロダク トの価値向上に従事。
  2. 会社紹介 アイミツ開発チーム アイミツSaaS 開発チーム アイミツCLOUD 開発チーム データ分析チーム デザイナーチーム CTO /

    プロダクトマネージャー アイミツ アイミツCLOUD アイミツSaaS 2021/4よりリプレイス project推進中 2021/4 β版リリース 2021/5 リプレイス完了 2021/04 リリース PMFに向けて仮説検証 中 事業横断でのプロダクト 戦略の策定、推進 各プロダクトの価値向上 情報システムチーム CPO室
  3. リプレイスの経緯 アイミツSaaSの変遷 
 • 2020年12月にα版リリース 
 ◦ 約2週間で開発/リリースし最速で検証を開始 
 ◦

    リリースを早めるためにアイミツに相乗り 
 • 2021年4月にβ版リリース 
 ◦ SaaSカテゴリ追加やデザインの刷新などを行った 
 • 初期リリースから速いペースで検証/開発を進めていった 

  4. リプレイスの経緯 相乗りしたことで開発速度へ影響が出てきた 
 • インフラでの影響 
 ◦ リリースがアイミツ/アイミツSaaSで共通のため、リリース確認や調 整が増えていた 


    ◦ 2つのプロダクトのコミット履歴が混ざるので追いきれない 
 • アプリケーションでの影響 
 ◦ 独自フレームワークがメインのため慣れるまで時間がかかる 
 ◦ 共通部分とそうでない箇所が混ざり、影響範囲が不明確のため開 発前の調査に時間がかかっていた 

  5. アジリティ向上のためにリプレイス インフラでのボトルネック解消のために 
 • Githubリポジトリを新規作成 
 ◦ リリースタイミングなどの調整が事業内で完結するように 
 •

    AWSアカウントを新規作成 
 ◦ Code Deploy/ECS などを利用し環境構築 
 ◦ AWS Organizationsを利用し、既存アカウントに紐付ける形で新規 アカウントを作成 
 ◦ それによりAWS IAMによる権限管理や費用の管理などが事業単位 で可能に

  6. アジリティ向上のためにリプレイス アプリケーションでのボトルネック解消のために 
 • Laravelで1から作り直すことにした 
 • 既存アプリケーションでも一部Laravelが使われていた 
 ◦

    メンバーの学習コストが低く、一部のコードは流用可能だった 
 • 個人的にLaravelでアプリケーションの立ち上げを複数回経験しており、 開発の初速が出しやすかった 
 • クリーンアーキテクチャやDDDなどを参考に設計することで変更容易正 を担保し、アジリティを高められるようにしました 

  7. リプレイスして得られたもの 素早い開発と安心なリリースが可能に 
 • リリース判断が事業内で完結するようになった 
 ◦ インフラの影響範囲がアイミツSaaS内で留められたので 
 リリース調整などが不要になった

    
 • シンプルでわかりやすいアプリケーションに! 
 ◦ Laravelに集約されため、シンプルで影響範囲がわかりやすく 
 ◦ 自動テストや静的解析ツールも導入することでコードの変更コスト を抑えられました 
 • 開発にかかる工数がへり素早い仮説検証が可能に! 

  8. リプレイスして得られたもの チーム内でのコミュニケーションが増えた 
 • ビジネスサイドとのコミュニケーションを増やせた 
 ◦ いままでは開発に専念しないとサイクルが回らなかったが、 
 開発スピードが上がったため時間が取れるようになった

    
 ◦ 施策の目的や背景など、なぜやるのかを話し合えるように 
 • コミュニケーションが増えることで、認識の違いによるミスなどがなくな り、より素早い仮説検証が可能に! 
 • アジャイルなチームへの第1歩を踏み出せた! 

  9. まとめ • 新規事業において仮説検証を素早く行える環境づくりが大事 
 • アイミツSaaSでは、保守性や変更容易性を高めるアプローチ 
 ◦ クリーンアーキテクチャやDDDなどが参考になった 


    ◦ 自動テストや静的解析も導入し、気軽にリファクタリングできる環境 に
 • コミュニケーションを促進するには開発のスピードが重要と気づき 
 ◦ 開発タスクが溜まっていると視野が狭くなり、プロダクトの事などに 気が回らなくなっていた 
 ◦ 開発をする、しないも含めて少しの余裕がある状態を保つことも良 いプロダクト、強いチームを作るために重要