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
進化を止めない、"レガシー"との向き合い方 / 20220208-techcon2022-ya...
Search
Rakus_Dev
February 08, 2022
Technology
0
2.9k
進化を止めない、"レガシー"との向き合い方 / 20220208-techcon2022-yanari
Rakus_Dev
February 08, 2022
Tweet
Share
More Decks by Rakus_Dev
See All by Rakus_Dev
AIは精算業務をどう変える? 自律型エージェントが実現する未来のワークフロー / RAKUS AI Meetup-1
rakus_dev
0
3
メールディーラーにおけるAI活用事例 ~クレーム検知機能リリースの舞台裏~ / RAKUS AI Meetup-2
rakus_dev
0
3
ラクス開発本部のAI駆動開発推進事例 / RAKUS AI Meetup-3
rakus_dev
0
5
読書シェア会 vol.5 / Yumemi.grow 20250526
rakus_dev
0
1.6k
PdM採用とAIの製品活用を同時に頑張ってみた話 / EM oasis 20250418
rakus_dev
0
170
多様なマネジメント経験から導き出した、事業成長を支えるEMの4つのコンピテンシー / 4 Key EM Competencies for Growth
rakus_dev
2
2.2k
圧倒的な『顧客志向』の文化の創り方 / Product Engineer Night 20250221
rakus_dev
0
250
読書シェア会 vol.2 / Yumemi.grow 20250225
rakus_dev
0
160
ラクスCTOが語る顧客視点を重視したプロダクト開発 / RAKUSTechCon2024_Kude
rakus_dev
0
3k
Other Decks in Technology
See All in Technology
~宇宙最速~2025年AWS Summit レポート
satodesu
1
1.8k
Snowflake Summit 2025全体振り返り / Snowflake Summit 2025 Overall Review
mtpooh
2
400
あなたの声を届けよう! 女性エンジニア登壇の意義とアウトプット実践ガイド #wttjp / Call for Your Voice
kondoyuko
4
440
Windows 11 で AWS Documentation MCP Server 接続実践/practical-aws-documentation-mcp-server-connection-on-windows-11
emiki
0
960
Model Mondays S2E02: Model Context Protocol
nitya
0
220
Liquid Glass革新とSwiftUI/UIKit進化
fumiyasac0921
0
210
変化する開発、進化する体系時代に適応するソフトウェアエンジニアの知識と考え方(JaSST'25 Kansai)
mizunori
1
210
地図も、未来も、オープンに。 〜OSGeo.JPとFOSS4Gのご紹介〜
wata909
0
110
生成AI活用の組織格差を解消する 〜ビジネス職のCursor導入が開発効率に与えた好循環〜 / Closing the Organizational Gap in AI Adoption
upamune
2
1.1k
Understanding_Thread_Tuning_for_Inference_Servers_of_Deep_Models.pdf
lycorptech_jp
PRO
0
120
Navigation3でViewModelにデータを渡す方法
mikanichinose
0
220
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
140
Featured
See All Featured
Being A Developer After 40
akosma
90
590k
Visualization
eitanlees
146
16k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
For a Future-Friendly Web
brad_frost
179
9.8k
A Modern Web Designer's Workflow
chriscoyier
694
190k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
670
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
Building Applications with DynamoDB
mza
95
6.5k
Music & Morning Musume
bryan
46
6.6k
What's in a price? How to price your products and services
michaelherold
246
12k
Transcript
#RAKUSTechCon ©2022 RAKUS Co., Ltd. ©2022 RAKUS Co., Ltd. 進化を止めない、
"レガシー"との向き合い方 株式会社ラクス 開発本部 第四開発部 矢成 行雄
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 自己紹介 矢成 行雄(やなり ゆきお) ▪経歴 2011年 ラクス入社 2012年 「メールディーラー」の開発リーダ
2017年 「チャットディーラー」の新規立ち上げ 2020年 部長として4プロダクトを統括 ▪趣味 文学部東洋史学専攻の中国史オタク 犬二匹と戯れる 酒を飲む(ビール・ワイン・日本酒) Violinを弾く(butブランク◦年以上…)
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 私たちの手掛けているプロダクト① ❏ メールディーラー ❏ チャットディーラー
メールや電話、チャット、LINEからの問い合わせを一元管 理。チーム内の情報共有が簡単になることで、お客様を 待たせない対応を実現! Webページにチャットを設置して、問い合わせ対応を行う ことのできるチャットボット。チャットボットの自動回答で、 業務効率化とユーザー満足度の向上を実現!
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 私たちの手掛けているプロダクト② ❏ 配配メール ❏ クルメル
シンプルな操作と機能、手厚いサポートで、メールによる 集客・販促活動を「もっと効果的に。もっとラクに。」 システム連携に特化したメール配信サービス。基幹/CRM システムをはじめ、さまざまなシステムのメール配信を支 えています。
#RAKUSTechCon ©2022 RAKUS Co., Ltd. リリース時期 ❏ メールディーラー ❏ 配配メール
❏ クルメル ❏ チャットディーラー ⇒ 2001年 ⇒ 2007年 ⇒ 2011年 ⇒ 2017年
#RAKUSTechCon ©2022 RAKUS Co., Ltd. レガシーサービスとは? 最新の技術や製品を用いた情報システムと対比して、 相対的に時代遅れとなった古いシステムのこと。 IT用語辞典 e-words
"レガシーシステム"の項より https://e-words.jp/w/%E3%83%AC%E3%82%AC%E3%82%B7%E3%83%BC%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0.html
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 一般的なイメージ > 相対的に時代遅れとなった古いシステムのこと。 ❏ 時代遅れで古い
❏ モダンじゃない ❏ 変化を嫌う ❏ モチベーションあがらない
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 本当にそうか? ❏ 時代遅れで古い ❏ モダンじゃない
❏ 変化を嫌う ❏ モチベーションあがらない ⇒ 「古い=時代遅れ」ではない ⇒ 変化していかないから時代遅れになる ⇒ 進化していかないから"レガシー"になる
#RAKUSTechCon ©2022 RAKUS Co., Ltd. ラクスでも確かに問題はあった ❏ 時代遅れで古い ❏ モダンじゃない
❏ 変化を嫌う ❏ モチベーションあがらない ⇒ 利用技術が古い ⇒ 開発プロセスが古典的 ⇒ 技術的負債が多い ⇒ 情報発信しづらい
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 私たちはどのように向き合ったか? ❏ 積み上げてきた「歴史」の中に価値を見出す ❏ これまでやってきたことを生かす
❏ 「刷新」ではなく「進化」を志向して動く
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 私たちはどのように向き合ったか? 1. 利用技術が古い 2. 開発プロセスが古典的
3. 技術的負債が多い 4. 情報発信しづらい ⇒ 領域をしぼって取り組む ⇒ モダンな開発スタイルとのハイブリッド ⇒ 継続的リファクタリング ⇒ 中核技術に特化したブランディング戦略
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 領域をしぼって取り組む
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 「利用技術が古い」問題 ❏ 主な利用技術 ❏ PHP
❏ ノンフレームワークなプロダクトも ❏ PostgreSQL ❏ jQuery
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 全部やろうとしない ❏ 新技術への全面刷新は確かに難しい ❏ 領域をしぼって導入する(Small
Start) ❏ サブシステム ❏ 新機能 ❏ 効果があれば拡大していく
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 導入事例 ❏ ノンフレームワークPHPアプリケーション ❏ (新UI導入機能のみ)Laravelを導入
❏ (新UI導入機能のみ)blade+SassによるBE/FE分離 ❏ (新UI導入機能のみ)Vue.jsによるFEコンポーネント化 ❏ (チャット機能のみ)Node.js+Socket.ioによるリアルタイム通信 ❏ (単語チェック機能のみ)Mecab導入による自然言語処理 https://speakerdeck.com/kyoshimoto/phptechcafe-2022-01-26
#RAKUSTechCon ©2022 RAKUS Co., Ltd. EOLにはこだわる ❏ EOL対応は絶対に欠かさない ❏ 古いプロダクトだからこそ追随していくべき
❏ 中核技術の言語仕様を深く理解するチャンス
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 対応事例 ❏ PHP ❏ 4系
⇒ 5.2 ⇒ 5.3 ⇒ 5.4 ⇒ 5.6 ⇒ 7.1 ⇒ 7.3 ⇒ 8.0 ❏ PostgreSQL ❏ 8.2 ⇒ 8.4 ⇒ 9.3 ⇒ 9.6 ⇒ 13.3 ❏ jQuery ❏ 1.8 ⇒ 1.9 ⇒ 2.1 ⇒ 3.3 ⇒ 3.4 ⇒ 3.6
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 実施したアクションまとめ ❏ 「利用技術が古い」問題 ❏ 全面刷新は困難なので、できるところから領域をしぼって新技術を導
入して行き、次第に領域を広げていく ❏ EOL対応は欠かさず行い、中核技術への知見を深める
#RAKUSTechCon ©2022 RAKUS Co., Ltd. モダンな開発スタイルとの ハイブリッド
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 「開発プロセスが古典的」問題 ❏ ウォーターフォール型 ❏ 要件定義⇒概要設計⇒実装⇒テスト⇒受入⇒結合テスト
❏ 手動テスト ❏ ビューとビジネスロジックが未分離のため自動テスト導入困難
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 古典的プロセスがレガシー化の要因? ❏ 古典的だから捨て去るべき?⇒No ❏ 単に「やり方」の話
❏ 「やり方」が非効率なら、より効率のよいやり方に変えればよい ❏ プロダクトが"レガシー"かどうかは関係ない
#RAKUSTechCon ©2022 RAKUS Co., Ltd. アジャイル的要素を取り入れる ❏ マクロな開発プロセスはそのまま(ベースはウォーターフォール) ❏ ミクロで開発プロセスの「中身」を変える
❏ カンバン ❏ スプリント制(1週間のタイムボックス) ❏ 社内ユーザからのフィードバックループ ❏ ウォーターフォールとアジャイルのハイブリッド (=いいとこどり)
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 導入事例 ❏ カンバン ❏ スプリント制
https://speakerdeck.com/kyoshimoto/rakus-meetup-osaka-2020-02-05
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 段階的にユニットテスト導入 ❏ ユニットテスト ❏ ビジネスロジックはまずリファクタリング(詳細後述)
❏ できるところからユニットテストを書く ❏ テストを書くルールを決める ❏ 完成したところからCIに組み込む
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 広く浅くE2Eテスト導入 ❏ E2Eテスト ❏ 目的を明確にする
❏ 「全然動かない」レベルの根本的デグレード検知用 ❏ 広く浅く導入する(Smoke E2E) ❏ 全機能を網羅 ❏ ノーマルケースのみ https://speakerdeck.com/kuwacchi/smokee2e
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 実施したアクションまとめ ❏ 「開発プロセスが古典的」問題 ❏ マクロな開発スタイルは維持したまま、部分的(ミクロに)にアジャイル
的要素を取り入れてハイブリッドなプロセスへ ❏ ユニットテストはできるところから段階的に ❏ E2Eテストは目的に沿って広く浅く
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 継続的リファクタリング
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 「技術的負債が多い」問題 ❏ 同じようで少しずつ違うロジックの濫発 ❏ すでに使用されていない機能
❏ コメントもなく意図不明な謎のロジック ❏ ビューとビジネスロジックの密結合 ❏ クラス化・分割されず責務過多となったソースコード
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 継続的にリファクタリングする ❏ リファクタリングするための敷居を下げる ❏ 「するのが当たり前」にする
❏ ビジネス要求と両立させる https://speakerdeck.com/whitefox_73/14nian-mu-falsesabisutojin-hou-m obu-mutamefalserihuakutaringuzhan-lue
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 敷居を下げる ❏ 提案の敷居を下げる ❏ 誰でも思いついたら提案できる「目安箱」を作る
❏ 実施の敷居を下げる ❏ リファクタリングバージョン ❏ 手順のガイドライン化
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 導入事例 ❏ リファクタリング目安箱 ❏ リファクタリング手順
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 「するのが当たり前」にする ❏ リファクタリングの提案・実施件数を目標に掲げる ❏ リファクタリング事例をチーム内で共有しあう
❏ オススメ書籍の紹介による文化醸成
#RAKUSTechCon ©2022 RAKUS Co., Ltd. ビジネス要求と両立させる ❏ コストを見積もって伝える ❏ 効果を定量化して伝える
❏ 自動テスト導入障壁低下 ⇒ 品質維持効率アップ ❏ フロントエンドとバックエンド分離 ⇒ 分業による速度アップ ❏ 保守性向上 ⇒ 開発速度アップ
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 実施したアクションまとめ ❏ 「技術的負債が多い」問題 ❏ リファクタリングしていくしかない
❏ リファクタリングするための敷居を下げ、ビジネス要求と両立させ、継 続的にリファクタリングする
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 中核技術に注力した ブランディング戦略
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 「情報発信しづらい」問題 ❏ エンジニアとして社外に技術情報発信したい ❏ でも扱っている技術が"レガシー”
❏ 新規技術に触れる機会が少なく、情報発信しづらい ❏ エンジニアのモチベーションもなんとなく上がらない
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 情報発信はできる ❏ 先入観(誤解)を解く ❏ “新しいこと"しか求められていない
❏ "新しいこと"でないと情報発信できない ❏ ここまで紹介したような取組自体がすでに財産 ❏ "レガシー"への向き合い方のヒントを求めている人は多い ❏ 情報発信を習慣化していく
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 過去の発表事例 ❏ 登壇発表事例 https://speakerdeck.com/rakusmatsumoto/meetup-20211006-md https://speakerdeck.com/radiocat/challenges-of-product-management
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 強みを生かしてブランディング形成 ❏ 一つの技術に特化している強みを生かす ❏ 中核技術=PHP
❏ 注力 ⇒ 情報発信文化の醸成 ⇒ 組織力アップ ❏ 技術力アップ ❏ モチベーションアップ ❏ 採用力アップ
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 情報発信事例 ❏ 外部登壇 ❏ ブログ
https://tech-blog.rakus.co.jp/archive/category/PHP
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 情報発信事例 ❏ コミュニティ形成 (PHPTechCafe) ❏
コミュニティ支援 (PHPFoundation) https://tech-blog.rakus.co.jp/entry/20220128/php-foundation https://rakus.connpass.com/
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 実施したアクションまとめ ❏ 「情報発信しづらい」問題 ❏ 発信しづらいという先入観を解き、"レガシー"との向き合い方それ自
体を武器として発信し続ける ❏ "レガシー"であっても中核技術に特化して取組を続けることにより、ブ ランディング形成につながる
#RAKUSTechCon ©2022 RAKUS Co., Ltd. まとめ
#RAKUSTechCon ©2022 RAKUS Co., Ltd. レガシーサービスとは?(再掲) 最新の技術や製品を用いた情報システムと対比して、 相対的に時代遅れとなった古いシステムのこと。 IT用語辞典 e-words
"レガシーシステム"の項より https://e-words.jp/w/%E3%83%AC%E3%82%AC%E3%82%B7%E3%83%BC%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0.html
#RAKUSTechCon ©2022 RAKUS Co., Ltd. それは"レガシー"なのか? ❏ 「古い=レガシー」ではない ❏ 変わらないから時代遅れになる
❏ 進化しないからレガシーになる
#RAKUSTechCon ©2022 RAKUS Co., Ltd. それは"レガシー"なのか? ❏ 扱っているサービスが「歴史ある」サービスなだけ ❏ わたしたちは変化、進化を続けていく
❏ わたしたちは価値あるチャレンジを続けていく ❏ 積み上げてきた「歴史」そのものの中にそのヒントがある
#RAKUSTechCon ©2022 RAKUS Co., Ltd. 私たちの"レガシー"との向き合い方 ❏ 積み上げてきた「歴史」の中に進化のタネ(=価値)を見出す ❏ 「刷新」ではなく「進化」させることで、その価値を育てていく
1. 新技術にも領域をしぼって取り組む 2. モダンな開発スタイルとハイブリッドさせる 3. 継続的にリファクタリングする 4. 中核技術に注力しブランディング形成する
#RAKUSTechCon ©2022 RAKUS Co., Ltd. ご清聴ありがとうございました