[Willgate]PHP5.xから脱却する為の道のり/池添,横道
by
Z.O.E.
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
No content
Slide 2
Slide 2 text
アジェンダ • 導入前の状況 @池添 • PHP7導入への発端 @池添 • PHP5脱却の判断と調整 @横道 • PHP7導入推進 @池添 • まとめ
Slide 3
Slide 3 text
アジェンダ • 導入前の状況 @池添 • PHP7導入への発端 @池添 • PHP5脱却の判断と調整 @横道 • PHP7導入推進 @池添 • まとめ
Slide 4
Slide 4 text
導入前の状況 • サービス稼働から 5年目 • 開発メンバー 8人 • CakePHP1.3 • PHP5.3
Slide 5
Slide 5 text
導入前の状況 • サービス稼働から 5年目 • 開発メンバー 8人 • CakePHP1.3 • PHP5.3
Slide 6
Slide 6 text
導入前の状況 • Composer 使えない • PHPの新しい機能が使えない • CakePHPのアップグレードもできない
Slide 7
Slide 7 text
アジェンダ • 導入前の状況 @池添 • PHP7導入への発端 @池添 • PHP5脱却の判断と調整 @横道 • PHP7導入推進 @池添 • まとめ
Slide 8
Slide 8 text
PHP7導入への発端 • サービスの全面リニューアルをしたい
Slide 9
Slide 9 text
PHP7導入への発端 • サービスの全面リニューアルをしたい – ついでに技術のリニューアルもできるのでは?
Slide 10
Slide 10 text
PHP7導入への発端 • サービスの全面リニューアルをしたい – ついでに技術のリニューアルもできるのでは? – 最近、PHP7が出たらしい
Slide 11
Slide 11 text
PHP7導入への発端 • サービスの全面リニューアルをしたい – ついでに技術のリニューアルもできるのでは? – 最近、PHP7が出たらしい – これだ!
Slide 12
Slide 12 text
PHP7導入への発端 • プライベートでの開発でまずは PHP 7.0 を触ってみた – まずは自分が体験してみるところから
Slide 13
Slide 13 text
PHP7導入への発端 • 社外での開発でまずは PHP 7.0 を触ってみた – まずは自分が体験してみるところから • リニューアルに合わせてあげたいとリーダーに相談
Slide 14
Slide 14 text
アジェンダ • 導入前の状況 @池添 • PHP7導入への発端 @池添 • PHP5脱却の判断と調整 @横道 • PHP7導入推進 @池添 • まとめ
Slide 15
Slide 15 text
導入検討 • 導入メリット – メリットを明確にする 検討 計画 交渉 ※ここの情報が足りない場合は現場で調査/検討させる
Slide 16
Slide 16 text
導入検討 • 導入メリット – メリットを明確にする • 導入しないデメリット – 導入するメリット以上にしないリスクも重要 検討 計画 交渉 ※ここの情報が足りない場合は現場で調査/検討させる
Slide 17
Slide 17 text
導入計画 • 開発スケジュールを整理する ①数カ月かかる開発プロジェクトがある場合 • プロジェクトの検証期間を有効活用 ②小さい開発が続いている場合 • PHPバージョンアップを別途プロジェクト化 検討 計画 交渉
Slide 18
Slide 18 text
導入計画 • 開発スケジュールを整理する ①数カ月かかる開発プロジェクトがある場合 • プロジェクトの検証期間を有効活用 ②小さい開発が続いている場合 • PHPバージョンアップを別途プロジェクト化 検討 計画 交渉
Slide 19
Slide 19 text
導入計画 • 開発スケジュールを整理する ①数カ月かかる開発プロジェクトがある場合 • プロジェクトの検証期間を有効活用 ②小さい開発が続いている場合 • PHPバージョンアップを別途プロジェクト化 検討 計画 交渉
Slide 20
Slide 20 text
導入計画 • 開発スケジュールを整理する ①数カ月かかる開発プロジェクトがある場合 • プロジェクトの検証期間を有効活用 ②小さい開発が続いている場合 • PHPバージョンアップを別途プロジェクト化 ※今回は①で導入 検討 計画 交渉
Slide 21
Slide 21 text
導入交渉① • 事業部サイドを説得する材料 検討 計画 交渉
Slide 22
Slide 22 text
導入交渉① • 事業部サイドを説得する材料 – サポート期限 検討 計画 交渉
Slide 23
Slide 23 text
導入交渉① • 事業部サイドを説得する材料 – サポート期限 – 速度比較 • 説明用に速度比較資料を用意する 検討 計画 交渉
Slide 24
Slide 24 text
導入交渉① • 事業部サイドを説得する材料 – サポート期限 – 速度比較 • 説明用に速度比較資料を用意する – 採用 • PHP7.x系の方が進んでる感を出せる 検討 計画 交渉
Slide 25
Slide 25 text
導入交渉① • 事業部サイドを説得する材料 – サポート期限 – 速度比較 • 説明用に速度比較資料を用意する – 採用 • PHP7.x系の方が進んでる感を出せる – フレームワーク • サポートしていないPHPバージョン 検討 計画 交渉
Slide 26
Slide 26 text
導入交渉② • 導入スケジュールを開発側で検討 – 現場にスケジュールを提示させる • 現場で導入方法を考えさせる • 具体的に理由を説明させる 検討 計画 交渉
Slide 27
Slide 27 text
導入交渉② • 導入スケジュールを開発側で検討 – 現場にスケジュールを提示させる • 現場で導入方法を考えさせる • 具体的に理由を説明させる • 導入スケジュールを提示 – 導入イメージをさせる – プロジェクトを開始してる錯覚 検討 計画 交渉
Slide 28
Slide 28 text
アジェンダ • 導入前の状況 @池添 • PHP7導入への発端 @池添 • PHP5脱却の判断と調整 @横道 • PHP7導入推進 @池添 • まとめ
Slide 29
Slide 29 text
PHP7導入推進 • バージョンアップ用環境と人員の確保
Slide 30
Slide 30 text
PHP7導入推進 • バージョンアップ用環境と人員の確保 • Docker を用いて並行開発できるようにした
Slide 31
Slide 31 text
PHP7導入推進 • バージョンアップ用環境と人員の確保 • Docker を用いて並行開発できるようにした • ブランチの管理 – master から派生したバージョンアップ用の new-master
Slide 32
Slide 32 text
PHP7導入推進 • バージョンアップ用環境と人員の確保 • Docker を用いて並行開発できるようにした • ブランチの管理 – master から派生したバージョンアップ用の new-master • PHP7 対応リストを作成
Slide 33
Slide 33 text
PHP7導入推進 • バージョンアップ用環境と人員の確保 • Docker を用いて並行開発できるようにした • ブランチの管理 – master から派生したバージョンアップ用の new-master • PHP7 対応リストを作成 • 新機能開発は PHP7 で開発
Slide 34
Slide 34 text
PHP7導入推進 • メインの載せ替え – 互換性のない変更の読み込み、リストアップ – 2人で2週間、2時間くらいずつ – 対象ソースは約40万行、エラーの箇所は5,000個以上 – オレオレルーティングを挟み Cake1.3 と Cake3.2 を併用 – ※ http://tech.willgate.co.jp/entry/3582/
Slide 35
Slide 35 text
PHP7導入推進 • メインの載せ替え – 互換性のない変更の読み込み、リストアップ – 2人で2週間、2時間くらいずつ – 対象ソースは約40万行、エラーの箇所は5,000個以上 – オレオレルーティングを挟み Cake1.3 と Cake3.2 を併用 – ※ http://tech.willgate.co.jp/entry/3582/ • 他メンバーには PHP7 までの変更点をインストール
Slide 36
Slide 36 text
アジェンダ • 導入前の状況 @池添 • PHP7導入への発端 @池添 • PHP5脱却の判断と調整 @横道 • PHP7導入推進 @池添 • まとめ
Slide 37
Slide 37 text
まとめ • まずはやってみる。使ってみる。 • 上長(決定権がある人)に懇願してみる • PHP5 系から PHP7 系へアップデートは意外と楽
Slide 38
Slide 38 text
まとめ • メンバー(現場)の成長を意識しつつ検討する • 導入しないリスクを周囲や上長に理解させる • 現実的な導入計画を立てる • 事業部サイドにイメージさせる