Upgrade to Pro — share decks privately, control downloads, hide ads and more …

全員でRuby/Rails移行を進めてきた話 / Shippai Night 2016

全員でRuby/Rails移行を進めてきた話 / Shippai Night 2016

2016-12-19 Shippai Night 発表資料

Hirokazu Nishioka

December 19, 2016
Tweet

More Decks by Hirokazu Nishioka

Other Decks in Programming

Transcript

  1. 全員でRuby/Rails
    移行を進めてきた話
    2016-12-19 Shippai Night
    株式会社Speee
    西岡寛兼

    View full-size slide

  2. 自己紹介
    西岡寛兼(
    にしおかひろかず)
    https://nisshiee.org/
    株式会社Speee
    サー
    バサイドスペシャリスト
    イエウー
    ル ieul.jp
    の立ち上げ
    現在は医療事業でサー
    ビス新規開発
    最近のマイブー
    ムは3D
    プリンタ遊びとRust
    2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 2

    View full-size slide

  3. Speee
    の現状
    2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 3

    View full-size slide

  4. 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

    View full-size slide

  5. この1
    年半のRuby/Rails
    移行の結果
    意外と「
    すごいですね」
    って言われる
    やってる間は「
    スゴイことやってる感」
    はなかった

    少なくとも僕は)
    実際振り返ってどうだろう?
    僕らのRuby/Rails
    移行から何か学びを共有できないか
    スゴイかどうかはさておき
    2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 5

    View full-size slide

  6. なぜSpeee
    はRuby/Rails
    移行を
    ここまで進められたのか
    2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 6

    View full-size slide

  7. 結論
    2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 7

    View full-size slide

  8. エンジニアが全員で移行完了に向けて
    頑張り続けることができたから
    2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 8

    View full-size slide

  9. 一般的によくありそうな言語移行失敗ケー

    そもそも前提として、
    言語移行は大変です。
    始めた人が、
    やりきれないケー

    チー
    ムに頑張ってもらうのは自分が頑張るより100
    倍大変
    趣味じゃなくビジネスとして開発している
    全員ががんばれないケー

    その新しい言語、FW
    をやりたい人はいいけど・・・
    習熟度に差が出てしまうのは避けられない
    2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 9

    View full-size slide

  10. Speee
    の場合
    運が良かった所
    みんなPHP
    が書きたかったわけではなかったw
    2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 10

    View full-size slide

  11. とはいえ、
    やっぱりSpeee
    も苦労した
    Speee
    は他事業展開組織
    Rails
    プロジェクトを始めるタイミングは事業によってまちまち
    事業責任者もそれぞれで、
    理解を求める必要
    Ruby/Rails
    に詳しいメンバー
    が居たわけではなかった
    先行して引っ張る側がそもそも・・・・
    2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 11

    View full-size slide

  12. まずは先行するメンバー
    が頑張る
    2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 12

    View full-size slide

  13. 先行メンバー
    「Ruby
    推進委員会」
    と命名
    とにかくやる気のあるメンバー
    ちょうど新規開発を始められるチー
    ム(
    移行はコスト高い)

    パイオニアになれる人たちが、
    道路を作る
    道路の作り方は、
    井原さんに教わる
    2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 13

    View full-size slide

  14. Ruby
    推進委員会の仕事
    コー
    ディング規約作った
    参考書籍リストの作成・
    購入・
    貸出ルー
    ル作成
    井原さんとペアプロしたり、
    井原さんにレビュー
    してもらったりし
    ながら、
    まずは自分たちができるようになる
    Gem、RSpec、Unicorn、Capistrano、CircleCI
    など
    Ruby/Rails
    周辺ににチャレンジしドキュメントを残す
    2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 14

    View full-size slide

  15. Ruby
    推進委員会が頑張れた理由
    5
    人という適切な人数
    意思決定は進めていける
    適度に負荷分散できる
    井原さん
    Ruby/Rails
    知らない僕らが最初の一歩を踏み出せた
    アウトプットを評価する精度
    井原さんにひたすら「
    アウトプットして、
    他人の時間を節約する
    という成果は大事」
    と言われ続ける
    2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 15

    View full-size slide

  16. 2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 16

    View full-size slide

  17. 続くメンバー
    がちゃんとついてくる
    2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 17

    View full-size slide

  18. Speee
    全体がトップダウンでRuby
    化する
    ロビー
    活動(
    笑)
    経営陣・
    マネー
    ジャー
    から、Speee
    はRuby
    化するという想いや、
    Ruby
    化することによるメリットを、
    非エンジニアも含めた全社に発
    信し続ける
    とにかくBiz
    サイドとの認識合わせは、
    開発部のトップレベルが全力
    でやる
    現場にやらせるのはたぶん疲弊する
    2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 18

    View full-size slide

  19. 高速道路にちゃんと乗る(
    乗せる)
    先人がドキュメントをちゃんと残してるから見てもらう
    brew
    でrbenv
    をインストー
    ルする手順から
    みんなにやる気があると問題が起こる
    みんなが同じ問題を頑張って解こうとする
    特にSpeee
    の場合、
    別の事業をやってる別々
    のチー

    2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 19

    View full-size slide

  20. クロスレビュー
    施策
    チー
    ム外のメンバー
    にコー
    ドレビュー
    してもらうルー

    先行メンバー
    自分たちが学んできたことの再確認
    自分が苦労したことを自分事として教えられる
    後からついていくメンバー
    自分で頑張るだけじゃなく周りに聞く意識
    2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 20

    View full-size slide

  21. PHP => Rails
    移行はスコー
    プを絞る
    やっぱり新規よりも移行の方が難しい
    事業側へ「
    移行の意義」
    を説明するためには、
    ついつい「
    移行しな
    がらココを直す」「
    移行しながらコレを足す」
    とかやりたくなる
    が・・・
    実際やったら失敗した
    それ以降は最小スコー
    プでRails
    移行を
    2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 21

    View full-size slide

  22. そんなこんなで今・・・
    2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 22

    View full-size slide

  23. ようやくここまできた
    「Speee
    がRuby/Rails
    で開発してる」
    と言える
    みんなRuby
    にしてよかったと思ってる(
    たぶん)
    今にして思えば、
    僕たちはRuby
    できなかったのが良かったかも
    いきなりうまくいくわけがない
    小さな失敗はいっぱいしてきたが、
    失敗を克服するという仕事を
    楽しんできた
    2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 23

    View full-size slide

  24. そしてこれから
    「Ruby
    を使うこと」
    が僕らが目指したゴー
    ルじゃない
    技術で課題を解決し、
    未来を引き寄せるSpeee
    開発部に
    今はまだ何もないが、
    これからも全員でチャレンジし続けたい
    2016-12-19 Shippai Night |
    全員でRuby/Rails
    移行を進めてきた話 24

    View full-size slide