新規機能開発に負けない。 ビッグバンリリースに立ち向かう方法
by
Atsunori Kuriyama
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
© commmune Inc. All rights reserved 新規機能開発に負けない。 ビッグバンリリースに立ち向かう方法 1
Slide 2
Slide 2 text
© commmune Inc. All rights reserved 自己紹介 2 栗山 敦任(kuriyama atsunori) コミューン株式会社, サーバサイドEM - 福岡→札幌→大都会東京 - 妻とネコ氏2匹 - ドラム, トロフィー集め、麻雀 #ReactLT
Slide 3
Slide 3 text
© commmune Inc. All rights reserved 新規機能開発してますか? 3 #ReactLT
Slide 4
Slide 4 text
© commmune Inc. All rights reserved ビッグバンリリースしてませんか? 4 #ReactLT
Slide 5
Slide 5 text
© commmune Inc. All rights reserved ビッグバンリリースとは 5 修正・変更範囲のとても広いリリース - 大きめの新規機能をまるっとリリース - 1万行を越える差分 - 数百ファイルに及ぶ変更 #ReactLT
Slide 6
Slide 6 text
© commmune Inc. All rights reserved ビッグバンリリースすると何が辛いのか 6 修正・変更範囲のとても広いリリース - 差分が大きいからレビュー大変 - 本番環境で動確する範囲が広い - バグってた時の切り戻し - 「え、これrevertするの…?」 #ReactLT
Slide 7
Slide 7 text
© commmune Inc. All rights reserved とにかくめちゃめちゃ辛い 7 #ReactLT
Slide 8
Slide 8 text
© commmune Inc. All rights reserved フィーチャートグルで 分割リリースしよう 8 #ReactLT
Slide 9
Slide 9 text
© commmune Inc. All rights reserved フィーチャートグルとは 9 フィーチャートグルは、ソフトウェア開発 において、複数のソースコードのブランチ(機能ブランチ)を維持するのとは別の方法 を提供しようとする手法である。 ~ 機能トグルを利用すれば、開発者たちはメインのトラックに頻繁にソースを統合しつつも、開発中の機能へ入っていける実行 経路のトグルを「OFF」にしておけば、その機能は「死んだ」状態になる。新しい実行経路を有効にするための労力は、単にト グルを「ON」に設定するだけなので、十分に小さい。 https://ja.wikipedia.org/wiki/フィーチャートグル #ReactLT
Slide 10
Slide 10 text
© commmune Inc. All rights reserved フィーチャートグルとは 10 何かしら動的なパラメータをユーザ側で設定してあげる事で ある機能の on/off を実現する仕組み → 基本何もしなければ機能は off のままなので、 実装途中の変更分を本番リリースしても問題なし #ReactLT
Slide 11
Slide 11 text
© commmune Inc. All rights reserved どう実現するか 11 - フィーチャーを有効にしたいページのURLにhashを乗せる - https://commmune.com/feature#hash(任意の文字列) - hashの有無でフィーチャーの on/off を判定する処理を作成 - 個別に↑を呼び出して on/off 判定、処理を分岐させる #ReactLT
Slide 12
Slide 12 text
© commmune Inc. All rights reserved 実際に使ってみる 12 - 特定のフィーチャーが有効かどうか判定する処理を用意 #ReactLT
Slide 13
Slide 13 text
© commmune Inc. All rights reserved 実際に使ってみる 13 - コンポーネントの出し分けをしたい #ReactLT
Slide 14
Slide 14 text
© commmune Inc. All rights reserved 実際に使ってみる 14 - API の呼び出し先を切り替えたい #ReactLT
Slide 15
Slide 15 text
© commmune Inc. All rights reserved まとめ 15 - タスクの粒度が小さくなった - レビューが楽に - 動確も楽に - バグってた時の切り戻しも楽に - 少しずつ本番リリースしていくので精神衛生上とても良い #ReactLT
Slide 16
Slide 16 text
© commmune Inc. All rights reserved 分割リリースやっていきましょう 16 #ReactLT