デブサミ2020【13-A-6】GitHubやMicrosoftが機能リリースする舞台裏 #devsumiA #devsumi

服部 佑樹[日本マイクロソフト] 田中 裕一[ギットハブ・ジャパン] https://event.shoeisha.jp/devsumi/20200213/session/2340/ Developers Summit 2020の講演資料・参加レポート一覧: https://codezine.jp/article/detail/11981
デブサミ デブサミ2020 devsumi
1
ystn@PerCode @ystn_percode
Azure DevOpsとGithubは同じチームが開発 #devsumiA
Shinji Matsumoto @smatsumt
「GitHubやMicrosoftが機能リリースする舞台裏」 Azure DevOps と GitHub は同じ組織に。すでに同じチームで開発が進んでいる。GitHub Actions が先日リリースされたが、Azure DevOps のパイプラインをフォークしたりと、すでに連携して進めている。 #devsumiA
ystn@PerCode @ystn_percode
MSもGithubを中心とした開発になっている #devsumiA
Nori Suzuki @szkn27
#devsumiA @yuhattor @yuichielectric によるMicrosoft x GitHubのコラボセッション、ますます進む2社の統合から各社のプラクティスをお届けします! pic.twitter.com/pcfybvrQXu
拡大
拡大
拡大
Shinji Matsumoto @smatsumt
Microsoftが機能をリリースするカルチャー、開発・テスト、リリース・ライブサイト。 カルチャー。 1.カスタマー オブセッション = 顧客志向、より感情的に強い言葉。観察・インタビューをそれぞれ年5000回、計1万回。 2.リーン開発。仮説検証を回す。 #devsumiA
炒瓜(いりうり)@料理好き @freemon97452321
インナーソースと呼ばれる組織内におけるオープンソースの文化、ベストプラクティスの実現を社内で実施 #devsumi #devsumiA
Shinji Matsumoto @smatsumt
これまでの課題。大きな官僚的組織、コラボレーションの低下、モノリシックで大きすぎるソースコード。 そこで「インナーソース」社内でのオープンソース活動。コラボレーションの増加、サイロを壊す。結果、開発者の満足度も向上。 ポイント4つ。発見可能性、実行可能性、貢献性、操作性 #devsumiA
ystn@PerCode @ystn_percode
MSが機能リリースする舞台裏 ・カスタマードリブン ・リーン開発の手法をUXチームが先導 ・インナーソースをGithubで実現 ・社内でOSS開発を進める ・発見可能性/実行可能性/貢献性/操作性 #devsumiA
やまひろ@低音エンジニア @akkiengtw
Microsoft では元々インナーソースで開発していたもので外部に出したものがあるんやね。 #devsumi #devsumiA
炒瓜(いりうり)@料理好き @freemon97452321
インナーソースを実現するポイント ・発言可能性 ・実行可能性 ・貢献制 ・操作性 #devsumi #devsumiA
ystn@PerCode @ystn_percode
MSが機能リリースする舞台裏 ・デプロイを部分的に行わず完全に行う ・初回のみ利用のコマンドなどは入れない ・バグキャップというルールに従う ・エンジニア数*4=28 ・28を超えるバグを起こす負債を抱え続けない #devsumiA
炒瓜(いりうり)@料理好き @freemon97452321
・負債を背負い続けないためのバグキャップと呼ばれるルールに従う ・#(チームのエンジニア数) x 4 ・エンジニア数が7人だったら開発チームが28以上のバグを負債として残さない #devsumi #devsumiA
Shinji Matsumoto @smatsumt
"開発・テスト" デプロイ自動化は「完全」に。コマンドのコピペ実行は危険。 「バグキャップ」ルール。例えばエンジニア数 x 4 以上のバグが溜まったら、新機能開発を止める。 ダッシュボードでバグ数をすぐ見られるように。 #devsumiA
Shinji Matsumoto @smatsumt
(バグキャップはカンバンっぽくもあり、けっこういいプラクティスな気がする) #devsumiA
Shinji Matsumoto @smatsumt
統合テストから単体テストへのシフトレフト。 UIテストなどウェイトがあるものなど、時間がかかるものが多い。短い時間でのフィードバックのため、単体テスト>統合テストとなるようにしていく。 5年前の単体2500、統合26000 から 単体5000、統合6->0 へ。 #devsumiA
炒瓜(いりうり)@料理好き @freemon97452321
Azure DevOpsのチームのデプロイ順番 ・カナリアリリース ・最小の外部データセンター(中東やアフリカ等利用ユーザが少ないクラスタを中心にデプロイ実施) ・最大の外部データセンター ・国際データセンター ・残り全てに適用 #devsumi #devsumiA
ystn@PerCode @ystn_percode
MSが機能リリースする舞台裏 ・統合テストを減らし単体テストをマージ前に増やす ・前者が多いとフィードバックまでの待ちが増える ・Canaryで本番デプロイの追跡 ・フィーチャーフラグでPreview機能を個々のユーザレベルで制御 #devsumiA
Shinji Matsumoto @smatsumt
「フィーチャーフラグ」すべてのコードがあらかじめデプロイ。フィーチャーフラグで機能公開を制御。 「ライブサイト(本番環境) カルチャー」本番環境におけるステータス確認が、フィーチャーチームの最優先事項。フィーチャーチームが最後まで面倒をみる。 #devsumiA
ystn@PerCode @ystn_percode
MSが機能リリースする舞台裏 ・ライブサイトでステータスを確認 #devsumiA
Nori Suzuki @szkn27
GitHubこの1年でめっちゃ機能増えてる #devsumiA pic.twitter.com/uIsrIIIjby
拡大
残りを読む(13)

コメント

コメントがまだありません。感想を最初に伝えてみませんか?

ログインして広告を非表示にする
ログインして広告を非表示にする