Slide 1

Slide 1 text

#RAKUSMeetup ©2021 RAKUS Co., Ltd. ©2021 RAKUS Co., Ltd. #RAKUSMeetup 返したいけど返せない、 大きな技術的負債を返すために 開発本部 第二開発部 楽楽販売開発課 水間 淳之

Slide 2

Slide 2 text

#RAKUSMeetup ©2021 RAKUS Co., Ltd. 自己紹介 •水間 淳之 みずま あつゆき •28歳 入社6年目 •楽楽販売の機能開発を担当 2

Slide 3

Slide 3 text

#RAKUSMeetup ©2021 RAKUS Co., Ltd. #RAKUSMeetup ©2021 RAKUS Co., Ltd. 1章 システム紹介 3

Slide 4

Slide 4 text

#RAKUSMeetup ©2021 RAKUS Co., Ltd. 楽楽販売とは? •色々な業務を管理できるWebDBシステム 4

Slide 5

Slide 5 text

#RAKUSMeetup ©2021 RAKUS Co., Ltd. 楽楽販売とは? 5

Slide 6

Slide 6 text

#RAKUSMeetup ©2021 RAKUS Co., Ltd. #RAKUSMeetup ©2021 RAKUS Co., Ltd. 2章 負債について 6

Slide 7

Slide 7 text

#RAKUSMeetup ©2021 RAKUS Co., Ltd. 秘伝の負債 •なんでも気軽にセッションに保持 •複数タブ操作で競合 たとえば、レコード一覧画面の絞込みの条件 7

Slide 8

Slide 8 text

#RAKUSMeetup ©2021 RAKUS Co., Ltd. 複数タブ操作で競合 8 株式会社ラクース 情報通信 東京都 株式会社らくらく堂 卸・小売 東京都 株式会社ラクース 情報通信 東京都 株式会社らくらく堂 卸・小売 東京都 株式会社楽楽マート 卸・小売 大阪府 株式会社ラクース 情報通信 東京都 株式会社らくらく堂 卸・小売 東京都 株式会社楽楽マート 卸・小売 大阪府 株式会社らくらく堂 卸・小売 東京都 ・「東京都」で絞込 セッションに「東京都」の絞込状態を保存 ・「卸・小売」で絞込 セッションにある絞込状態と合わせて レコードを検索 2件のレコードが表示されてほしいが、 「東京都」&「卸・小売り」 の1レコードのみ表示 タブ① タブ②

Slide 9

Slide 9 text

#RAKUSMeetup ©2021 RAKUS Co., Ltd. 秘伝の負債(技術的な解決) •絞込条件を毎回リクエストパラメータで送るように することで別タブの操作で上書きされなくなる • 例)Amazonで「keyboard」検索、価格昇順のURL • https://www.amazon.co.jp/s?k=keyboard&s=price-asc-rank 9

Slide 10

Slide 10 text

#RAKUSMeetup ©2021 RAKUS Co., Ltd. #RAKUSMeetup ©2021 RAKUS Co., Ltd. 3章 なぜ対応に踏み切れたか 10

Slide 11

Slide 11 text

#RAKUSMeetup ©2021 RAKUS Co., Ltd. そもそもなぜ対応に踏み切れなかったか •仕様面 •開発当初(初版リリースが2008年)からタブ対応 しておらず、そのまま •コスト面 • 数人月はかかるリファクタリングとなり、明確に 釣り合うメリットを作り出せなかった 11

Slide 12

Slide 12 text

#RAKUSMeetup ©2021 RAKUS Co., Ltd. なぜ対応に踏み切れたか •他の大きな流れの中に組み込んでしまう •返済ひとつだとビジネスサイドと合意できない →無停止リリース 12

Slide 13

Slide 13 text

#RAKUSMeetup ©2021 RAKUS Co., Ltd. 無停止リリース •サービスに影響なくリリースを実施したい •一部プログラムのみ差し替えでも強制ログアウト が発生していた • 顧客価値を高める施策として優先度が高めだった 13

Slide 14

Slide 14 text

#RAKUSMeetup ©2021 RAKUS Co., Ltd. 強制ログアウト •サーバ構成はWeb冗長化 14 ・・・ セッションファイル Web DB ・・・ セッションファイル Web

Slide 15

Slide 15 text

#RAKUSMeetup ©2021 RAKUS Co., Ltd. 強制ログアウト •アクセス切替を行うと… 15 ・・・ セッションファイル Web DB ・・・ セッションファイル Web

Slide 16

Slide 16 text

#RAKUSMeetup ©2021 RAKUS Co., Ltd. 無停止リリース(技術的な課題) •セッションファイルの管理が問題 •DB化をしたいがセッションサイズが大きい →セッションに保持している情報の見直し •セッションから持ち替え 16 負債を返済できる

Slide 17

Slide 17 text

#RAKUSMeetup ©2021 RAKUS Co., Ltd. #RAKUSMeetup ©2021 RAKUS Co., Ltd. 4章 対応中の苦労 17

Slide 18

Slide 18 text

#RAKUSMeetup ©2021 RAKUS Co., Ltd. 苦労した点 •機能が多く、対応箇所が爆発した •レコード一覧画面以外にもセッション乱用箇所を 対応した • 全UIをクリックしていくような自動テストがない •総工数 約7人月 18

Slide 19

Slide 19 text

#RAKUSMeetup ©2021 RAKUS Co., Ltd. #RAKUSMeetup ©2021 RAKUS Co., Ltd. 5章 さいごに 19

Slide 20

Slide 20 text

#RAKUSMeetup ©2021 RAKUS Co., Ltd. まとめ •楽楽販売のセッションに関する技術的負債 •プロダクトとして返済の優先度は高くないもの • 他の優先度の高いものと一緒にして返済 20

Slide 21

Slide 21 text

#RAKUSMeetup ©2021 RAKUS Co., Ltd. まとめ •技術的負債の返済はそれ単体では難しいが、利 用者のメリットとなる取り組みと一緒にしてし まうことで、チャンスを作ることはできる 21