Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SET活動のすすめ.pdf

urahiroshi
September 18, 2018
1.4k

 SET活動のすすめ.pdf

urahiroshi

September 18, 2018
Tweet

Transcript

  1. Mercari Frontend SETがやっていること - (今日は話しません)開発環境の構築、本番環境へのフィードバック - 開発環境の運用・トラブルシューティング - ビルド・デプロイ処理の修正 -

    フロントエンドチームの生産性向上・品質向上への取り組み - CI・開発プロセスの改善 - 外部ツールの導入・検証 - テスト・リファクタリング
  2. 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)
  3. 外部ツールの導入・検証 - Sentry - エラートラッキングツール - エンドユーザーのブラウザ上で発生したエラー情報の収集、管理 - Codecov -

    CIでのユニットテストカバレッジを収集・可視化するツール - 対象のディレクトリのカバレッジが下がったら Pull RequestをNGとするなど - Renovate - npm packageの自動更新ツール。 package更新用のPull Requestを作成してくれる - 運用ルール(どういう時にPull Requestをマージするかなど )も定めて開発に組み込む
  4. テスト・リファクタリング - ユニットテストのセットアップ - テストがないプロジェクトでも、空のテストを作って CIで動かす - ユニットテストカバレッジの目標設定 (Codecov) -

    自動E2Eテストの検討 - ユニットテストでカバーしきれない箇所、手動テストで毎回確認するような箇所の E2Eテスト化を検 討 - ユニットテストに比べて環境構築や実装コストも高いので注意 - リファクタリング - コードのリファクタリング - 不要コードの削除 - Node.jsやパッケージのバージョンアップ - どう検証するかを含めて考える
  5. SET活動をするには - 「機能に対する実装やバグ修正を行わない」という制約をつけるだけ - SETというロールがなくても、個人やチームで意識的にこのような日を作っても良い のでは - 例) - (チームで)

    週ごとにSET担当をローテーションする - (チームで) 月に1回は特定の日は機能に対する実装やバグ修正を行わない日にする - (個人で) 金曜日はSET活動に時間を費やす
  6. SET活動のメリット - エンジニア自身のメリット - 視点を変えることで、これまでとは異なるアプローチの解決策を考えるようになる - 例) バグが出た時に、バグを修正することだけでなく、バグを事前に検出する方法について考 えるなど -

    新しいスキルセットが身につく - スケジュール駆動開発で傷ついた心を浄化する - 組織的なメリット - 開発・運用プロセスの改善は、組織の強みになる - 開発プロセスの問題をすくい上げられる - 問題に気づいた人=対応する人ではない - 問題に気づいた時に、その対処について相談できるメンバーがいる => やるしかない!!!