Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SET活動のすすめ.pdf
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
urahiroshi
September 18, 2018
1.6k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SET活動のすすめ.pdf
urahiroshi
September 18, 2018
More Decks by urahiroshi
See All by urahiroshi
組織拡大でカルチャー崩壊を防ぐためにできること
urahiroshi
0
600
プロダクトのスケールによって顕在化しうるリスクをどう管理するか?
urahiroshi
9
6.9k
Mercari_Frontend_CircleCI.pdf
urahiroshi
2
2.7k
Node Security Platform, nsp, npm audit @roppongi.js#3
urahiroshi
1
1k
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
So, you think you're a good person
axbom
PRO
2
2.1k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Git: the NoSQL Database
bkeepers
PRO
432
67k
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
150
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Building AI with AI
inesmontani
PRO
1
1.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
970
Transcript
SET活動のすすめ Mercari Frontend SET @urahiroshi (Hiroshi Urayama)
このスライドの趣旨 - MercariのFrontendチームにはSET(Software Engineer in Test)というロールのエ ンジニアがいる - SETは、チームの生産性向上・品質向上のための取り組みを行なっている(≒カイ ゼン活動)
- SETの活動を紹介し、このような活動を取り入れる仕組みを作ることを提案する
Mercari Frontend SETがやっていること - (今日は話しません)開発環境の構築、本番環境へのフィードバック - 開発環境の運用・トラブルシューティング - ビルド・デプロイ処理の修正 -
フロントエンドチームの生産性向上・品質向上への取り組み - CI・開発プロセスの改善 - 外部ツールの導入・検証 - テスト・リファクタリング
CI・開発プロセスの改善 - CircleCI - CIのセットアップ - Lint, テスト, ビルド処理(gulp, webpack,
tsc, etc...)の確認など - 自動化されていないテストを許さない - ビルド処理がエラーにならないことを確認する - CIの高速化 - キャッシュを使う - ジョブの並列化 - 最適なDockerイメージの選択(gitなどのインストール時間を省く ) - CIのジョブ追加 - pushごとにstorybookをデプロイする - (for application) developブランチにマージされたら開発環境にデプロイする - (for package) masterブランチにマージされたら npm private registryにpublishする - (ブログも書いています : https://tech.mercari.com/entry/2018/08/20/104435)
CI・開発プロセスの改善 - GitHubの設定 - Protected branch設定 - 開発プロセスに適した設定を行う - CI通らないとマージ不可、特定のメンバーしかマージ不可、レビュー必須にするなど
- Issue, PullRequestテンプレートの作成 - Slack連携 - Issue, Pull Requestの通知
CI・開発プロセスの改善 - CIで使うnpm package作成 - Slack投稿するツール - storybookのデプロイ用にファイルをアップロードするツール - npm
publishしてgit tagつけるツール
外部ツールの導入・検証 - Sentry - エラートラッキングツール - エンドユーザーのブラウザ上で発生したエラー情報の収集、管理 - Codecov -
CIでのユニットテストカバレッジを収集・可視化するツール - 対象のディレクトリのカバレッジが下がったら Pull RequestをNGとするなど - Renovate - npm packageの自動更新ツール。 package更新用のPull Requestを作成してくれる - 運用ルール(どういう時にPull Requestをマージするかなど )も定めて開発に組み込む
テスト・リファクタリング - ユニットテストのセットアップ - テストがないプロジェクトでも、空のテストを作って CIで動かす - ユニットテストカバレッジの目標設定 (Codecov) -
自動E2Eテストの検討 - ユニットテストでカバーしきれない箇所、手動テストで毎回確認するような箇所の E2Eテスト化を検 討 - ユニットテストに比べて環境構築や実装コストも高いので注意 - リファクタリング - コードのリファクタリング - 不要コードの削除 - Node.jsやパッケージのバージョンアップ - どう検証するかを含めて考える
SET活動をするには - 「機能に対する実装やバグ修正を行わない」という制約をつけるだけ - SETというロールがなくても、個人やチームで意識的にこのような日を作っても良い のでは - 例) - (チームで)
週ごとにSET担当をローテーションする - (チームで) 月に1回は特定の日は機能に対する実装やバグ修正を行わない日にする - (個人で) 金曜日はSET活動に時間を費やす
SET活動のメリット - エンジニア自身のメリット - 視点を変えることで、これまでとは異なるアプローチの解決策を考えるようになる - 例) バグが出た時に、バグを修正することだけでなく、バグを事前に検出する方法について考 えるなど -
新しいスキルセットが身につく - スケジュール駆動開発で傷ついた心を浄化する - 組織的なメリット - 開発・運用プロセスの改善は、組織の強みになる - 開発プロセスの問題をすくい上げられる - 問題に気づいた人=対応する人ではない - 問題に気づいた時に、その対処について相談できるメンバーがいる => やるしかない!!!
宣伝 2018 10/04 (木) Mercari Tech Conf 2018やります! https://techconf.mercari.com/
Thank you!