シフトレフトとは何か?3分で理解する

IT知識全般

アジャイル開発やDevOpsの台頭により、近年よく聞くようになったシフトレフト(Shift-left)とう言葉、どんな意味か理解してますでしょうか??

今回は、このシフトレフト(Shift-left)とは何か?3分で理解する為の説明です。

シフトレフト(Shift-left)とは一言で言うと

シフトレフト(Shift-left)とは一言で言うと、開発サイクルの中でテストの工程を前倒しして行うことです。つまり「早め早めに、頻繁にテストを行う」みたいな感じです。

逆に、シフトライト(Shift-right)という言葉もあり、こちらはテストを、後ろの方で行うことを意味しますが、単に後ろでやるということではなく、リリース後も継続的にテストを行うという意味が含まれています。

アジャイル開発の台頭により、短い期間で頻繁にリリースすることが多くなった昨今、このシフトレフトの概念が注目されてきました。

シフトレフトの具体的なアプローチは?

シフトレフトの概念はわかったけど、じゃあ具体的に何をしたらいいの??という場合、明確な定義はありませんが、様々なWEB上の記事に書かれている内容をまとめると、例えば以下のようなアプローチが考えられRます。

  • 開発チームのコード規約を作る
  • 静的コード解析ツールの導入
  • 開発ライフサイクルの初期段階で小さな機能単位で結合テストが行えるようなテスト計画の作成
  • テスト自動化ツールの導入
  • ユーザーストーリーのレビュー
  • 要件・仕様書などのドキュメントレビュー

以上のようなアプローチがシフトレフトのアプローチとして考えられます。

というわけで、今回はシフトレフトとは何か?を3分で理解する説明でしたー

参考文献

シフトレフト・ライトのテストアプローチで何ができる?

新規開発におけるシフトレフトアプローチ

shift-right testing