継続的品質を探求する

完了

継続的品質は、DevOps 分類の 8 つの機能の 1 つです。

継続的分類が必要な理由を探す

品質および継続的品質が非常に重要である理由の例を考えてみましょう。

日本で採用されている厳格な品質保証計画は、国内の自動車メーカーに影響を与えています。 この計画のために、高い効率と信頼性を備えた自動車の製造で高く評価され、競合他社を引き離しています。

日本の自動車メーカーは、高品質の製品によって他と差別化することで、燃料効率、安全性、製造プロセスにおいてイノベーションを成し遂げました。 品質の向上に起因して不具合の発生率が低くなり、コストも低下しました。 競合他社には追いつくという選択肢しかありませんでした。

では、品質が必要なのはなぜですか。

  • 製品を売るため。
  • コストを削減するため。
  • 競合他社に差をつけるため。

継続的品質の主な利点は次のとおりです。

  • 品質に関する共同責任を促進する、"品質優先" の考え方。
  • 不良品のための頻繁な作業のやり直しによる無駄を削減。
  • 時間経過に伴って品質要件を満たさなくなる技術的負債の削減。
  • 顧客満足の向上。
  • 業務を中断させるインシデントの減少。

開発サイクルのできるだけ早い段階で品質に焦点を当てることで、時間と労力が大幅に節約できます。

コードをマージするのにかかる時間が長くなり、問題が見つかるのが遅くなるほど、修正にかかるコストが増加します。 投資収益率を見てみましょう。

  • 開発フェーズで欠陥が見つかった場合、コストは 5 倍になります。
  • 統合テストで欠陥が見つかった場合、コストは 10 倍になります。
  • ユーザー受け入れテストで欠陥が見つかった場合、コストは 15 倍になります。
  • 製品リリース後に欠陥が見つかった場合、コストは 30 倍になります。

この話の教訓は、できるだけ早く品質に投資すべきということです。

Diagram shows that the cost of remediation increases the later the issues are found.

継続的品質によって品質に関する文化を育む

継続的品質とは、チームが次のことをできるように品質に関する文化を育むことです。

  • 優れたユーザー エクスペリエンスの作成
  • 市場のタイミングに合った機能のビルド
  • アプリケーションの特性の実現 (技術的負債になるよりも早く価値を提供する)

Diagram shows that Continuous Quality includes a quality culture, quality processes, and quality practice.

また、見つけて修正するバグが多いほど品質が向上するという誤った想定に注意することも重要です。

そもそもバグを作らなければバグは見つかりません。 しかし、私たちは人間です。ミスをしてバグを作ります。 自らが作ったバグを修正すれば品質が向上するという考え方を捨てる必要があります。

バグを作るのはだれか、自問してみてください。 製品所有者、ストーリー ライター、設計者、アーキテクト、プログラマ、テスト担当者など...、実際のところ全員です。

継続的品質は、品質に関する文化を育むだけでなく、考え方でもあります。つまり、学んで、毎日最善を尽くして、世界を変えようという意気込みです。

Photo quotes Microsoft CEO Satya Nadella:

継続的品質の考え方:

  • 成長とイノベーションを促進し、品質を追求する行動を可能にし、助長する文化を作ります。
  • 品質は組み込まれるものであり、テストできるものではないことを認識します。
  • 新しい機能よりも品質を優先します。
  • チームワークを奨励します。
  • 成果物に責任を持ちます。
  • テストを横方向にシフトします。

品質保証から継続的品質に移行する

従来の品質保証から継続的品質への変化は重要なパラダイム シフトです。 次の表に 2 つの違いを示しています。

従来の品質保証 継続的品質
理由 システムの分割 システムの改善
何を 機能のチェック システムの理解
担当者 テスト担当者の責任 チーム全体が品質に関与
When 最後にテスト 全体的にテスト
Where QA ステージ すべての場所
方法 問題の検出 問題の回避
Outcome 最小限の品質 品質の向上

継続的品質の課題とリスクに注意してください。

継続的品質 課題とリスク
Icon for organizational silos 組織のサイロ化と従来のトップダウン管理構造によって、導入速度が低下する可能性があります。 これらの課題が克服されるのは、組織が成熟して、必要な文化の変化が組織全体で実現し、DevOps のプラクティスとプロジェクトが成熟したときだけです。
Icon for internal pushback 継続的品質では、すべての利害関係者が参加することと、彼らが抵抗できるように権限を与えることが必要です。 明確でない目標設定や未知に対する恐怖のために、抵抗が発生することもあります。 組織全体で継続的品質の考え方を広める際に、経営陣からのサポートは成功に不可欠です。
Icon for loss of productivity ソフトウェア開発で継続的品質を使用するには、役割の責任の変更と、組織の文化の変化が必要です。 これらの変更にはかなりの投資と時間が必要になるため、高度なレベルに到達するまでは、タイムラインに影響し、生産性の低下を引き起こします。 また、デジタル システムの品質は向上します。
Icon for tools and technology ツールとテクノロジは継続的品質の実現に欠かせませんが、把握した問題にテクノロジを適用するだけでは、解決を望むことはできません。 ツールによってプロセスが自動化されて促進されますが、継続的品質では組織の文化の変化が必要です。 プロセスがない場合は、ベンダーのプロセスが役に立つように願ってください。
Icon for testing 継続的品質は、新しいコラボレーションおよびコミュニケーション モデルを使用し、品質の共同責任を推進することによって、広範な組織にとって改革の手段になる可能性があります。 ただし、継続的インテグレーションやテストのみに技術的に注目しているだけでは、組織は望んでいる利点を実現できません。
Icon for failure to measure 測定は不可欠ですが、1 つの品質のメトリックに重点を置くと、他の企業目標またはお客様の満足度さえも犠牲にして、そのメトリックの改善を従業員が追求することになりかねません。 組織が継続的品質の意味を認識していない場合、それを理解しようとする間に、間違ったスタートを何回も経験する可能性があります。早い段階で成功できないことにより、組織は、継続的品質によってもたらされる、文化やコラボレーションの有益な変化を追求することを止めてしまうかもしれません。