【しふとれふと】
シフトレフト とは?
💡 「問題は早く見つけるほど安く直せる」を仕組みにする考え方
📌 このページのポイント
- 開発工程を左(企画・設計)→右(テスト・リリース)と並べたとき、チェックを左に移動させる
- バグや脆弱性を早期に発見することで修正コストを大幅に削減できる
- CI/CDパイプラインでの自動テスト・静的解析・セキュリティスキャンが代表的な実践
- テスト領域だけでなくセキュリティ(DevSecOps)やパフォーマンス領域にも適用される
シフトレフトの「左」って何が左なの?
なんで早く見つけた方がいいの?
具体的にどうやってシフトレフトするの?
代表的なのはCI/CDパイプラインに自動テストを組み込むこと。プルリクエストを出した瞬間にユニットテスト・静的解析・セキュリティスキャンが自動で走る。コードレビューでの設計チェックもシフトレフトの一種。TDDは究極のシフトレフトで、実装前にテストを書く。
テスト以外にもシフトレフトできるの?
シフトレフトすると開発が遅くならない?最初からテストもセキュリティもやるなんて大変そう…
シフトレフトの反対ってあるの?
「シフトライト」がある。これは本番環境でのテスト・監視を強化する考え方。カナリアリリースやA/Bテスト、本番でのカオスエンジニアリングなどが該当する。シフトレフトで早期に問題を防ぎつつ、シフトライトで本番でしかわからない問題にも対応する。両方組み合わせるのが理想的なアプローチだね。
まとめ:ざっくりこれだけ覚えればOK!
シフトレフトって出てきたら「テストやセキュリティを開発の早い段階に前倒しして問題を早く見つける考え方」と思えばだいたいOK!
📖 おまけ:英語の意味
「Shift Left」 = 左にずらす
💬 開発工程を左から右への時間軸で図示したとき、テスト工程を「左(早い段階)」にシフトすることから