Slide 1

Slide 1 text

PHP 5.3 から PHP 7.0 へ バージョンアップの裏側 Ikezoe.makoto

Slide 2

Slide 2 text

池添 誠 / Ikezoe Makoto • 2015年、ウィルゲートに新卒入社(3年目) • 開発グループ プロダクトユニット所属 • サグーワークスの開発からインフラまで担当 2 自己紹介 イメージキャラクター 「さぐる」

Slide 3

Slide 3 text

3 株式会社ウィルゲート – 事業

Slide 4

Slide 4 text

4 株式会社ウィルゲート – 事業

Slide 5

Slide 5 text

5 株式会社ウィルゲート – 事業

Slide 6

Slide 6 text

表の話 • バージョンアップした話 – Cake 1.3 → Cake 3.2 – PHP 5.3 → PHP 7.0 – ブログ記事 • http://tech.willgate.co.jp/entry/3582/

Slide 7

Slide 7 text

裏の話 • どのように進めていったか – チームに対して – 事業部に対して – 他の開発と並行して進めるための方法 • バージョンアップして得られたこと

Slide 8

Slide 8 text

どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ

Slide 9

Slide 9 text

どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ • 社外での開発でまずは PHP 7.0 を触ってみた – まずは自分が体験してみるところから

Slide 10

Slide 10 text

どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ • 書き換え箇所の調査 – 破壊的変更の箇所 – 書き換えのコストがどれくらいあるか • 一括変換できるもの、できないものの洗い出し • 新機能の勉強

Slide 11

Slide 11 text

どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ • まず説得、一緒に闘う仲間を増やす – 戦闘員を増やす • 一人で進めるのは大変!バージョンアップは骨が折れる仕事 • チーム全体で合意が取れてる状態にする – チームで円滑に進めるため • リニューアルに合わせてあげたいとリーダーに相談

Slide 12

Slide 12 text

どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ • 説得材料 – 利便性(新しい技術) • Ex) isset 書かなくていい(`??` null合体演算子めっちゃ楽) – 技術的成長 • 最新バージョンに追従してる、イケてるエンジニア • バージョンアップの経験を得られる

Slide 13

Slide 13 text

どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ • 工数の確保 – 安全にバージョンアップするために必要 – 受けた要望の開発は止めないように工夫して進めた – 日頃の関係性も大事

Slide 14

Slide 14 text

どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ • 説得材料 – 事業部(サービス)に対するメリットを知ってもらう • 処理速度の向上、品質の担保(テストコードの導入) • ライブラリ導入の簡易化(composer 非対応だった)=開発速度の向上 – より良い開発環境 • サービスのブランディングにもつながる

Slide 15

Slide 15 text

どのように進めていったか 調査期間 自主利用 チーム 事業部 PHP 7.0へ • バージョンアップ用環境と人員の確保 • Docker を用いて並行開発できるようにした • ブランチの管理 – master ブランチから派生したバージョンアップ用の new-master – master から new-master に定期マージして新機能の漏れを防止 • リリース直前の新機能開発は PHP 7.0 で開発

Slide 16

Slide 16 text

バージョンアップして得られたこと • サービスの成長につながった – 開発速度UP – 新しい技術・知識の獲得 – ライブラリなどの対応状況 • 達成感 – チームメンバー全員で協力してできた → 信頼関係 • 勉強会、LTなどのチャンス – 社外などでも登壇するチャンスの一つになった

Slide 17

Slide 17 text

まとめ • まずはやってみる。使ってみる。 • 協力してくれそうな人から説得していく • 上長(決定権がある人)に懇願してみる • PHP5 系から PHP7 系へアップデートは意外と楽 • 技術的なもの以外にも得られるものは多い