チームメンバーをエンパワーメントしよう! レガシープロジェクト改善事始め
by
nukisashineko
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
チームメンバーをエンパワーメントしよう! レガシープロジェクト改善事始め ぬさし( @nukisashineko ) 1/19
Slide 2
Slide 2 text
チームをエンパワーメントする ● 輪読会、勉強会、モブプロ等 ○ スキルマップを広げ、基礎力の向上 ● Developer Experience(開発体験)の向上 ○ 環境の質向上、手動運用を自動化する等 2/19
Slide 3
Slide 3 text
方針・指針 1. できることからやるのが一番早い 2. 簡単で自動化可能なものから始める 何から改善して いけばいいの? 3/19 ● できること=手を動かした経験があるもの ● できること ≠ 知ってること (経験がないもの)
Slide 4
Slide 4 text
方針・指針 1. できることからやるのが一番早い 2. 簡単で自動化可能なものから始める 1. すぐに効果が出ること 2. チームへ効果が出ること 4/19 コスパ良く改善するには 何から改善して いけばいいの? も重要
Slide 5
Slide 5 text
改善対象のプロジェクトを紹介 ● 10年を超えたサービス ● ローカル開発環境はない ○ debug不可能 ● アプリ・DBはオンプレ ○ ロギングが貧弱 ● CIは無い 5/19
Slide 6
Slide 6 text
改善可能な点 ● debugを動かせるようにする ● CIの導入 ● 新しいツールやSaaSの導入 …… ● etc. 6/19
Slide 7
Slide 7 text
7/19 「じゃあ何からやったの?」 debugを動かせるようにした! 活動報告(1) - 環境改善 選択理由: 「できることだった!」
Slide 8
Slide 8 text
debug環境作成 - 作って配る 8/19 ● 1週間目→検証用のovaファイルを入手 ● 1ヶ月目→debug可能環境へ再構築 ● 2ヶ月目→ repository化& チームメンバーに配布 作業時間は1[時間/日]
Slide 9
Slide 9 text
debug環境作成 - メンバーに使ってもらう 9/19 ● debugを文化にする ○ ドキュメントは丁寧に ○ remote debug設定は簡単化 (gitに含める) ○ debuggerの使い方をハンズオンする(都度) 「作ったよ!」で終わらず使い続けて広める
Slide 10
Slide 10 text
debug環境作成 - 結果 10/19 ● debugが使える! ○ 調査時間の大幅削減 (printf debugと比較) ● 問題の切り分けが容易に! ○ ローカル環境があるという強み
Slide 11
Slide 11 text
11/19 「次は何をやったの?」 GitHub Actions(CI)を導入しました 活動報告(2) - 自動化による省力化
Slide 12
Slide 12 text
CIの導入 - 指摘の自動化 - master merge 12/19 「PR依頼の前にmaster mergeしといてよ」
Slide 13
Slide 13 text
CIの導入 - 指摘の自動化 - Linter dry run 13/19 「PR依頼の前にLinterの実行をしといてよ」
Slide 14
Slide 14 text
CIの導入 - 結果 14/19 ● PRの往復時間削減! ○ レビュイーが修正点に気づける ● 本質的な指摘が増えた! ○ 時間をロジック検討に多く使える
Slide 15
Slide 15 text
改善の際に注意すべきこと ● 改善はチームメンバーの参意を確認 ○ チームで保守・運用するため ● 大きな変化はゆっくり起こす ○ 唐突で大きな変化は定着しない 15/19
Slide 16
Slide 16 text
改善の際に注意すべきこと - 例を元に ● 例:Linterの導入 ○ よくあるパターン (完璧主義) ■ 「Linterで機械的なレビューを行うため 全部のファイルへ置換を行います!」 ■ 「確認範囲が拡大して難しいから後で」 16/19
Slide 17
Slide 17 text
改善の際に注意すべきこと - 例を元に ● 例:Linterの導入 ○ やるべきパターン (導入を目指す) ■ 「影響範囲が広がらないように 新規ファイルに限って適用します!」 ■ 「それならお試しで導入してみたいね」 17/19
Slide 18
Slide 18 text
何からやればいい?という人へ 1. Linter (PHP-CS-Fixer, PHPMD, Phan) 2. Github Actions 3. SaaSの監視ツール Extra. debug環境の用意 18/19 PR高速化 自動化の事始め 導入が楽で高機能 開発体験に効果的 難易度高め
Slide 19
Slide 19 text
まとめ - チームをエンパワーメント事始め! ● できるものから始める ● 作ったらチームの文化にする ● 独りよがりな開発にしない 19/19