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
670
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.7k
ぼくらがScalaを選ぶ理由〜入門編〜
nisshiee
4
1.9k
「良いコード」とは何か
nisshiee
0
360
Scala vs Ruby
nisshiee
0
340
Other Decks in Programming
See All in Programming
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
2
260
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
2
380
『GO』アプリ バックエンドサーバのコスト削減
mot_techtalk
0
140
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
250
WebDriver BiDiとは何なのか
yotahada3
1
140
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
750
SwiftUI Viewの責務分離
elmetal
PRO
1
240
密集、ドキュメントのコロケーション with AWS Lambda
satoshi256kbyte
0
190
dbt Pythonモデルで実現するSnowflake活用術
trsnium
0
160
Grafana Loki によるサーバログのコスト削減
mot_techtalk
1
130
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
220
技術を根付かせる / How to make technology take root
kubode
1
250
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Automating Front-end Workflow
addyosmani
1368
200k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
9
440
Typedesign – Prime Four
hannesfritz
40
2.5k
Rails Girls Zürich Keynote
gr2m
94
13k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
550
What's in a price? How to price your products and services
michaelherold
244
12k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
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