Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ClassiのRuby/Railsバージョンアップ始動物語
Search
Shodai Suzuki
October 30, 2019
Business
1.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ClassiのRuby/Railsバージョンアップ始動物語
ClassiでのRuby/Railsバージョンアップの第一歩を踏み出した時の成功事例
Shodai Suzuki
October 30, 2019
More Decks by Shodai Suzuki
See All by Shodai Suzuki
技術戦略としてのデザインエンジニアリング / Design System Study by dip and MOSH
soarteclab
1
210
AI時代における開発生産性と進化可能性を高める技術戦略 / AI DevEX Conference 2026
soarteclab
10
5.8k
TypeScriptで実現する既存APIを活用したリモートMCPサーバー構築 / TSKaigi 2026
soarteclab
2
800
lambda-lithアーキテクチャと移植性 / TECH BATON Lambda
soarteclab
1
1k
Full-Stack TSでのマルチプロダクト基盤開発 / TSKaigi Hokuriku 2025
soarteclab
4
2k
OpenAPIでのBackend TypeScriptスキーマ駆動開発
soarteclab
2
1.1k
リアーキテクチャとAI活用で実現する急成長プロダクトの開発生産性向上
soarteclab
3
19k
チーム再始動から6ヶ月でデプロイ数を9倍にするまでの取り組み
soarteclab
3
550
400超Lambda構成アプリケーションの漸進的リアーキテクチャ
soarteclab
3
1.4k
Other Decks in Business
See All in Business
メディフォン株式会社 会社説明資料
mediphone
0
110
アジャイル実践者のための堅牢でスケーラブルな働き方を構築する技術/Self-Management for Agile Practitioner
ikuodanaka
1
240
PMは、ブランドマネージャーになる。 / PM to BrandManager
sninomi1018
1
370
GREAT WORKS Culture Deck
greatworks
0
410
アッテル会社紹介資料/culture deck
attelu
11
17k
地方自治体向け地域脱炭素・再エネ推進支援・コンサルティング事例・ソリューション資料
satoru_higuchi
PRO
1
490
ログラス会社紹介資料 新卒採用 ビジネス職[経営幹部候補]/ Loglass Company Deck
loglass2019
2
26k
AIがなくてもつよいPM/PdM/ディレクターになるには?
iflection
0
1k
[AWS大喜利]こんなアーキテクチャは嫌だ ~コスト編~
kazuma777777
1
780
向山純平 メニュー表 / Junpei Mukouyama – Professional Services
mj6237
3
280
AI × 型|FDE的な働き方を再現可能にする「判断の軸」
aictokamiya
0
160
PLAID ALPHA概要資料_202608
plaid
PRO
0
630
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
430
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
480
First, design no harm
axbom
PRO
2
1.3k
Color Theory Basics | Prateek | Gurzu
gurzu
1
480
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
910
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
310
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Statistics for Hackers
jakevdp
799
230k
Accessibility Awareness
sabderemane
1
230
Transcript
ClassiのRuby/Railsバージョン アッププロジェクト始動物語 Shodai Suzuki @SoartecL Meetup for Rails engineers 2019.10.30
Classiとバージョンアップ
Classiとバージョンアップ
Classiとバージョンアップ
アジェンダ • Classiのサービスアーキテクチャ • バージョンアップの課題 • やった事と成功要因 • 成果まとめ •
自己紹介
Classiのサービスアーキテクチャ
Classiサービスアーキテクチャ
Classiサービスアーキテクチャ
Classiサービスアーキテクチャ API API API
Classiサービスアーキテクチャ API API API Auth
Classiサービスアーキテクチャ 画像
バージョンアップの課題
1.アプリケーションの数
アプリケーションの数 API API API Auth
14
アプリケーションの数
2.バージョンの古さ
以前のバージョン Rails: 4.2 Ruby: 2.3
3.classi_coreの存在
classi_coreの存在
classi_coreバンドルアプリ API API API Auth
バージョンアップの課題 1. アプリケーションの数 2. 現行バージョンの古さ 3. classi_coreの存在
ゴール
Rails 5.2.3 Ruby 2.6系
~2020.03
いつ終わるの?見通しが立たない
私の立ち位置 1. Rails自体を知っている 2. Railsバージョンアップ経験有り 3. 社内のRailsアプリ全てにコミット
とりあえず1つやってよう
対象アプリケーションの選定
選定基準 1. テストカバレッジ
選定基準 1. テストカバレッジ 2. ドメインの複雑度 3. 依存gemの数
選定基準 1. テストカバレッジ 2. ドメインの複雑度 3. 依存gemの数
選定基準
成功要因1. いけるいける精神 いけるいける! いけるいける!
成功要因1. いけるいける精神
classi_core統合
classi_core統合 classi_core
classi_core統合
classi_core統合
classi_core統合 • デベロッパーサクセスチーム
成功要因2. 技術的な問題は複数のエンジニアで解決
バージョンアップ
Rails バージョンアップ Ruby 5.2 5.0 4.2 2.3 2.6 2.5 2.4
バージョンアップ
バージョンアップ • デベロッパーサクセスエンジニア • プロダクトマネージャー • ディレクター
品質担保
品質担保 1. 対面でのコードレビュー
品質担保 1. 対面でのコードレビュー 2. QAチームのリグレッションテスト
品質担保 1. 対面でのコードレビュー 2. QAチームのリグレッションテスト 3. カスタマーサクセスチームとテストケース 洗い出し
品質担保 • デベロッパーサクセスエンジニア • プロダクトマネージャー • ディレクター • カスタマーサクセスチーム •
QAチーム
成功要因3. 非エンジニアの理解・協力
成功要因まとめ 1. いけるいける精神 2. 問題は複数のエンジニアで解決 3. 非エンジニア理解・協力
成功要因まとめ 1. いけるいける精神 2. 問題は複数のエンジニアで解決 3. 非エンジニア理解・協力
成功要因まとめ 1. いけるいける精神 2. 問題は複数のエンジニアで解決 3. 非エンジニア理解・協力
成功要因まとめ 1. いけるいける精神 2. 問題は複数のエンジニアで解決 3. 非エンジニア理解・協力
成果
成果
着手からリリースまでの期間
3ヶ月
作業時間
1ヶ月 見積は220日でした
バージョンアップ起因の障害
0件
成果 自信 知見
成果 自信 • 安全なバージョンアップ • 見通しが立てれるように
得たもの 自信 • 安全なバージョンアップ • 見通しが立てれるように 知見 • 技術的な知見 •
プロセスの知見
優秀なエンジニアがどんどん増えた
なので抜けて
CREチーム立ち上げ
CREチーム立ち上げ いけるいける! いけるいける!
自己紹介 • 鈴木翔大 @SoartecL • フリーランスエンジニア • 2018/10~ Classi •
CREチーム • OSSコントリビューター ◦ Rails ◦ RailsGuide ◦ chanko ◦ elasticsearch_dsl
ありがとうございました。
APENDIX
バージョンアップ計画工数
いつ終わるの?見通しが立たない
着手前の概算
13人年
今後の課題
いかに継続的にバージョンアップしていくか? • バージョンの追従は? ◦ 最新リリースバージョン? ◦ 最新の1つ前のバージョン? ◦ リリースバージョンではなく常にmasterを追従する? ▪
https://github.blog/2019-09-09-running-github-on-rails-6-0/ • 品質はどう担保する? ◦ 毎回ユーザーテストをし直す? ◦ テストの範囲は?レベルは? • だれがやる? ◦ 得意な人が集まってやる? ◦ 自動化?