Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

自己紹介 リードエンジニア 兼 CPO室 竹澤 裕次郎 (Yujiro Takezawa) 展示会イベントや不動産にまつわるWebプロダクト開発に携わり、 エンジニアとして複数の新規事業立ち上げを経験。 2021年4月ユニラボ入社 現在はリードエンジニアとしてアイミツSaaSのプロダクト開発、 およびCPO室を兼任し、事業横断でのプロダクト戦略の策定、推 進、各プロダクトの価値向上に従事。

Slide 3

Slide 3 text

会社紹介 アイミツ開発チーム アイミツSaaS 開発チーム アイミツCLOUD 開発チーム データ分析チーム デザイナーチーム CTO / プロダクトマネージャー アイミツ アイミツCLOUD アイミツSaaS 2021/4よりリプレイス project推進中 2021/4 β版リリース 2021/5 リプレイス完 了 2021/04 リリース PMFに向けて仮説検証 中 事業横断でのプロダク ト戦略の策定、推進 各プロダクトの価値向 上 情報システムチーム CPO室

Slide 4

Slide 4 text

目次 ● リプレイスの経緯 ● アジリティ向上のためにリプレイス ● リプレイスして得られたもの ● さらにチームのアジリティを⾼める︕ ● まとめ

Slide 5

Slide 5 text

ϦϓϨΠεͷܦҢ

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

リプレイスの経緯 アイミツSaaSの変遷 ● 2020年12⽉にα版リリース ○ 約2週間で開発/リリースし最速で検証を開始 ○ リリースを早めるためにアイミツに相乗り ● 2021年4⽉にβ版リリース ○ SaaSカテゴリ追加やデザインの刷新などを⾏った ● 初期リリースから速いペースで検証/開発を進めていった

Slide 8

Slide 8 text

リプレイスの経緯 相乗りしたことで開発速度へ影響が出てきた ● インフラでの影響 ○ リリースがアイミツ/アイミツSaaSで共通のため、リリース確 認や調整が増えていた ○ 2つのプロダクトのコミット履歴が混ざるので追いきれない ● アプリケーションでの影響 ○ 独⾃フレームワークがメインのため慣れるまで時間がかかる ○ 共通部分とそうでない箇所が混ざり、影響範囲が不明確のため 開発前の調査に時間がかかっていた

Slide 9

Slide 9 text

ΞδϦςΟ޲্ͷͨΊʹϦϓϨΠε

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

アジリティ向上のためにリプレイス インフラでのボトルネック解消のために ● Githubリポジトリを新規作成 ○ リリースタイミングなどの調整が事業内で完結するように ● AWSアカウントを新規作成 ○ Code Deploy/ECS などを利⽤し環境構築 ○ AWS Organizationsを利⽤し、既存アカウントに紐付ける形 で新規アカウントを作成 ○ それによりAWS IAMによる権限管理や費⽤の管理などが事業 単位で可能に

Slide 12

Slide 12 text

アジリティ向上のためにリプレイス

Slide 13

Slide 13 text

アジリティ向上のためにリプレイス アプリケーションでのボトルネック解消のために ● Laravelで1から作り直すことにした ● 既存アプリケーションでも⼀部Laravelが使われていた ○ メンバーの学習コストが低く、⼀部のコードは流⽤可能だった ● 個⼈的にLaravelでアプリケーションの⽴ち上げを複数回経験して おり、開発の初速が出しやすかった ● クリーンアーキテクチャやDDDなどを参考に設計することで変更容 易正を担保し、アジリティを⾼められるようにしました

Slide 14

Slide 14 text

ϦϓϨΠεͯ͠ಘΒΕͨ΋ͷ

Slide 15

Slide 15 text

リプレイスして得られたもの 素早い開発と安⼼なリリースが可能に ● リリース判断が事業内で完結するようになった ○ インフラの影響範囲がアイミツSaaS内で留められたので リリース調整などが不要になった ● シンプルでわかりやすいアプリケーションに︕ ○ Laravelに集約されため、シンプルで影響範囲がわかりやすく ○ ⾃動テストや静的解析ツールも導⼊することでコードの変更コ ストを抑えられました ● 開発にかかる⼯数がへり素早い仮説検証が可能に︕

Slide 16

Slide 16 text

リプレイスして得られたもの チーム内でのコミュニケーションが増えた ● ビジネスサイドとのコミュニケーションを増やせた ○ いままでは開発に専念しないとサイクルが回らなかったが、 開発スピードが上がったため時間が取れるようになった ○ 施策の⽬的や背景など、なぜやるのかを話し合えるように ● コミュニケーションが増えることで、認識の違いによるミスなどが なくなり、より素早い仮説検証が可能に︕ ● アジャイルなチームへの第1歩を踏み出せた︕

Slide 17

Slide 17 text

͞ΒʹνʔϜͷΞδϦςΟΛߴΊΔʂ

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

·ͱΊ

Slide 21

Slide 21 text

まとめ ● 新規事業において仮説検証を素早く⾏える環境づくりが⼤事 ● アイミツSaaSでは、保守性や変更容易性を⾼めるアプローチ ○ クリーンアーキテクチャやDDDなどが参考になった ○ ⾃動テストや静的解析も導⼊し、気軽にリファクタリングでき る環境に ● コミュニケーションを促進するには開発のスピードが重要と気づき ○ 開発タスクが溜まっていると視野が狭くなり、プロダクトの事 などに気が回らなくなっていた ○ 開発をする、しないも含めて少しの余裕がある状態を保つこと も良いプロダクト、強いチームを作るために重要

Slide 22

Slide 22 text

ご清聴ありがとうございました