$30 off During Our Annual Pro Sale. View Details »

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

unilabo
September 27, 2021
380

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

仮説検証をいかに素早く行うかが大事と考えます。 これまでのアイミツから、新しいプロダクトを開発するために既存環境から脱却し、仮説検証を素早く行える仕組みを作った話です。

unilabo

September 27, 2021
Tweet

Transcript

  1. ϓϩμΫτͷΞδϦςΟΛߴΊΔͨΊʹ ΞΠϛπ4BB4ΛϦϓϨΠεͨ͠࿩ 2021.09.08

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

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

    プロダクトマネージャー アイミツ アイミツCLOUD アイミツSaaS 2021/4よりリプレイス project推進中 2021/4 β版リリース 2021/5 リプレイス完 了 2021/04 リリース PMFに向けて仮説検証 中 事業横断でのプロダク ト戦略の策定、推進 各プロダクトの価値向 上 情報システムチーム CPO室
  4. 目次 • リプレイスの経緯 • アジリティ向上のためにリプレイス • リプレイスして得られたもの • さらにチームのアジリティを⾼める︕ •

    まとめ
  5. ϦϓϨΠεͷܦҢ

  6. サービスの紹介 法⼈向けSaaS⽐較サービス「アイミツSaaS」 ๏ਓ޲͚4BB4Λൺֱ͠ɺࢿྉ੥ٻͰ͖ΔαʔϏεɻ ӦۀɾϚʔέςΟϯάɾ)3ɾ৘ใγεςϜͳͲɺ༷ʑͳ෼໺ ͷ4BB4Λ໢ཏ͠ɺͦΕΒͷՁ֨΍ػೳɺಛ௃ͳͲɺൺֱʹඞ ཁͳ৘ใΛ·ͱΊͯ͝঺հ͠·͢ɻ

  7. リプレイスの経緯 アイミツSaaSの変遷 • 2020年12⽉にα版リリース ◦ 約2週間で開発/リリースし最速で検証を開始 ◦ リリースを早めるためにアイミツに相乗り • 2021年4⽉にβ版リリース

    ◦ SaaSカテゴリ追加やデザインの刷新などを⾏った • 初期リリースから速いペースで検証/開発を進めていった
  8. リプレイスの経緯 相乗りしたことで開発速度へ影響が出てきた • インフラでの影響 ◦ リリースがアイミツ/アイミツSaaSで共通のため、リリース確 認や調整が増えていた ◦ 2つのプロダクトのコミット履歴が混ざるので追いきれない •

    アプリケーションでの影響 ◦ 独⾃フレームワークがメインのため慣れるまで時間がかかる ◦ 共通部分とそうでない箇所が混ざり、影響範囲が不明確のため 開発前の調査に時間がかかっていた
  9. ΞδϦςΟ޲্ͷͨΊʹϦϓϨΠε

  10. アジリティ向上のためにリプレイス アジリティとは • アジャイル(素早い、機敏な)の名詞形 • アプリケーションを迅速に、状況の変化に柔軟に対応できるように 開発を⾏う • アジャイル開発ができるようにインフラ/アプリケーションの整備を する名⽬でリプレイス

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

    Deploy/ECS などを利⽤し環境構築 ◦ AWS Organizationsを利⽤し、既存アカウントに紐付ける形 で新規アカウントを作成 ◦ それによりAWS IAMによる権限管理や費⽤の管理などが事業 単位で可能に
  12. アジリティ向上のためにリプレイス

  13. アジリティ向上のためにリプレイス アプリケーションでのボトルネック解消のために • Laravelで1から作り直すことにした • 既存アプリケーションでも⼀部Laravelが使われていた ◦ メンバーの学習コストが低く、⼀部のコードは流⽤可能だった • 個⼈的にLaravelでアプリケーションの⽴ち上げを複数回経験して

    おり、開発の初速が出しやすかった • クリーンアーキテクチャやDDDなどを参考に設計することで変更容 易正を担保し、アジリティを⾼められるようにしました
  14. ϦϓϨΠεͯ͠ಘΒΕͨ΋ͷ

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

    Laravelに集約されため、シンプルで影響範囲がわかりやすく ◦ ⾃動テストや静的解析ツールも導⼊することでコードの変更コ ストを抑えられました • 開発にかかる⼯数がへり素早い仮説検証が可能に︕
  16. リプレイスして得られたもの チーム内でのコミュニケーションが増えた • ビジネスサイドとのコミュニケーションを増やせた ◦ いままでは開発に専念しないとサイクルが回らなかったが、 開発スピードが上がったため時間が取れるようになった ◦ 施策の⽬的や背景など、なぜやるのかを話し合えるように •

    コミュニケーションが増えることで、認識の違いによるミスなどが なくなり、より素早い仮説検証が可能に︕ • アジャイルなチームへの第1歩を踏み出せた︕
  17. ͞ΒʹνʔϜͷΞδϦςΟΛߴΊΔʂ

  18. さらにチームのアジリティを高める! スクラムを⼀部導⼊ • アジャイル開発の王道を取り⼊れチームに浸透させていく ◦ プロダクトバックログ/振り返りでワンチーム感︕

  19. さらにチームのアジリティを高める! プロダクト合宿(1day) • エンジニアサイド/ビジネスサイドと別れていたのをチームとして⼀体 感を醸成するために合宿を実施 ◦ 事業のビジョンを深堀りしたり、お互いを知るためゲームをしたり • 相⼿を知ることで、遠慮がちだった意⾒が⾔えるようになり、コミュニ ケーションが活発に︕

  20. ·ͱΊ

  21. まとめ • 新規事業において仮説検証を素早く⾏える環境づくりが⼤事 • アイミツSaaSでは、保守性や変更容易性を⾼めるアプローチ ◦ クリーンアーキテクチャやDDDなどが参考になった ◦ ⾃動テストや静的解析も導⼊し、気軽にリファクタリングでき る環境に

    • コミュニケーションを促進するには開発のスピードが重要と気づき ◦ 開発タスクが溜まっていると視野が狭くなり、プロダクトの事 などに気が回らなくなっていた ◦ 開発をする、しないも含めて少しの余裕がある状態を保つこと も良いプロダクト、強いチームを作るために重要
  22. ご清聴ありがとうございました