【しふとれふと】

シフトレフト とは?

💡 「問題は早く見つけるほど安く直せる」を仕組みにする考え方
📌 このページのポイント
シフトレフトの考え方 従来型 要件 設計 開発 テスト リリース バグ発見が遅い! ← シフトレフト シフトレフト型 要件 +テスト計画 設計 +レビュー 開発 +自動テスト テスト リリース バグ修正コスト 早期: 安い 中期: やや高い 後期: 非常に高い テストやセキュリティ対策を早い段階に移す = シフトレフト
シフトレフトはテストやセキュリティを開発の早い段階に組み込み、手戻りコストを削減する考え方
ひよこ ひよこ

シフトレフトの「左」って何が左なの?

ペンギン先生 ペンギン先生

ソフトウェア開発の工程を左から右に並べると「企画→設計→実装→テスト→リリース→運用」になる。従来はテストやセキュリティチェックが右側(後半)に集中していた。これを左側(前半)に移動させるからシフトレフト。早い段階で問題を見つけようという考え方だね。

ひよこ ひよこ

なんで早く見つけた方がいいの?

ペンギン先生 ペンギン先生

IBMの調査によると、リリース後に見つかったバグの修正コストは設計段階の100倍になることもある。早い段階なら「この1行を直すだけ」で済むのが、リリース後だとデータ移行・顧客対応・緊急パッチ配布まで必要になる。「問題発見が1工程遅れるごとにコストが10倍」と覚えておくといい。

ひよこ ひよこ

具体的にどうやってシフトレフトするの?

ペンギン先生 ペンギン先生

代表的なのはCI/CDパイプラインに自動テストを組み込むこと。プルリクエストを出した瞬間にユニットテスト・静的解析・セキュリティスキャンが自動で走る。コードレビューでの設計チェックもシフトレフトの一種。TDDは究極のシフトレフトで、実装前にテストを書く。

ひよこ ひよこ

テスト以外にもシフトレフトできるの?

ペンギン先生 ペンギン先生

できる。セキュリティのシフトレフトがDevSecOps、パフォーマンスのシフトレフトが負荷テストの早期実施、ドキュメントのシフトレフトがAPI設計ファーストなど。最近は「あらゆる品質活動を前倒しする」という広い意味で使われるようになっている。

ひよこ ひよこ

シフトレフトすると開発が遅くならない?最初からテストもセキュリティもやるなんて大変そう…

ペンギン先生 ペンギン先生

最初は確かに工数が増えたように感じる。でも後工程での手戻り・緊急対応・修正作業が激減するから、トータルの開発速度は上がる。「最初に30分かけてテストを書く」vs「リリース後に3日かけてバグ修正」なら前者の方が圧倒的に効率的だよね。

ひよこ ひよこ

シフトレフトの反対ってあるの?

ペンギン先生 ペンギン先生

「シフトライト」がある。これは本番環境でのテスト・監視を強化する考え方。カナリアリリースA/Bテスト、本番でのカオスエンジニアリングなどが該当する。シフトレフトで早期に問題を防ぎつつ、シフトライトで本番でしかわからない問題にも対応する。両方組み合わせるのが理想的なアプローチだね。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
シフトレフトって出てきたら「テストやセキュリティを開発の早い段階に前倒しして問題を早く見つける考え方」と思えばだいたいOK!
📖 おまけ:英語の意味
「Shift Left」 = 左にずらす
💬 開発工程を左から右への時間軸で図示したとき、テスト工程を「左(早い段階)」にシフトすることから
← 用語集にもどる