ソフトウェア開発に合わせたSDCAサイクルのSysDCAサイクルへの改変

 品質改善サイクルの著名なものの一つに、SDCAサイクルがあります。
 SDCAサイクルは、改善手段として標準化を活用するための改善サイクルです。PDCAサイクルの応用例の一つです。次の4つのフェーズを繰り返して改善します。

  • Standardize(標準化)。プロセス化、手順化で、良い方法を標準化する
  • Do(実行)。標準化された手順に従って活動を進める
  • Check(評価)。標準が適切に遂行されているか、標準が効果を発揮しているか評価する
  • Act(改善)。評価結果に基づいて改善を実施する

 SDCAサイクルは、主にハードウェアの開発・製造で活用されます。ランダム故障を減らし、品質のバラツキを抑えるために、標準化を活用します。

SDCAサイクル(SysDCAサイクル)

 モダンなソフトウェア開発の場合、前述のSDCAサイクルの標準化は、仕組み化に改変した方が都合が良いと感じます。
 ここでいう仕組み化は、プロセスによる仕組み化、体制による仕組み化、自動化、ツールの支援確保で実現します。例えば手作業を、自動化の仕組み(例えばCI/CDデプロイメントパイプライン)に移管して、開発の正確性や効率性を高める、といったことを行います。標準化との違いは、次の3点になります。

  • 目的を標準化に限定せず、活動をよりよくする仕組み全般を整備して労力を減らすことを目指す
  • 仕組みで手作業をなくすことも奨励する
  • 目的だけでなく、手段(自動化技術やツールチェーンの構築など)の蓄積・整備にもフォーカスをあてる

 仕組み化への改変の理由は、手順書・ガイドラインを文書化して作業者を従わせるイメージより、上記のように手段の充実で楽をするイメージの方が、今のソフトウェア開発で好まれますし、成果も引き出しやすいためです。

 そのため、現在のソフトウェア開発では、SDCAサイクルのSをSystematize(仕組み化)に置き換えたSDCAサイクル(あるいはSysDCAサイクル)の方が、より適切だと考えます。
 このSDCA(SysDCA)サイクルは、次のフェーズを繰り返して、仕組みの蓄積・整備を行う形になります。

  • Systematize(仕組み化)。プロセス、体制、開発インフラ、ツール支援で、活動をよりよくする仕組みを構築・改良する
  • Do(実行)。仕組みのサポートを受けながら活動を進める
  • Check(評価)。活動が適切に実行されているか、仕組みが効果を発揮しているか評価する
  • Act(改善)。評価結果に基づいて改善を実施する