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.6k
全員で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
640
2016-09-07 社内勉強会資料
nisshiee
0
1.6k
Rails × Elasticsearch
nisshiee
0
2k
【16/06 SpeeeKaigi】人工知能
nisshiee
0
1.1k
Speee Introduction
nisshiee
0
1.7k
Ruby初心者チームが「Ruby日本一」を目指して半年の話
nisshiee
4
4.6k
ぼくらがScalaを選ぶ理由〜入門編〜
nisshiee
4
1.9k
「良いコード」とは何か
nisshiee
0
360
Scala vs Ruby
nisshiee
0
340
Other Decks in Programming
See All in Programming
Real-time message handling and notifications with API Platform and Symfony
alli83
1
110
Beyond Laravel Octane - Hyperf for Laravel Artisans
albertcht
1
130
メルカリ ハロ アプリの技術スタック
atsumo
2
790
Progressive Web Apps for Rails developers
siaw23
2
550
デバッグの話 / Debugging for Beginners
kaityo256
PRO
6
410
◯◯エンジニアになった理由
gessy0129
PRO
0
650
VS Code extension: ドラッグ&ドロップでファイルを並び替える
ttrace
0
170
App Router 悲喜交々
quramy
7
380
Infrastructure as Code でセキュリティを楽にしよう!
konokenj
6
1.4k
CSC509 Lecture 03
javiergs
PRO
0
140
DjangoNinjaで高速なAPI開発を実現する
masaya00
0
510
Quarto Clean Theme
nicetak
0
220
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
787
250k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
The Pragmatic Product Professional
lauravandoore
31
6.2k
Optimising Largest Contentful Paint
csswizardry
31
2.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
25
660
It's Worth the Effort
3n
183
27k
The Cult of Friendly URLs
andyhume
77
6k
Scaling GitHub
holman
458
140k
The Invisible Customer
myddelton
119
13k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
130k
Embracing the Ebb and Flow
colly
84
4.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
664
120k
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