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
全員でRuby/Rails移行を進めてきた話 / Shippai Night 2016
Search
Hirokazu Nishioka
December 19, 2016
Programming
4
1.7k
全員でRuby/Rails移行を進めてきた話 / Shippai Night 2016
2016-12-19 Shippai Night 発表資料
Hirokazu Nishioka
December 19, 2016
Tweet
Share
More Decks by Hirokazu Nishioka
See All by Hirokazu Nishioka
イエウール立ち上げに込めた想い / Speee Cafe Meetup 04
nisshiee
2
700
2016-09-07 社内勉強会資料
nisshiee
0
1.7k
Rails × Elasticsearch
nisshiee
0
2.1k
【16/06 SpeeeKaigi】人工知能
nisshiee
0
1.2k
Speee Introduction
nisshiee
0
1.8k
Ruby初心者チームが「Ruby日本一」を目指して半年の話
nisshiee
4
4.8k
ぼくらがScalaを選ぶ理由〜入門編〜
nisshiee
4
1.9k
「良いコード」とは何か
nisshiee
0
370
Scala vs Ruby
nisshiee
0
350
Other Decks in Programming
See All in Programming
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
250
スケールする組織の実現に向けた インナーソース育成術 - ISGT2025
teamlab
PRO
2
180
Tool Catalog Agent for Bedrock AgentCore Gateway
licux
7
2.6k
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
300
さようなら Date。 ようこそTemporal! 3年間先行利用して得られた知見の共有
8beeeaaat
3
1.5k
How Android Uses Data Structures Behind The Scenes
l2hyunwoo
0
490
アルテニア コンサル/ITエンジニア向け 採用ピッチ資料
altenir
0
110
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
200
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
280
AI時代のUIはどこへ行く?
yusukebe
18
9.2k
print("Hello, World")
eddie
2
530
Design Foundational Data Engineering Observability
sucitw
3
210
Featured
See All Featured
Context Engineering - Making Every Token Count
addyosmani
3
67
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
113
20k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Writing Fast Ruby
sferik
628
62k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
For a Future-Friendly Web
brad_frost
180
9.9k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
850
Code Review Best Practice
trishagee
71
19k
Transcript
全員でRuby/Rails 移行を進めてきた話 2016-12-19 Shippai Night 株式会社Speee 西岡寛兼
自己紹介 西岡寛兼( にしおかひろかず) https://nisshiee.org/ 株式会社Speee サー バサイドスペシャリスト イエウー ル ieul.jp
の立ち上げ 現在は医療事業でサー ビス新規開発 最近のマイブー ムは3D プリンタ遊びとRust 2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話 2
Speee の現状 2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話 3
Speee の現状 2015 年5 月に開発部組織改革を断行 改革内容の1 つとして、Ruby/Rails をメインに据える 当初、Rails 経験者は1
割未満 サー バサイド責任者もRails 未経験 1 年半経った現在 4 つのサー ビスをFuelPHP からRuby/Rails へ移行完了 3 つのサー ビスをRuby/Rails で新規構築 2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話 4
この1 年半のRuby/Rails 移行の結果 意外と「 すごいですね」 って言われる やってる間は「 スゴイことやってる感」 はなかった (
少なくとも僕は) 実際振り返ってどうだろう? 僕らのRuby/Rails 移行から何か学びを共有できないか スゴイかどうかはさておき 2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話 5
なぜSpeee はRuby/Rails 移行を ここまで進められたのか 2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話
6
結論 2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話 7
エンジニアが全員で移行完了に向けて 頑張り続けることができたから 2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話 8
一般的によくありそうな言語移行失敗ケー ス そもそも前提として、 言語移行は大変です。 始めた人が、 やりきれないケー ス チー ムに頑張ってもらうのは自分が頑張るより100 倍大変
趣味じゃなくビジネスとして開発している 全員ががんばれないケー ス その新しい言語、FW をやりたい人はいいけど・・・ 習熟度に差が出てしまうのは避けられない 2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話 9
Speee の場合 運が良かった所 みんなPHP が書きたかったわけではなかったw 2016-12-19 Shippai Night | 全員でRuby/Rails
移行を進めてきた話 10
とはいえ、 やっぱりSpeee も苦労した Speee は他事業展開組織 Rails プロジェクトを始めるタイミングは事業によってまちまち 事業責任者もそれぞれで、 理解を求める必要 Ruby/Rails
に詳しいメンバー が居たわけではなかった 先行して引っ張る側がそもそも・・・・ 2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話 11
まずは先行するメンバー が頑張る 2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話 12
先行メンバー 「Ruby 推進委員会」 と命名 とにかくやる気のあるメンバー ちょうど新規開発を始められるチー ム( 移行はコスト高い) 俺 パイオニアになれる人たちが、
道路を作る 道路の作り方は、 井原さんに教わる 2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話 13
Ruby 推進委員会の仕事 コー ディング規約作った 参考書籍リストの作成・ 購入・ 貸出ルー ル作成 井原さんとペアプロしたり、 井原さんにレビュー
してもらったりし ながら、 まずは自分たちができるようになる Gem、RSpec、Unicorn、Capistrano、CircleCI など Ruby/Rails 周辺ににチャレンジしドキュメントを残す 2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話 14
Ruby 推進委員会が頑張れた理由 5 人という適切な人数 意思決定は進めていける 適度に負荷分散できる 井原さん Ruby/Rails 知らない僕らが最初の一歩を踏み出せた アウトプットを評価する精度
井原さんにひたすら「 アウトプットして、 他人の時間を節約する という成果は大事」 と言われ続ける 2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話 15
2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話 16
続くメンバー がちゃんとついてくる 2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話 17
Speee 全体がトップダウンでRuby 化する ロビー 活動( 笑) 経営陣・ マネー ジャー から、Speee
はRuby 化するという想いや、 Ruby 化することによるメリットを、 非エンジニアも含めた全社に発 信し続ける とにかくBiz サイドとの認識合わせは、 開発部のトップレベルが全力 でやる 現場にやらせるのはたぶん疲弊する 2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話 18
高速道路にちゃんと乗る( 乗せる) 先人がドキュメントをちゃんと残してるから見てもらう brew でrbenv をインストー ルする手順から みんなにやる気があると問題が起こる みんなが同じ問題を頑張って解こうとする 特にSpeee
の場合、 別の事業をやってる別々 のチー ム 2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話 19
クロスレビュー 施策 チー ム外のメンバー にコー ドレビュー してもらうルー ル 先行メンバー 自分たちが学んできたことの再確認
自分が苦労したことを自分事として教えられる 後からついていくメンバー 自分で頑張るだけじゃなく周りに聞く意識 2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話 20
PHP => Rails 移行はスコー プを絞る やっぱり新規よりも移行の方が難しい 事業側へ「 移行の意義」 を説明するためには、 ついつい「
移行しな がらココを直す」「 移行しながらコレを足す」 とかやりたくなる が・・・ 実際やったら失敗した それ以降は最小スコー プでRails 移行を 2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話 21
そんなこんなで今・・・ 2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話 22
ようやくここまできた 「Speee がRuby/Rails で開発してる」 と言える みんなRuby にしてよかったと思ってる( たぶん) 今にして思えば、 僕たちはRuby
できなかったのが良かったかも いきなりうまくいくわけがない 小さな失敗はいっぱいしてきたが、 失敗を克服するという仕事を 楽しんできた 2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話 23
そしてこれから 「Ruby を使うこと」 が僕らが目指したゴー ルじゃない 技術で課題を解決し、 未来を引き寄せるSpeee 開発部に 今はまだ何もないが、 これからも全員でチャレンジし続けたい
2016-12-19 Shippai Night | 全員でRuby/Rails 移行を進めてきた話 24