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
650
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
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.1k
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
3
690
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
250
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
C++でシェーダを書く
fadis
6
4.1k
Contemporary Test Cases
maaretp
0
140
Remix on Hono on Cloudflare Workers
yusukebe
1
300
Hotwire or React? ~アフタートーク・本編に含めなかった話~ / Hotwire or React? after talk
harunatsujita
1
120
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
1
200
Duckdb-Wasmでローカルダッシュボードを作ってみた
nkforwork
0
130
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
890
Enabling DevOps and Team Topologies Through Architecture: Architecting for Fast Flow
cer
PRO
0
340
Featured
See All Featured
The Invisible Side of Design
smashingmag
298
50k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Speed Design
sergeychernyshev
25
620
GraphQLとの向き合い方2022年版
quramy
43
13k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Code Review Best Practice
trishagee
64
17k
Navigating Team Friction
lara
183
14k
Become a Pro
speakerdeck
PRO
25
5k
BBQ
matthewcrist
85
9.3k
How GitHub (no longer) Works
holman
310
140k
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